@rpg-engine/long-bow 0.3.97 → 0.3.99

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 (173) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/Spellbook/Spell.d.ts +4 -4
  4. package/dist/components/Spellbook/Spellbook.d.ts +2 -2
  5. package/dist/components/Spellbook/cards/MobileSpellTooltip.d.ts +15 -0
  6. package/dist/components/Spellbook/cards/SpellInfo.d.ts +7 -0
  7. package/dist/components/Spellbook/cards/SpellInfoDisplay.d.ts +7 -0
  8. package/dist/components/Spellbook/cards/SpellInfoWrapper.d.ts +9 -0
  9. package/dist/components/Spellbook/cards/SpellTooltip.d.ts +6 -0
  10. package/dist/components/Spellbook/mockSpells.d.ts +2 -2
  11. package/dist/libs/CastingTypeHelper.d.ts +1 -0
  12. package/dist/long-bow.cjs.development.js +1424 -1210
  13. package/dist/long-bow.cjs.development.js.map +1 -1
  14. package/dist/long-bow.cjs.production.min.js +1 -1
  15. package/dist/long-bow.cjs.production.min.js.map +1 -1
  16. package/dist/long-bow.esm.js +1447 -1233
  17. package/dist/long-bow.esm.js.map +1 -1
  18. package/dist/stories/SpellInfoDisplay.stories.d.ts +8 -0
  19. package/package.json +100 -100
  20. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  21. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  22. package/src/components/Arrow/SelectArrow.tsx +69 -69
  23. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  24. package/src/components/Arrow/img/arrow01-left.png +0 -0
  25. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  26. package/src/components/Arrow/img/arrow01-right.png +0 -0
  27. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  28. package/src/components/Arrow/img/arrow02-left.png +0 -0
  29. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  30. package/src/components/Arrow/img/arrow02-right.png +0 -0
  31. package/src/components/Button.tsx +40 -40
  32. package/src/components/Character/CharacterSelection.tsx +98 -98
  33. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  34. package/src/components/Chat/Chat.tsx +196 -196
  35. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  36. package/src/components/CheckButton.tsx +65 -65
  37. package/src/components/CircularController/CircularController.tsx +282 -282
  38. package/src/components/CraftBook/CraftBook.tsx +286 -286
  39. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  40. package/src/components/CraftBook/MockItems.ts +101 -101
  41. package/src/components/DraggableContainer.tsx +180 -180
  42. package/src/components/DropdownSelectorContainer.tsx +42 -42
  43. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  44. package/src/components/HistoryDialog.tsx +104 -104
  45. package/src/components/Input.tsx +15 -15
  46. package/src/components/InputRadio.tsx +41 -41
  47. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  48. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  49. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  50. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  51. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  52. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  53. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  54. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  55. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  56. package/src/components/Item/Inventory/ItemSlot.tsx +580 -580
  57. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  58. package/src/components/ListMenu.tsx +63 -63
  59. package/src/components/Marketplace/Marketplace.tsx +132 -132
  60. package/src/components/Marketplace/MarketplaceRows.tsx +171 -171
  61. package/src/components/Marketplace/__mocks__/index.tsx +65 -65
  62. package/src/components/Multitab/Tab.tsx +66 -66
  63. package/src/components/Multitab/TabBody.tsx +13 -13
  64. package/src/components/Multitab/TabsContainer.tsx +97 -97
  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/ProgressBar.tsx +95 -92
  70. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  71. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  72. package/src/components/QuestList.tsx +135 -135
  73. package/src/components/RPGUIContainer.tsx +47 -47
  74. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  75. package/src/components/RPGUIRoot.tsx +14 -14
  76. package/src/components/RadioButton.tsx +53 -53
  77. package/src/components/RadioInput/RadioButton.tsx +96 -96
  78. package/src/components/RadioInput/RadioInput.tsx +102 -102
  79. package/src/components/RadioInput/instruments.ts +15 -15
  80. package/src/components/RangeSlider.tsx +78 -78
  81. package/src/components/RelativeListMenu.tsx +90 -90
  82. package/src/components/ScrollList.tsx +79 -79
  83. package/src/components/Shortcuts/Shortcuts.tsx +193 -192
  84. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  85. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  86. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  87. package/src/components/SimpleProgressBar.tsx +62 -62
  88. package/src/components/SkillProgressBar.tsx +133 -133
  89. package/src/components/SkillsContainer.tsx +220 -206
  90. package/src/components/Spellbook/Spell.tsx +236 -226
  91. package/src/components/Spellbook/Spellbook.tsx +161 -158
  92. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -0
  93. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -0
  94. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -0
  95. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -0
  96. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -0
  97. package/src/components/Spellbook/constants.ts +8 -8
  98. package/src/components/Spellbook/mockSpells.ts +85 -60
  99. package/src/components/StaticBook/StaticBook.tsx +103 -103
  100. package/src/components/TextArea.tsx +11 -11
  101. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  102. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  103. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  104. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  105. package/src/components/TradingMenu/items.mock.ts +48 -48
  106. package/src/components/Truncate.tsx +25 -25
  107. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  108. package/src/components/shared/Column.tsx +16 -16
  109. package/src/components/shared/Ellipsis.tsx +68 -68
  110. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  111. package/src/components/typography/DynamicText.tsx +49 -49
  112. package/src/constants/uiColors.ts +20 -20
  113. package/src/constants/uiDevices.ts +3 -3
  114. package/src/constants/uiFonts.ts +12 -12
  115. package/src/hooks/useEventListener.ts +21 -21
  116. package/src/hooks/useOutsideAlerter.ts +25 -25
  117. package/src/index.tsx +42 -42
  118. package/src/libs/CastingTypeHelper.ts +8 -0
  119. package/src/libs/StringHelpers.ts +3 -3
  120. package/src/libs/itemCounter.ts +21 -21
  121. package/src/mocks/atlas/entities/entities.json +20215 -20215
  122. package/src/mocks/atlas/icons/icons.json +735 -735
  123. package/src/mocks/atlas/items/items.json +12086 -12086
  124. package/src/mocks/equipmentSet.mocks.ts +391 -391
  125. package/src/mocks/itemContainer.mocks.ts +605 -605
  126. package/src/mocks/skills.mocks.ts +128 -128
  127. package/src/stories/Arrow.stories.tsx +26 -26
  128. package/src/stories/Button.stories.tsx +36 -36
  129. package/src/stories/CharacterSelection.stories.tsx +44 -44
  130. package/src/stories/CharacterStatus.stories.tsx +29 -29
  131. package/src/stories/Chat.stories.tsx +187 -187
  132. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  133. package/src/stories/CheckButton.stories.tsx +48 -48
  134. package/src/stories/CircullarController.stories.tsx +37 -37
  135. package/src/stories/CraftBook.stories.tsx +42 -42
  136. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  137. package/src/stories/DraggableContainer.stories.tsx +28 -28
  138. package/src/stories/Dropdown.stories.tsx +46 -46
  139. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  140. package/src/stories/EquipmentSet.stories.tsx +65 -65
  141. package/src/stories/HistoryDialog.stories.tsx +61 -61
  142. package/src/stories/ItemContainer.stories.tsx +201 -201
  143. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  144. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  145. package/src/stories/ItemSelector.stories.tsx +77 -77
  146. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  147. package/src/stories/ListMenu.stories.tsx +56 -56
  148. package/src/stories/Marketplace.stories.tsx +42 -42
  149. package/src/stories/MarketplaceRows.stories.tsx +28 -28
  150. package/src/stories/Multitab.stories.tsx +51 -51
  151. package/src/stories/NPCDialog.stories.tsx +130 -130
  152. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  153. package/src/stories/ProgressBar.stories.tsx +23 -23
  154. package/src/stories/PropertySelect.stories.tsx +40 -40
  155. package/src/stories/QuestInfo.stories.tsx +107 -107
  156. package/src/stories/QuestList.stories.tsx +82 -82
  157. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  158. package/src/stories/RadioButton.stories.tsx +49 -49
  159. package/src/stories/RadioInput.stories.tsx +34 -34
  160. package/src/stories/RangeSlider.stories.tsx +64 -64
  161. package/src/stories/ScrollList.stories.tsx +85 -85
  162. package/src/stories/Shortcuts.stories.tsx +39 -39
  163. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  164. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  165. package/src/stories/SkillsContainer.stories.tsx +35 -35
  166. package/src/stories/SpellInfoDisplay.stories.tsx +27 -0
  167. package/src/stories/Spellbook.stories.tsx +104 -104
  168. package/src/stories/StaticBook.stories.tsx +32 -32
  169. package/src/stories/Text.stories.tsx +42 -42
  170. package/src/stories/TimeWidget.stories.tsx +27 -27
  171. package/src/stories/TradingMenu.stories.tsx +47 -47
  172. package/src/types/eventTypes.ts +4 -4
  173. 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';
@@ -14588,704 +14588,375 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14588
14588
  componentId: "sc-1wuddg2-1"
14589
14589
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14590
14590
 
14591
- var SlotsContainer = function SlotsContainer(_ref) {
14592
- var children = _ref.children,
14593
- title = _ref.title,
14594
- onClose = _ref.onClose,
14595
- _onPositionChange = _ref.onPositionChange,
14596
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
14597
- _onPositionChangeStart = _ref.onPositionChangeStart,
14598
- onOutsideClick = _ref.onOutsideClick,
14599
- initialPosition = _ref.initialPosition,
14600
- scale = _ref.scale;
14601
- return React.createElement(DraggableContainer, {
14602
- title: title,
14603
- type: RPGUIContainerTypes.Framed,
14604
- onCloseButton: function onCloseButton() {
14605
- if (onClose) {
14606
- onClose();
14607
- }
14608
- },
14609
- width: "400px",
14610
- cancelDrag: ".item-container-body, #shortcuts_list",
14611
- onPositionChange: function onPositionChange(_ref2) {
14612
- var x = _ref2.x,
14613
- y = _ref2.y;
14614
- if (_onPositionChange) {
14615
- _onPositionChange({
14616
- x: x,
14617
- y: y
14618
- });
14619
- }
14620
- },
14621
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14622
- var x = _ref3.x,
14623
- y = _ref3.y;
14624
- if (_onPositionChangeEnd) {
14625
- _onPositionChangeEnd({
14626
- x: x,
14627
- y: y
14628
- });
14591
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
14592
+
14593
+ var chunkString = function chunkString(str, length) {
14594
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
14595
+ };
14596
+
14597
+ var DynamicText = function DynamicText(_ref) {
14598
+ var text = _ref.text,
14599
+ onFinish = _ref.onFinish,
14600
+ onStart = _ref.onStart;
14601
+ var _useState = useState(''),
14602
+ textState = _useState[0],
14603
+ setTextState = _useState[1];
14604
+ useEffect(function () {
14605
+ var i = 0;
14606
+ var interval = setInterval(function () {
14607
+ // on every interval, show one more character
14608
+ if (i === 0) {
14609
+ if (onStart) {
14610
+ onStart();
14611
+ }
14629
14612
  }
14630
- },
14631
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
14632
- var x = _ref4.x,
14633
- y = _ref4.y;
14634
- if (_onPositionChangeStart) {
14635
- _onPositionChangeStart({
14636
- x: x,
14637
- y: y
14638
- });
14613
+ if (i < text.length) {
14614
+ setTextState(text.substring(0, i + 1));
14615
+ i++;
14616
+ } else {
14617
+ clearInterval(interval);
14618
+ if (onFinish) {
14619
+ onFinish();
14620
+ }
14639
14621
  }
14640
- },
14641
- onOutsideClick: onOutsideClick,
14642
- initialPosition: initialPosition,
14643
- scale: scale
14644
- }, children);
14622
+ }, 50);
14623
+ return function () {
14624
+ clearInterval(interval);
14625
+ };
14626
+ }, [text]);
14627
+ return React.createElement(TextContainer, null, textState);
14645
14628
  };
14629
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
14630
+ displayName: "DynamicText__TextContainer",
14631
+ componentId: "sc-1ggl9nd-0"
14632
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14646
14633
 
14647
- var RangeSliderType;
14648
- (function (RangeSliderType) {
14649
- RangeSliderType["Slider"] = "rpgui-slider";
14650
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14651
- })(RangeSliderType || (RangeSliderType = {}));
14652
- var RangeSlider = function RangeSlider(_ref) {
14653
- var type = _ref.type,
14654
- valueMin = _ref.valueMin,
14655
- valueMax = _ref.valueMax,
14656
- width = _ref.width,
14657
- _onChange = _ref.onChange,
14658
- value = _ref.value;
14659
- var sliderId = v4();
14660
- var containerRef = useRef(null);
14634
+ var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14635
+
14636
+ 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';
14637
+
14638
+ var NPCDialogText = function NPCDialogText(_ref) {
14639
+ var text = _ref.text,
14640
+ onClose = _ref.onClose,
14641
+ onEndStep = _ref.onEndStep,
14642
+ onStartStep = _ref.onStartStep,
14643
+ type = _ref.type;
14644
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
14645
+ function maxCharacters(width) {
14646
+ // Set the font size to 16 pixels
14647
+ var fontSize = 11.2;
14648
+ // Calculate the number of characters that can fit in one line
14649
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
14650
+ // Calculate the number of lines that can fit in the div
14651
+ var linesPerDiv = Math.floor(180 / fontSize);
14652
+ // Calculate the maximum number of characters that can fit in the div
14653
+ var maxCharacters = charactersPerLine * linesPerDiv;
14654
+ // Return the maximum number of characters
14655
+ return Math.round(maxCharacters / 5);
14656
+ }
14657
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14661
14658
  var _useState = useState(0),
14662
- left = _useState[0],
14663
- setLeft = _useState[1];
14659
+ chunkIndex = _useState[0],
14660
+ setChunkIndex = _useState[1];
14661
+ var onHandleSpacePress = function onHandleSpacePress(event) {
14662
+ if (event.code === 'Space') {
14663
+ goToNextStep();
14664
+ }
14665
+ };
14666
+ var goToNextStep = function goToNextStep() {
14667
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14668
+ if (hasNextChunk) {
14669
+ setChunkIndex(function (prev) {
14670
+ return prev + 1;
14671
+ });
14672
+ } else {
14673
+ // if there's no more text chunks, close the dialog
14674
+ onClose();
14675
+ }
14676
+ };
14664
14677
  useEffect(function () {
14665
- var _containerRef$current;
14666
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14667
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14668
- }, [value, valueMin, valueMax]);
14669
- var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
14670
- return React.createElement("div", {
14671
- style: {
14672
- width: width,
14673
- position: 'relative'
14678
+ document.addEventListener('keydown', onHandleSpacePress);
14679
+ return function () {
14680
+ return document.removeEventListener('keydown', onHandleSpacePress);
14681
+ };
14682
+ }, [chunkIndex]);
14683
+ var _useState2 = useState(false),
14684
+ showGoNextIndicator = _useState2[0],
14685
+ setShowGoNextIndicator = _useState2[1];
14686
+ return React.createElement(Container$e, null, React.createElement(DynamicText, {
14687
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14688
+ onFinish: function onFinish() {
14689
+ setShowGoNextIndicator(true);
14690
+ onEndStep && onEndStep();
14674
14691
  },
14675
- className: "rpgui-slider-container " + typeClass,
14676
- id: "rpgui-slider-" + sliderId,
14677
- ref: containerRef
14678
- }, React.createElement("div", {
14679
- style: {
14680
- pointerEvents: 'none'
14692
+ onStart: function onStart() {
14693
+ setShowGoNextIndicator(false);
14694
+ onStartStep && onStartStep();
14681
14695
  }
14682
- }, React.createElement("div", {
14683
- className: "rpgui-slider-track " + typeClass
14684
- }), React.createElement("div", {
14685
- className: "rpgui-slider-left-edge " + typeClass
14686
- }), React.createElement("div", {
14687
- className: "rpgui-slider-right-edge " + typeClass
14688
- }), React.createElement("div", {
14689
- className: "rpgui-slider-thumb " + typeClass,
14690
- style: {
14691
- left: left
14696
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
14697
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14698
+ src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14699
+ onPointerDown: function onPointerDown() {
14700
+ goToNextStep();
14692
14701
  }
14693
- })), React.createElement(Input$1, {
14694
- type: "range",
14695
- style: {
14696
- width: width
14697
- },
14698
- min: valueMin,
14699
- max: valueMax,
14700
- onChange: function onChange(e) {
14701
- return _onChange(Number(e.target.value));
14702
- },
14703
- value: value,
14704
- className: "rpgui-cursor-point"
14705
14702
  }));
14706
14703
  };
14707
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
14708
- displayName: "RangeSlider__Input",
14709
- componentId: "sc-v8mte9-0"
14710
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14704
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14705
+ displayName: "NPCDialogText__Container",
14706
+ componentId: "sc-1cxkdh9-0"
14707
+ })([""]);
14708
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14709
+ displayName: "NPCDialogText__PressSpaceIndicator",
14710
+ componentId: "sc-1cxkdh9-1"
14711
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14712
+ var right = _ref2.right;
14713
+ return right;
14714
+ });
14711
14715
 
14712
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14713
- var quantity = _ref.quantity,
14714
- onConfirm = _ref.onConfirm,
14716
+ //@ts-ignore
14717
+ var useEventListener = function useEventListener(type, handler, el) {
14718
+ if (el === void 0) {
14719
+ el = window;
14720
+ }
14721
+ var savedHandler = React.useRef();
14722
+ React.useEffect(function () {
14723
+ savedHandler.current = handler;
14724
+ }, [handler]);
14725
+ React.useEffect(function () {
14726
+ //@ts-ignore
14727
+ var listener = function listener(e) {
14728
+ return savedHandler.current(e);
14729
+ };
14730
+ el.addEventListener(type, listener);
14731
+ return function () {
14732
+ el.removeEventListener(type, listener);
14733
+ };
14734
+ }, [type, el]);
14735
+ };
14736
+
14737
+ var QuestionDialog = function QuestionDialog(_ref) {
14738
+ var questions = _ref.questions,
14739
+ answers = _ref.answers,
14715
14740
  onClose = _ref.onClose;
14716
- var _useState = useState(quantity),
14717
- value = _useState[0],
14718
- setValue = _useState[1];
14719
- var inputRef = useRef(null);
14720
- useEffect(function () {
14721
- if (inputRef.current) {
14722
- inputRef.current.focus();
14723
- inputRef.current.select();
14724
- var closeSelector = function closeSelector(e) {
14725
- if (e.key === 'Escape') {
14726
- onClose();
14727
- }
14728
- };
14729
- document.addEventListener('keydown', closeSelector);
14730
- return function () {
14731
- document.removeEventListener('keydown', closeSelector);
14732
- };
14733
- }
14734
- return function () {};
14735
- }, []);
14736
- return React.createElement(StyledContainer, {
14737
- type: RPGUIContainerTypes.Framed,
14738
- width: "25rem"
14739
- }, React.createElement(CloseButton$2, {
14740
- className: "container-close",
14741
- onPointerDown: onClose
14742
- }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
14743
- style: {
14744
- width: '100%'
14745
- },
14746
- onSubmit: function onSubmit(e) {
14747
- e.preventDefault();
14748
- var numberValue = Number(value);
14749
- if (Number.isNaN(numberValue)) {
14750
- return;
14751
- }
14752
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14753
- },
14754
- noValidate: true
14755
- }, React.createElement(StyledInput, {
14756
- innerRef: inputRef,
14757
- placeholder: "Enter quantity",
14758
- type: "number",
14759
- min: 1,
14760
- max: quantity,
14761
- value: value,
14762
- onChange: function onChange(e) {
14763
- if (Number(e.target.value) >= quantity) {
14764
- setValue(quantity);
14765
- return;
14766
- }
14767
- setValue(e.target.value);
14768
- },
14769
- onBlur: function onBlur(e) {
14770
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14771
- setValue(newValue);
14741
+ var _useState = useState(questions[0]),
14742
+ currentQuestion = _useState[0],
14743
+ setCurrentQuestion = _useState[1];
14744
+ var _useState2 = useState(false),
14745
+ canShowAnswers = _useState2[0],
14746
+ setCanShowAnswers = _useState2[1];
14747
+ var onGetFirstAnswer = function onGetFirstAnswer() {
14748
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14749
+ return null;
14772
14750
  }
14773
- }), React.createElement(RangeSlider, {
14774
- type: RangeSliderType.Slider,
14775
- valueMin: 1,
14776
- valueMax: quantity,
14777
- width: "100%",
14778
- onChange: setValue,
14779
- value: value
14780
- }), React.createElement(Button, {
14781
- buttonType: ButtonTypes.RPGUIButton,
14782
- type: "submit"
14783
- }, "Confirm")));
14784
- };
14785
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14786
- displayName: "ItemQuantitySelector__StyledContainer",
14787
- componentId: "sc-yfdtpn-0"
14788
- })(["display:flex;flex-direction:column;align-items:center;"]);
14789
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
14790
- displayName: "ItemQuantitySelector__StyledForm",
14791
- componentId: "sc-yfdtpn-1"
14792
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14793
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14794
- displayName: "ItemQuantitySelector__StyledInput",
14795
- componentId: "sc-yfdtpn-2"
14796
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14797
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14798
- displayName: "ItemQuantitySelector__CloseButton",
14799
- componentId: "sc-yfdtpn-3"
14800
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
14801
-
14802
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
14803
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14804
- settingShortcutIndex = _ref.settingShortcutIndex,
14805
- shortcuts = _ref.shortcuts,
14806
- removeShortcut = _ref.removeShortcut,
14807
- atlasJSON = _ref.atlasJSON,
14808
- atlasIMG = _ref.atlasIMG;
14809
- var getContent = function getContent(index) {
14810
- var _shortcuts$index, _shortcuts$index3;
14811
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
14812
- var _shortcuts$index2;
14813
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14814
- if (!_payload) return null;
14815
- return React.createElement(SpriteFromAtlas, {
14816
- atlasIMG: atlasIMG,
14817
- atlasJSON: atlasJSON,
14818
- spriteKey: getItemTextureKeyPath({
14819
- key: _payload.texturePath,
14820
- texturePath: _payload.texturePath,
14821
- stackQty: _payload.stackQty || 1,
14822
- isStackable: _payload.isStackable
14823
- }, atlasJSON),
14824
- width: 32,
14825
- height: 32,
14826
- imgScale: 1.6,
14827
- imgStyle: {
14828
- left: '5px'
14829
- }
14751
+ var firstAnswerId = currentQuestion.answerIds[0];
14752
+ return answers.find(function (answer) {
14753
+ return answer.id === firstAnswerId;
14754
+ });
14755
+ };
14756
+ var _useState3 = useState(onGetFirstAnswer()),
14757
+ currentAnswer = _useState3[0],
14758
+ setCurrentAnswer = _useState3[1];
14759
+ useEffect(function () {
14760
+ setCurrentAnswer(onGetFirstAnswer());
14761
+ }, [currentQuestion]);
14762
+ var onGetAnswers = function onGetAnswers(answerIds) {
14763
+ return answerIds.map(function (answerId) {
14764
+ return answers.find(function (answer) {
14765
+ return answer.id === answerId;
14830
14766
  });
14831
- }
14832
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14833
- return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14834
- return word[0];
14835
- }));
14767
+ });
14836
14768
  };
14837
- return React.createElement(Container$e, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
14838
- id: "shortcuts_list"
14839
- }, Array.from({
14840
- length: 6
14841
- }).map(function (_, i) {
14842
- return React.createElement(Shortcut, {
14843
- key: i,
14844
- onPointerDown: function onPointerDown() {
14845
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14846
- removeShortcut(i);
14847
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
14848
- },
14849
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14850
- isBeingSet: settingShortcutIndex === i,
14851
- id: "shortcutSetter_" + i
14852
- }, getContent(i));
14853
- })));
14854
- };
14855
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14856
- displayName: "ShortcutsSetter__Container",
14857
- componentId: "sc-xuouuf-0"
14858
- })(["p{margin:0;margin-left:0.5rem;}"]);
14859
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
14860
- displayName: "ShortcutsSetter__Shortcut",
14861
- componentId: "sc-xuouuf-1"
14862
- })(["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) {
14863
- var isBeingSet = _ref2.isBeingSet;
14864
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14865
- }, uiColors.darkGray, uiColors.gray);
14866
- var List = /*#__PURE__*/styled.div.withConfig({
14867
- displayName: "ShortcutsSetter__List",
14868
- componentId: "sc-xuouuf-2"
14869
- })(["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;"]);
14870
-
14871
- var ItemContainer$1 = function ItemContainer(_ref) {
14872
- var itemContainer = _ref.itemContainer,
14873
- onClose = _ref.onClose,
14874
- _onMouseOver = _ref.onMouseOver,
14875
- _onSelected = _ref.onSelected,
14876
- onItemClick = _ref.onItemClick,
14877
- type = _ref.type,
14878
- atlasJSON = _ref.atlasJSON,
14879
- atlasIMG = _ref.atlasIMG,
14880
- _ref$disableContextMe = _ref.disableContextMenu,
14881
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14882
- onItemDragEnd = _ref.onItemDragEnd,
14883
- onItemDragStart = _ref.onItemDragStart,
14884
- onItemPlaceDrop = _ref.onItemPlaceDrop,
14885
- _onOutsideDrop = _ref.onOutsideDrop,
14886
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
14887
- initialPosition = _ref.initialPosition,
14888
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14889
- scale = _ref.scale,
14890
- shortcuts = _ref.shortcuts,
14891
- setItemShortcut = _ref.setItemShortcut,
14892
- removeShortcut = _ref.removeShortcut,
14893
- equipmentSet = _ref.equipmentSet,
14894
- isDepotSystem = _ref.isDepotSystem,
14895
- onPositionChangeEnd = _ref.onPositionChangeEnd,
14896
- onPositionChangeStart = _ref.onPositionChangeStart;
14897
- var _useState = useState({
14898
- isOpen: false,
14899
- maxQuantity: 1,
14900
- callback: function callback(_quantity) {}
14901
- }),
14902
- quantitySelect = _useState[0],
14903
- setQuantitySelect = _useState[1];
14904
- var _useState2 = useState(-1),
14905
- settingShortcutIndex = _useState2[0],
14906
- setSettingShortcutIndex = _useState2[1];
14907
- var handleSetShortcut = function handleSetShortcut(item, index) {
14908
- if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
14909
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
14769
+ var onKeyPress = function onKeyPress(e) {
14770
+ switch (e.key) {
14771
+ case 'ArrowDown':
14772
+ // select next answer, if any.
14773
+ // if no next answer, select first answer
14774
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14775
+ // (answer) => answer?.id === currentAnswer!.id + 1
14776
+ // );
14777
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14778
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14779
+ });
14780
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14781
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14782
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
14783
+ });
14784
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14785
+ break;
14786
+ case 'ArrowUp':
14787
+ // select previous answer, if any.
14788
+ // if no previous answer, select last answer
14789
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14790
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14791
+ });
14792
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14793
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14794
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
14795
+ });
14796
+ if (previousAnswer) {
14797
+ setCurrentAnswer(previousAnswer);
14798
+ } else {
14799
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14800
+ }
14801
+ break;
14802
+ case 'Enter':
14803
+ setCanShowAnswers(false);
14804
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14805
+ onClose();
14806
+ return;
14807
+ } else {
14808
+ setCurrentQuestion(questions.find(function (question) {
14809
+ return question.id === currentAnswer.nextQuestionId;
14810
+ }));
14811
+ }
14812
+ break;
14910
14813
  }
14911
14814
  };
14912
- var onRenderSlots = function onRenderSlots() {
14913
- var slots = [];
14914
- for (var i = 0; i < itemContainer.slotQty; i++) {
14915
- var _itemContainer$slots;
14916
- slots.push(React.createElement(ItemSlot, {
14917
- isContextMenuDisabled: disableContextMenu,
14918
- key: i,
14919
- slotIndex: i,
14920
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14921
- itemContainerType: type,
14922
- onMouseOver: function onMouseOver(event, slotIndex, item) {
14923
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14924
- },
14925
- onPointerDown: function onPointerDown(itemType, containerType, item) {
14926
- if (settingShortcutIndex !== -1) {
14927
- setSettingShortcutIndex(-1);
14928
- handleSetShortcut(item, settingShortcutIndex);
14929
- } else if (onItemClick) onItemClick(item, itemType, containerType);
14930
- },
14931
- onSelected: function onSelected(optionId, item) {
14932
- if (_onSelected) _onSelected(optionId, item);
14933
- },
14934
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14935
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14936
- },
14937
- onDragEnd: function onDragEnd(quantity) {
14938
- if (onItemDragEnd) onItemDragEnd(quantity);
14939
- },
14940
- dragScale: scale,
14941
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14942
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14943
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14944
- setQuantitySelect({
14945
- isOpen: true,
14946
- maxQuantity: maxQuantity,
14947
- callback: callback
14948
- });
14949
- },
14950
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14951
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14952
- },
14953
- onOutsideDrop: function onOutsideDrop(item, position) {
14954
- if (_onOutsideDrop) _onOutsideDrop(item, position);
14955
- },
14956
- atlasIMG: atlasIMG,
14957
- atlasJSON: atlasJSON,
14958
- isSelectingShortcut: settingShortcutIndex !== -1,
14959
- equipmentSet: equipmentSet,
14960
- setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
14961
- isDepotSystem: isDepotSystem
14815
+ useEventListener('keydown', onKeyPress);
14816
+ var onAnswerClick = function onAnswerClick(answer) {
14817
+ setCanShowAnswers(false);
14818
+ if (answer.nextQuestionId) {
14819
+ // if there is a next question, go to it
14820
+ setCurrentQuestion(questions.find(function (question) {
14821
+ return question.id === answer.nextQuestionId;
14962
14822
  }));
14823
+ } else {
14824
+ // else, finish dialog!
14825
+ onClose();
14963
14826
  }
14964
- return slots;
14965
- };
14966
- return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
14967
- title: itemContainer.name || 'Container',
14968
- onClose: onClose,
14969
- initialPosition: initialPosition,
14970
- scale: scale,
14971
- onPositionChangeEnd: onPositionChangeEnd,
14972
- onPositionChangeStart: onPositionChangeStart
14973
- }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
14974
- setSettingShortcutIndex: setSettingShortcutIndex,
14975
- settingShortcutIndex: settingShortcutIndex,
14976
- shortcuts: shortcuts,
14977
- removeShortcut: removeShortcut,
14978
- atlasIMG: atlasIMG,
14979
- atlasJSON: atlasJSON
14980
- }), React.createElement(ItemsContainer, {
14981
- className: "item-container-body"
14982
- }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
14983
- quantity: quantitySelect.maxQuantity,
14984
- onConfirm: function onConfirm(quantity) {
14985
- quantitySelect.callback(quantity);
14986
- setQuantitySelect({
14987
- isOpen: false,
14988
- maxQuantity: 1,
14989
- callback: function callback() {}
14990
- });
14991
- },
14992
- onClose: function onClose() {
14993
- quantitySelect.callback(-1);
14994
- setQuantitySelect({
14995
- isOpen: false,
14996
- maxQuantity: 1,
14997
- callback: function callback() {}
14998
- });
14999
- }
15000
- }))));
15001
- };
15002
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15003
- displayName: "ItemContainer__ItemsContainer",
15004
- componentId: "sc-15y5p9l-0"
15005
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15006
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15007
- displayName: "ItemContainer__QuantitySelectorContainer",
15008
- componentId: "sc-15y5p9l-1"
15009
- })(["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);"]);
15010
-
15011
- var ItemSelector = function ItemSelector(_ref) {
15012
- var atlasIMG = _ref.atlasIMG,
15013
- atlasJSON = _ref.atlasJSON,
15014
- options = _ref.options,
15015
- onClose = _ref.onClose,
15016
- onSelect = _ref.onSelect;
15017
- var _useState = useState(),
15018
- selectedValue = _useState[0],
15019
- setSelectedValue = _useState[1];
15020
- var handleClick = function handleClick() {
15021
- var element = document.querySelector("input[name='test']:checked");
15022
- var elementValue = element.value;
15023
- setSelectedValue(elementValue);
15024
14827
  };
15025
- useEffect(function () {
15026
- if (selectedValue) {
15027
- onSelect(selectedValue);
15028
- }
15029
- }, [selectedValue]);
15030
- return React.createElement(DraggableContainer, {
15031
- type: RPGUIContainerTypes.Framed,
15032
- width: "500px",
15033
- cancelDrag: ".equipment-container-body .arrow-selector",
15034
- onCloseButton: function onCloseButton() {
15035
- if (onClose) {
15036
- onClose();
15037
- }
14828
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14829
+ var answerIds = currentQuestion.answerIds;
14830
+ if (!answerIds) {
14831
+ return null;
15038
14832
  }
15039
- }, React.createElement("div", {
15040
- style: {
15041
- width: '100%'
14833
+ var answers = onGetAnswers(answerIds);
14834
+ if (!answers) {
14835
+ return null;
15042
14836
  }
15043
- }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15044
- className: "golden"
15045
- })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15046
- return React.createElement(RadioOptionsWrapper$1, {
15047
- key: index
15048
- }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15049
- atlasIMG: atlasIMG,
15050
- atlasJSON: atlasJSON,
15051
- spriteKey: option.imageKey,
15052
- imgScale: 3
15053
- })), React.createElement("div", null, React.createElement("input", {
15054
- className: "rpgui-radio",
15055
- type: "radio",
15056
- value: option.name,
15057
- name: "test"
15058
- }), React.createElement("label", {
15059
- onPointerDown: handleClick,
15060
- style: {
15061
- display: 'flex',
15062
- alignItems: 'center'
14837
+ return answers.map(function (answer) {
14838
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14839
+ var selectedColor = isSelected ? 'yellow' : 'white';
14840
+ if (answer) {
14841
+ return React.createElement(AnswerRow, {
14842
+ key: "answer_" + answer.id
14843
+ }, React.createElement(AnswerSelectedIcon, {
14844
+ color: selectedColor
14845
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
14846
+ key: answer.id,
14847
+ onPointerDown: function onPointerDown() {
14848
+ return onAnswerClick(answer);
14849
+ },
14850
+ color: selectedColor
14851
+ }, answer.text));
15063
14852
  }
15064
- }, option.name, " ", React.createElement("br", null), option.description)));
15065
- })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15066
- buttonType: ButtonTypes.RPGUIButton,
15067
- onPointerDown: onClose
15068
- }, "Cancel"), React.createElement(Button, {
15069
- buttonType: ButtonTypes.RPGUIButton
15070
- }, "Select")));
15071
- };
15072
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15073
- displayName: "ItemSelector__Title",
15074
- componentId: "sc-gptoxp-0"
15075
- })(["font-size:0.6rem;color:yellow !important;"]);
15076
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15077
- displayName: "ItemSelector__Subtitle",
15078
- componentId: "sc-gptoxp-1"
15079
- })(["font-size:0.4rem;color:yellow !important;"]);
15080
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15081
- displayName: "ItemSelector__RadioInputScroller",
15082
- componentId: "sc-gptoxp-2"
15083
- })(["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;"]);
15084
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15085
- displayName: "ItemSelector__SpriteAtlasWrapper",
15086
- componentId: "sc-gptoxp-3"
15087
- })(["margin-right:40px;"]);
15088
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15089
- displayName: "ItemSelector__RadioOptionsWrapper",
15090
- componentId: "sc-gptoxp-4"
15091
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15092
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15093
- displayName: "ItemSelector__ButtonWrapper",
15094
- componentId: "sc-gptoxp-5"
15095
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15096
-
15097
- var ListMenu = function ListMenu(_ref) {
15098
- var options = _ref.options,
15099
- onSelected = _ref.onSelected,
15100
- x = _ref.x,
15101
- y = _ref.y;
15102
- return React.createElement(Container$f, {
15103
- x: x,
15104
- y: y
15105
- }, React.createElement("ul", {
15106
- className: "rpgui-list-imp",
15107
- style: {
15108
- overflow: 'hidden'
14853
+ return null;
14854
+ });
14855
+ };
14856
+ return React.createElement(Container$f, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
14857
+ text: currentQuestion.text,
14858
+ onStart: function onStart() {
14859
+ return setCanShowAnswers(false);
14860
+ },
14861
+ onFinish: function onFinish() {
14862
+ return setCanShowAnswers(true);
15109
14863
  }
15110
- }, options.map(function (params, index) {
15111
- return React.createElement(ListElement$1, {
15112
- key: (params == null ? void 0 : params.id) || index,
15113
- onPointerDown: function onPointerDown() {
15114
- onSelected(params == null ? void 0 : params.id);
15115
- }
15116
- }, (params == null ? void 0 : params.text) || 'No text');
15117
- })));
14864
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15118
14865
  };
15119
14866
  var Container$f = /*#__PURE__*/styled.div.withConfig({
15120
- displayName: "ListMenu__Container",
15121
- componentId: "sc-i9097t-0"
15122
- })(["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) {
15123
- return props.y || 0;
15124
- }, function (props) {
15125
- return props.x || 0;
15126
- }, uiFonts.size.xsmall);
15127
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15128
- displayName: "ListMenu__ListElement",
15129
- componentId: "sc-i9097t-1"
15130
- })(["margin-right:0.5rem;"]);
15131
-
15132
- var MarketplaceRows = function MarketplaceRows(_ref) {
15133
- var atlasJSON = _ref.atlasJSON,
15134
- atlasIMG = _ref.atlasIMG,
15135
- item = _ref.item,
15136
- itemPrice = _ref.itemPrice,
15137
- equipmentSet = _ref.equipmentSet,
15138
- scale = _ref.scale,
15139
- onHandleClick = _ref.onHandleClick;
15140
- return React.createElement(MarketPlaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15141
- item: item,
15142
- atlasIMG: atlasIMG,
15143
- atlasJSON: atlasJSON,
15144
- equipmentSet: equipmentSet,
15145
- scale: scale
15146
- }, React.createElement(SpriteFromAtlas, {
15147
- atlasIMG: atlasIMG,
15148
- atlasJSON: atlasJSON,
15149
- spriteKey: getItemTextureKeyPath({
15150
- key: item.key,
15151
- stackQty: item.stackQty || 1,
15152
- texturePath: item.texturePath,
15153
- isStackable: item.isStackable
15154
- }, atlasJSON),
15155
- imgScale: 2
15156
- }))), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15157
- maxLines: 1,
15158
- maxWidth: "150px",
15159
- fontSize: "10px"
15160
- }, item.name)))), React.createElement(QuantityContainer, null, React.createElement(QuantityDisplay, null, React.createElement(TextOverlay$1, null, React.createElement(Item$1, null, React.createElement(Ellipsis, {
15161
- maxLines: 1,
15162
- maxWidth: "150px",
15163
- fontSize: "10px"
15164
- }, item.rarity))))), React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(SpriteFromAtlas, {
15165
- atlasIMG: atlasIMG,
15166
- atlasJSON: atlasJSON,
15167
- spriteKey: 'others/gold-coin-qty-4.png',
15168
- imgScale: 2
15169
- })), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15170
- maxLines: 1,
15171
- maxWidth: "150px",
15172
- fontSize: "10px"
15173
- }, "$", itemPrice)))), React.createElement(ButtonContainer$1, null, React.createElement(Button, {
15174
- buttonType: ButtonTypes.RPGUIButton,
15175
- onClick: function onClick() {
15176
- return onHandleClick(item.name);
15177
- }
15178
- }, "Buy")));
15179
- };
15180
- var MarketPlaceWrapper = /*#__PURE__*/styled.div.withConfig({
15181
- displayName: "MarketplaceRows__MarketPlaceWrapper",
15182
- componentId: "sc-wmpr1o-0"
15183
- })(["margin:auto;display:grid;grid-template-columns:35% 20% 20% 25%;&:hover{background-color:", ";}padding:0.5rem;p{font-size:0.8rem;}"], uiColors.darkGray);
15184
- var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15185
- displayName: "MarketplaceRows__ItemIconContainer",
15186
- componentId: "sc-wmpr1o-1"
15187
- })(["display:flex;justify-content:flex-start;align-items:center;"]);
15188
- var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15189
- displayName: "MarketplaceRows__SpriteContainer",
15190
- componentId: "sc-wmpr1o-2"
15191
- })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15192
- var Item$1 = /*#__PURE__*/styled.span.withConfig({
15193
- displayName: "MarketplaceRows__Item",
15194
- componentId: "sc-wmpr1o-3"
15195
- })(["color:white;text-align:center;z-index:1;width:100%;"]);
15196
- var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15197
- displayName: "MarketplaceRows__TextOverlay",
15198
- componentId: "sc-wmpr1o-4"
15199
- })(["width:100%;position:relative;"]);
15200
- var QuantityContainer = /*#__PURE__*/styled.div.withConfig({
15201
- displayName: "MarketplaceRows__QuantityContainer",
15202
- componentId: "sc-wmpr1o-5"
15203
- })(["position:relative;display:flex;min-width:100px;justify-content:center;align-items:center;"]);
15204
- var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
15205
- displayName: "MarketplaceRows__QuantityDisplay",
15206
- componentId: "sc-wmpr1o-6"
15207
- })(["font-size:", ";"], uiFonts.size.small);
15208
- var PriceValue = /*#__PURE__*/styled.div.withConfig({
15209
- displayName: "MarketplaceRows__PriceValue",
15210
- componentId: "sc-wmpr1o-7"
15211
- })(["margin-left:40px;"]);
15212
- var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15213
- displayName: "MarketplaceRows__ButtonContainer",
15214
- componentId: "sc-wmpr1o-8"
15215
- })(["margin:auto;"]);
15216
-
15217
- var Marketplace = function Marketplace(_ref) {
15218
- var items = _ref.items,
15219
- atlasIMG = _ref.atlasIMG,
15220
- atlasJSON = _ref.atlasJSON,
15221
- onClose = _ref.onClose,
15222
- optionsType = _ref.optionsType,
15223
- optionsRarity = _ref.optionsRarity,
15224
- optionsPrice = _ref.optionsPrice,
15225
- onChangeType = _ref.onChangeType,
15226
- onChangeRarity = _ref.onChangeRarity,
15227
- onChangeOrder = _ref.onChangeOrder,
15228
- onChangeNameInput = _ref.onChangeNameInput,
15229
- scale = _ref.scale,
15230
- equipmentSet = _ref.equipmentSet,
15231
- onHandleClick = _ref.onHandleClick;
15232
- return React.createElement(DraggableContainer, {
15233
- type: RPGUIContainerTypes.Framed,
15234
- onCloseButton: function onCloseButton() {
15235
- if (onClose) onClose();
15236
- },
15237
- width: "800px",
15238
- cancelDrag: "#MarketContainer",
15239
- scale: scale
15240
- }, React.createElement(React.Fragment, null, React.createElement(InputWrapper, null, React.createElement("p", null, " Search By Name"), React.createElement(Input, {
15241
- onChange: onChangeNameInput,
15242
- placeholder: 'Search...'
15243
- })), React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
15244
- options: optionsType,
15245
- onChange: onChangeType,
15246
- width: '220px'
15247
- }), React.createElement(StyledDropdown, {
15248
- options: optionsRarity,
15249
- onChange: onChangeRarity,
15250
- width: '220px'
15251
- }), React.createElement(StyledDropdown, {
15252
- options: optionsPrice,
15253
- onChange: onChangeOrder,
15254
- width: '220px'
15255
- })), React.createElement(ItemComponentScrollWrapper, {
15256
- id: "MarketContainer"
15257
- }, items == null ? void 0 : items.map(function (item, index) {
15258
- return React.createElement(MarketplaceRows, {
15259
- key: item.key + "_" + index,
15260
- atlasIMG: atlasIMG,
15261
- atlasJSON: atlasJSON,
15262
- item: item,
15263
- itemPrice: 10,
15264
- equipmentSet: equipmentSet,
15265
- onHandleClick: onHandleClick
15266
- });
15267
- }))));
15268
- };
15269
- var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15270
- displayName: "Marketplace__InputWrapper",
15271
- componentId: "sc-h904b1-0"
15272
- })(["width:95%;display:flex;justify-content:flex-start;align-items:center;margin:auto;margin-bottom:10px;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15273
- var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15274
- displayName: "Marketplace__WrapperContainer",
15275
- componentId: "sc-h904b1-1"
15276
- })(["display:grid;grid-template-columns:30% 30% 30%;justify-content:space-between;width:90%;margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
15277
- var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15278
- displayName: "Marketplace__ItemComponentScrollWrapper",
15279
- componentId: "sc-h904b1-2"
15280
- })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;"]);
15281
- var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15282
- displayName: "Marketplace__StyledDropdown",
15283
- componentId: "sc-h904b1-3"
15284
- })(["margin:3px !important;width:170px !important;"]);
14867
+ displayName: "QuestionDialog__Container",
14868
+ componentId: "sc-bxc5u0-0"
14869
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14870
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14871
+ displayName: "QuestionDialog__QuestionContainer",
14872
+ componentId: "sc-bxc5u0-1"
14873
+ })(["flex:100%;width:100%;"]);
14874
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14875
+ displayName: "QuestionDialog__AnswersContainer",
14876
+ componentId: "sc-bxc5u0-2"
14877
+ })(["flex:100%;"]);
14878
+ var Answer = /*#__PURE__*/styled.p.withConfig({
14879
+ displayName: "QuestionDialog__Answer",
14880
+ componentId: "sc-bxc5u0-3"
14881
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14882
+ return props.color;
14883
+ });
14884
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14885
+ displayName: "QuestionDialog__AnswerSelectedIcon",
14886
+ componentId: "sc-bxc5u0-4"
14887
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
14888
+ return props.color;
14889
+ });
14890
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14891
+ displayName: "QuestionDialog__AnswerRow",
14892
+ componentId: "sc-bxc5u0-5"
14893
+ })(["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;}"]);
15285
14894
 
15286
- var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14895
+ var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15287
14896
 
15288
- 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';
14897
+ var NPCDialogType;
14898
+ (function (NPCDialogType) {
14899
+ NPCDialogType["TextOnly"] = "TextOnly";
14900
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14901
+ })(NPCDialogType || (NPCDialogType = {}));
14902
+ var NPCDialog = function NPCDialog(_ref) {
14903
+ var text = _ref.text,
14904
+ type = _ref.type,
14905
+ _onClose = _ref.onClose,
14906
+ imagePath = _ref.imagePath,
14907
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
14908
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14909
+ questions = _ref.questions,
14910
+ answers = _ref.answers;
14911
+ return React.createElement(RPGUIContainer, {
14912
+ type: RPGUIContainerTypes.FramedGold,
14913
+ width: isQuestionDialog ? '600px' : '80%',
14914
+ height: '180px'
14915
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
14916
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14917
+ }, React.createElement(QuestionDialog, {
14918
+ questions: questions,
14919
+ answers: answers,
14920
+ onClose: function onClose() {
14921
+ if (_onClose) {
14922
+ _onClose();
14923
+ }
14924
+ }
14925
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14926
+ src: imagePath || img$7
14927
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$g, null, React.createElement(TextContainer$1, {
14928
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14929
+ }, React.createElement(NPCDialogText, {
14930
+ type: type,
14931
+ text: text || 'No text provided.',
14932
+ onClose: function onClose() {
14933
+ if (_onClose) {
14934
+ _onClose();
14935
+ }
14936
+ }
14937
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14938
+ src: imagePath || img$7
14939
+ })))));
14940
+ };
14941
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
14942
+ displayName: "NPCDialog__Container",
14943
+ componentId: "sc-1b4aw74-0"
14944
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14945
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14946
+ displayName: "NPCDialog__TextContainer",
14947
+ componentId: "sc-1b4aw74-1"
14948
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14949
+ var flex = _ref2.flex;
14950
+ return flex;
14951
+ });
14952
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14953
+ displayName: "NPCDialog__ThumbnailContainer",
14954
+ componentId: "sc-1b4aw74-2"
14955
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14956
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14957
+ displayName: "NPCDialog__NPCThumbnail",
14958
+ componentId: "sc-1b4aw74-3"
14959
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15289
14960
 
15290
14961
  var ImgSide;
15291
14962
  (function (ImgSide) {
@@ -15308,306 +14979,849 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
15308
14979
  setSlide(function (prev) {
15309
14980
  return prev + 1;
15310
14981
  });
15311
- } else {
15312
- // if there's no more text chunks, close the dialog
15313
- _onClose();
14982
+ } else {
14983
+ // if there's no more text chunks, close the dialog
14984
+ _onClose();
14985
+ }
14986
+ }
14987
+ };
14988
+ useEffect(function () {
14989
+ document.addEventListener('keydown', onHandleSpacePress);
14990
+ return function () {
14991
+ return document.removeEventListener('keydown', onHandleSpacePress);
14992
+ };
14993
+ }, [slide]);
14994
+ return React.createElement(RPGUIContainer, {
14995
+ type: RPGUIContainerTypes.FramedGold,
14996
+ width: '50%',
14997
+ height: '180px'
14998
+ }, 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, {
14999
+ flex: '70%'
15000
+ }, React.createElement(NPCDialogText, {
15001
+ onStartStep: function onStartStep() {
15002
+ return setShowGoNextIndicator(false);
15003
+ },
15004
+ onEndStep: function onEndStep() {
15005
+ return setShowGoNextIndicator(true);
15006
+ },
15007
+ text: textAndTypeArray[slide].text || 'No text provided.',
15008
+ onClose: function onClose() {
15009
+ if (_onClose) {
15010
+ _onClose();
15011
+ }
15012
+ }
15013
+ })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15014
+ src: textAndTypeArray[slide].imagePath || img$7
15015
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15016
+ right: '10.5rem',
15017
+ src: img$6
15018
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15019
+ src: textAndTypeArray[slide].imagePath || img$7
15020
+ })), React.createElement(TextContainer$2, {
15021
+ flex: '70%'
15022
+ }, React.createElement(NPCDialogText, {
15023
+ onStartStep: function onStartStep() {
15024
+ return setShowGoNextIndicator(false);
15025
+ },
15026
+ onEndStep: function onEndStep() {
15027
+ return setShowGoNextIndicator(true);
15028
+ },
15029
+ text: textAndTypeArray[slide].text || 'No text provided.',
15030
+ onClose: function onClose() {
15031
+ if (_onClose) {
15032
+ _onClose();
15033
+ }
15034
+ }
15035
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15036
+ right: '1rem',
15037
+ src: img$6
15038
+ }))), ")"));
15039
+ };
15040
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15041
+ displayName: "NPCMultiDialog__Container",
15042
+ componentId: "sc-rvu5wg-0"
15043
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15044
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15045
+ displayName: "NPCMultiDialog__TextContainer",
15046
+ componentId: "sc-rvu5wg-1"
15047
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15048
+ var flex = _ref2.flex;
15049
+ return flex;
15050
+ });
15051
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15052
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15053
+ componentId: "sc-rvu5wg-2"
15054
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15055
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15056
+ displayName: "NPCMultiDialog__NPCThumbnail",
15057
+ componentId: "sc-rvu5wg-3"
15058
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15059
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15060
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15061
+ componentId: "sc-rvu5wg-4"
15062
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15063
+ var right = _ref3.right;
15064
+ return right;
15065
+ });
15066
+
15067
+ var HistoryDialog = function HistoryDialog(_ref) {
15068
+ var backgroundImgPath = _ref.backgroundImgPath,
15069
+ fullCoverBackground = _ref.fullCoverBackground,
15070
+ questions = _ref.questions,
15071
+ answers = _ref.answers,
15072
+ text = _ref.text,
15073
+ imagePath = _ref.imagePath,
15074
+ textAndTypeArray = _ref.textAndTypeArray,
15075
+ onClose = _ref.onClose;
15076
+ var _useState = useState(0),
15077
+ img = _useState[0],
15078
+ setImage = _useState[1];
15079
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15080
+ if (event.code === 'Space') {
15081
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15082
+ setImage(function (prev) {
15083
+ return prev + 1;
15084
+ });
15085
+ } else {
15086
+ // if there's no more text chunks, close the dialog
15087
+ onClose();
15088
+ }
15089
+ }
15090
+ };
15091
+ useEffect(function () {
15092
+ document.addEventListener('keydown', onHandleSpacePress);
15093
+ return function () {
15094
+ return document.removeEventListener('keydown', onHandleSpacePress);
15095
+ };
15096
+ }, [backgroundImgPath]);
15097
+ return React.createElement(BackgroundContainer, {
15098
+ imgPath: backgroundImgPath[img],
15099
+ fullImg: fullCoverBackground
15100
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
15101
+ textAndTypeArray: textAndTypeArray,
15102
+ onClose: onClose
15103
+ }) : questions && answers ? React.createElement(QuestionDialog, {
15104
+ questions: questions,
15105
+ answers: answers,
15106
+ onClose: onClose
15107
+ }) : text && imagePath ? React.createElement(NPCDialog, {
15108
+ text: text,
15109
+ imagePath: imagePath,
15110
+ onClose: onClose,
15111
+ type: NPCDialogType.TextAndThumbnail
15112
+ }) : React.createElement(NPCDialog, {
15113
+ text: text,
15114
+ onClose: onClose,
15115
+ type: NPCDialogType.TextOnly
15116
+ })));
15117
+ };
15118
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15119
+ displayName: "HistoryDialog__BackgroundContainer",
15120
+ componentId: "sc-u6oe75-0"
15121
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15122
+ return props.imgPath;
15123
+ }, function (props) {
15124
+ return props.imgPath ? 'cover' : 'auto';
15125
+ });
15126
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15127
+ displayName: "HistoryDialog__DialogContainer",
15128
+ componentId: "sc-u6oe75-1"
15129
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
15130
+
15131
+ var SlotsContainer = function SlotsContainer(_ref) {
15132
+ var children = _ref.children,
15133
+ title = _ref.title,
15134
+ onClose = _ref.onClose,
15135
+ _onPositionChange = _ref.onPositionChange,
15136
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
15137
+ _onPositionChangeStart = _ref.onPositionChangeStart,
15138
+ onOutsideClick = _ref.onOutsideClick,
15139
+ initialPosition = _ref.initialPosition,
15140
+ scale = _ref.scale;
15141
+ return React.createElement(DraggableContainer, {
15142
+ title: title,
15143
+ type: RPGUIContainerTypes.Framed,
15144
+ onCloseButton: function onCloseButton() {
15145
+ if (onClose) {
15146
+ onClose();
15147
+ }
15148
+ },
15149
+ width: "400px",
15150
+ cancelDrag: ".item-container-body, #shortcuts_list",
15151
+ onPositionChange: function onPositionChange(_ref2) {
15152
+ var x = _ref2.x,
15153
+ y = _ref2.y;
15154
+ if (_onPositionChange) {
15155
+ _onPositionChange({
15156
+ x: x,
15157
+ y: y
15158
+ });
15159
+ }
15160
+ },
15161
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15162
+ var x = _ref3.x,
15163
+ y = _ref3.y;
15164
+ if (_onPositionChangeEnd) {
15165
+ _onPositionChangeEnd({
15166
+ x: x,
15167
+ y: y
15168
+ });
15169
+ }
15170
+ },
15171
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
15172
+ var x = _ref4.x,
15173
+ y = _ref4.y;
15174
+ if (_onPositionChangeStart) {
15175
+ _onPositionChangeStart({
15176
+ x: x,
15177
+ y: y
15178
+ });
15314
15179
  }
15315
- }
15316
- };
15317
- useEffect(function () {
15318
- document.addEventListener('keydown', onHandleSpacePress);
15319
- return function () {
15320
- return document.removeEventListener('keydown', onHandleSpacePress);
15321
- };
15322
- }, [slide]);
15323
- return React.createElement(RPGUIContainer, {
15324
- type: RPGUIContainerTypes.FramedGold,
15325
- width: '50%',
15326
- height: '180px'
15327
- }, React.createElement(React.Fragment, null, React.createElement(Container$g, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
15328
- flex: '70%'
15329
- }, React.createElement(NPCDialogText, {
15330
- onStartStep: function onStartStep() {
15331
- return setShowGoNextIndicator(false);
15332
15180
  },
15333
- onEndStep: function onEndStep() {
15334
- return setShowGoNextIndicator(true);
15181
+ onOutsideClick: onOutsideClick,
15182
+ initialPosition: initialPosition,
15183
+ scale: scale
15184
+ }, children);
15185
+ };
15186
+
15187
+ var RangeSliderType;
15188
+ (function (RangeSliderType) {
15189
+ RangeSliderType["Slider"] = "rpgui-slider";
15190
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15191
+ })(RangeSliderType || (RangeSliderType = {}));
15192
+ var RangeSlider = function RangeSlider(_ref) {
15193
+ var type = _ref.type,
15194
+ valueMin = _ref.valueMin,
15195
+ valueMax = _ref.valueMax,
15196
+ width = _ref.width,
15197
+ _onChange = _ref.onChange,
15198
+ value = _ref.value;
15199
+ var sliderId = v4();
15200
+ var containerRef = useRef(null);
15201
+ var _useState = useState(0),
15202
+ left = _useState[0],
15203
+ setLeft = _useState[1];
15204
+ useEffect(function () {
15205
+ var _containerRef$current;
15206
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15207
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15208
+ }, [value, valueMin, valueMax]);
15209
+ var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
15210
+ return React.createElement("div", {
15211
+ style: {
15212
+ width: width,
15213
+ position: 'relative'
15335
15214
  },
15336
- text: textAndTypeArray[slide].text || 'No text provided.',
15337
- onClose: function onClose() {
15338
- if (_onClose) {
15339
- _onClose();
15340
- }
15215
+ className: "rpgui-slider-container " + typeClass,
15216
+ id: "rpgui-slider-" + sliderId,
15217
+ ref: containerRef
15218
+ }, React.createElement("div", {
15219
+ style: {
15220
+ pointerEvents: 'none'
15341
15221
  }
15342
- })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15343
- src: textAndTypeArray[slide].imagePath || img$5
15344
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15345
- right: '10.5rem',
15346
- src: img$6
15347
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15348
- src: textAndTypeArray[slide].imagePath || img$5
15349
- })), React.createElement(TextContainer, {
15350
- flex: '70%'
15351
- }, React.createElement(NPCDialogText, {
15352
- onStartStep: function onStartStep() {
15353
- return setShowGoNextIndicator(false);
15222
+ }, React.createElement("div", {
15223
+ className: "rpgui-slider-track " + typeClass
15224
+ }), React.createElement("div", {
15225
+ className: "rpgui-slider-left-edge " + typeClass
15226
+ }), React.createElement("div", {
15227
+ className: "rpgui-slider-right-edge " + typeClass
15228
+ }), React.createElement("div", {
15229
+ className: "rpgui-slider-thumb " + typeClass,
15230
+ style: {
15231
+ left: left
15232
+ }
15233
+ })), React.createElement(Input$1, {
15234
+ type: "range",
15235
+ style: {
15236
+ width: width
15354
15237
  },
15355
- onEndStep: function onEndStep() {
15356
- return setShowGoNextIndicator(true);
15238
+ min: valueMin,
15239
+ max: valueMax,
15240
+ onChange: function onChange(e) {
15241
+ return _onChange(Number(e.target.value));
15357
15242
  },
15358
- text: textAndTypeArray[slide].text || 'No text provided.',
15359
- onClose: function onClose() {
15360
- if (_onClose) {
15361
- _onClose();
15362
- }
15363
- }
15364
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15365
- right: '1rem',
15366
- src: img$6
15367
- }))), ")"));
15368
- };
15369
- var Container$g = /*#__PURE__*/styled.div.withConfig({
15370
- displayName: "NPCMultiDialog__Container",
15371
- componentId: "sc-rvu5wg-0"
15372
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15373
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
15374
- displayName: "NPCMultiDialog__TextContainer",
15375
- componentId: "sc-rvu5wg-1"
15376
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15377
- var flex = _ref2.flex;
15378
- return flex;
15379
- });
15380
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15381
- displayName: "NPCMultiDialog__ThumbnailContainer",
15382
- componentId: "sc-rvu5wg-2"
15383
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15384
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15385
- displayName: "NPCMultiDialog__NPCThumbnail",
15386
- componentId: "sc-rvu5wg-3"
15387
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15388
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15389
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15390
- componentId: "sc-rvu5wg-4"
15391
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15392
- var right = _ref3.right;
15393
- return right;
15394
- });
15395
-
15396
- //@ts-ignore
15397
- var useEventListener = function useEventListener(type, handler, el) {
15398
- if (el === void 0) {
15399
- el = window;
15400
- }
15401
- var savedHandler = React.useRef();
15402
- React.useEffect(function () {
15403
- savedHandler.current = handler;
15404
- }, [handler]);
15405
- React.useEffect(function () {
15406
- //@ts-ignore
15407
- var listener = function listener(e) {
15408
- return savedHandler.current(e);
15409
- };
15410
- el.addEventListener(type, listener);
15411
- return function () {
15412
- el.removeEventListener(type, listener);
15413
- };
15414
- }, [type, el]);
15243
+ value: value,
15244
+ className: "rpgui-cursor-point"
15245
+ }));
15415
15246
  };
15247
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
15248
+ displayName: "RangeSlider__Input",
15249
+ componentId: "sc-v8mte9-0"
15250
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15416
15251
 
15417
- var DynamicText = function DynamicText(_ref) {
15418
- var text = _ref.text,
15419
- onFinish = _ref.onFinish,
15420
- onStart = _ref.onStart;
15421
- var _useState = useState(''),
15422
- textState = _useState[0],
15423
- setTextState = _useState[1];
15252
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15253
+ var quantity = _ref.quantity,
15254
+ onConfirm = _ref.onConfirm,
15255
+ onClose = _ref.onClose;
15256
+ var _useState = useState(quantity),
15257
+ value = _useState[0],
15258
+ setValue = _useState[1];
15259
+ var inputRef = useRef(null);
15424
15260
  useEffect(function () {
15425
- var i = 0;
15426
- var interval = setInterval(function () {
15427
- // on every interval, show one more character
15428
- if (i === 0) {
15429
- if (onStart) {
15430
- onStart();
15261
+ if (inputRef.current) {
15262
+ inputRef.current.focus();
15263
+ inputRef.current.select();
15264
+ var closeSelector = function closeSelector(e) {
15265
+ if (e.key === 'Escape') {
15266
+ onClose();
15431
15267
  }
15268
+ };
15269
+ document.addEventListener('keydown', closeSelector);
15270
+ return function () {
15271
+ document.removeEventListener('keydown', closeSelector);
15272
+ };
15273
+ }
15274
+ return function () {};
15275
+ }, []);
15276
+ return React.createElement(StyledContainer, {
15277
+ type: RPGUIContainerTypes.Framed,
15278
+ width: "25rem"
15279
+ }, React.createElement(CloseButton$2, {
15280
+ className: "container-close",
15281
+ onPointerDown: onClose
15282
+ }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
15283
+ style: {
15284
+ width: '100%'
15285
+ },
15286
+ onSubmit: function onSubmit(e) {
15287
+ e.preventDefault();
15288
+ var numberValue = Number(value);
15289
+ if (Number.isNaN(numberValue)) {
15290
+ return;
15432
15291
  }
15433
- if (i < text.length) {
15434
- setTextState(text.substring(0, i + 1));
15435
- i++;
15436
- } else {
15437
- clearInterval(interval);
15438
- if (onFinish) {
15439
- onFinish();
15292
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15293
+ },
15294
+ noValidate: true
15295
+ }, React.createElement(StyledInput, {
15296
+ innerRef: inputRef,
15297
+ placeholder: "Enter quantity",
15298
+ type: "number",
15299
+ min: 1,
15300
+ max: quantity,
15301
+ value: value,
15302
+ onChange: function onChange(e) {
15303
+ if (Number(e.target.value) >= quantity) {
15304
+ setValue(quantity);
15305
+ return;
15306
+ }
15307
+ setValue(e.target.value);
15308
+ },
15309
+ onBlur: function onBlur(e) {
15310
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15311
+ setValue(newValue);
15312
+ }
15313
+ }), React.createElement(RangeSlider, {
15314
+ type: RangeSliderType.Slider,
15315
+ valueMin: 1,
15316
+ valueMax: quantity,
15317
+ width: "100%",
15318
+ onChange: setValue,
15319
+ value: value
15320
+ }), React.createElement(Button, {
15321
+ buttonType: ButtonTypes.RPGUIButton,
15322
+ type: "submit"
15323
+ }, "Confirm")));
15324
+ };
15325
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15326
+ displayName: "ItemQuantitySelector__StyledContainer",
15327
+ componentId: "sc-yfdtpn-0"
15328
+ })(["display:flex;flex-direction:column;align-items:center;"]);
15329
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
15330
+ displayName: "ItemQuantitySelector__StyledForm",
15331
+ componentId: "sc-yfdtpn-1"
15332
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15333
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15334
+ displayName: "ItemQuantitySelector__StyledInput",
15335
+ componentId: "sc-yfdtpn-2"
15336
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15337
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15338
+ displayName: "ItemQuantitySelector__CloseButton",
15339
+ componentId: "sc-yfdtpn-3"
15340
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15341
+
15342
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
15343
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15344
+ settingShortcutIndex = _ref.settingShortcutIndex,
15345
+ shortcuts = _ref.shortcuts,
15346
+ removeShortcut = _ref.removeShortcut,
15347
+ atlasJSON = _ref.atlasJSON,
15348
+ atlasIMG = _ref.atlasIMG;
15349
+ var getContent = function getContent(index) {
15350
+ var _shortcuts$index, _shortcuts$index3;
15351
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
15352
+ var _shortcuts$index2;
15353
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15354
+ if (!_payload) return null;
15355
+ return React.createElement(SpriteFromAtlas, {
15356
+ atlasIMG: atlasIMG,
15357
+ atlasJSON: atlasJSON,
15358
+ spriteKey: getItemTextureKeyPath({
15359
+ key: _payload.texturePath,
15360
+ texturePath: _payload.texturePath,
15361
+ stackQty: _payload.stackQty || 1,
15362
+ isStackable: _payload.isStackable
15363
+ }, atlasJSON),
15364
+ width: 32,
15365
+ height: 32,
15366
+ imgScale: 1.6,
15367
+ imgStyle: {
15368
+ left: '5px'
15440
15369
  }
15441
- }
15442
- }, 50);
15443
- return function () {
15444
- clearInterval(interval);
15445
- };
15446
- }, [text]);
15447
- return React.createElement(TextContainer$1, null, textState);
15370
+ });
15371
+ }
15372
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15373
+ return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15374
+ return word[0];
15375
+ }));
15376
+ };
15377
+ return React.createElement(Container$i, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
15378
+ id: "shortcuts_list"
15379
+ }, Array.from({
15380
+ length: 6
15381
+ }).map(function (_, i) {
15382
+ return React.createElement(Shortcut, {
15383
+ key: i,
15384
+ onPointerDown: function onPointerDown() {
15385
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15386
+ removeShortcut(i);
15387
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
15388
+ },
15389
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15390
+ isBeingSet: settingShortcutIndex === i,
15391
+ id: "shortcutSetter_" + i
15392
+ }, getContent(i));
15393
+ })));
15448
15394
  };
15449
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15450
- displayName: "DynamicText__TextContainer",
15451
- componentId: "sc-1ggl9nd-0"
15452
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15395
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15396
+ displayName: "ShortcutsSetter__Container",
15397
+ componentId: "sc-xuouuf-0"
15398
+ })(["p{margin:0;margin-left:0.5rem;}"]);
15399
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
15400
+ displayName: "ShortcutsSetter__Shortcut",
15401
+ componentId: "sc-xuouuf-1"
15402
+ })(["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) {
15403
+ var isBeingSet = _ref2.isBeingSet;
15404
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15405
+ }, uiColors.darkGray, uiColors.gray);
15406
+ var List = /*#__PURE__*/styled.div.withConfig({
15407
+ displayName: "ShortcutsSetter__List",
15408
+ componentId: "sc-xuouuf-2"
15409
+ })(["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;"]);
15453
15410
 
15454
- var QuestionDialog = function QuestionDialog(_ref) {
15455
- var questions = _ref.questions,
15456
- answers = _ref.answers,
15457
- onClose = _ref.onClose;
15458
- var _useState = useState(questions[0]),
15459
- currentQuestion = _useState[0],
15460
- setCurrentQuestion = _useState[1];
15461
- var _useState2 = useState(false),
15462
- canShowAnswers = _useState2[0],
15463
- setCanShowAnswers = _useState2[1];
15464
- var onGetFirstAnswer = function onGetFirstAnswer() {
15465
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15466
- return null;
15411
+ var ItemContainer$1 = function ItemContainer(_ref) {
15412
+ var itemContainer = _ref.itemContainer,
15413
+ onClose = _ref.onClose,
15414
+ _onMouseOver = _ref.onMouseOver,
15415
+ _onSelected = _ref.onSelected,
15416
+ onItemClick = _ref.onItemClick,
15417
+ type = _ref.type,
15418
+ atlasJSON = _ref.atlasJSON,
15419
+ atlasIMG = _ref.atlasIMG,
15420
+ _ref$disableContextMe = _ref.disableContextMenu,
15421
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15422
+ onItemDragEnd = _ref.onItemDragEnd,
15423
+ onItemDragStart = _ref.onItemDragStart,
15424
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
15425
+ _onOutsideDrop = _ref.onOutsideDrop,
15426
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15427
+ initialPosition = _ref.initialPosition,
15428
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15429
+ scale = _ref.scale,
15430
+ shortcuts = _ref.shortcuts,
15431
+ setItemShortcut = _ref.setItemShortcut,
15432
+ removeShortcut = _ref.removeShortcut,
15433
+ equipmentSet = _ref.equipmentSet,
15434
+ isDepotSystem = _ref.isDepotSystem,
15435
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
15436
+ onPositionChangeStart = _ref.onPositionChangeStart;
15437
+ var _useState = useState({
15438
+ isOpen: false,
15439
+ maxQuantity: 1,
15440
+ callback: function callback(_quantity) {}
15441
+ }),
15442
+ quantitySelect = _useState[0],
15443
+ setQuantitySelect = _useState[1];
15444
+ var _useState2 = useState(-1),
15445
+ settingShortcutIndex = _useState2[0],
15446
+ setSettingShortcutIndex = _useState2[1];
15447
+ var handleSetShortcut = function handleSetShortcut(item, index) {
15448
+ if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
15449
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15467
15450
  }
15468
- var firstAnswerId = currentQuestion.answerIds[0];
15469
- return answers.find(function (answer) {
15470
- return answer.id === firstAnswerId;
15471
- });
15472
15451
  };
15473
- var _useState3 = useState(onGetFirstAnswer()),
15474
- currentAnswer = _useState3[0],
15475
- setCurrentAnswer = _useState3[1];
15476
- useEffect(function () {
15477
- setCurrentAnswer(onGetFirstAnswer());
15478
- }, [currentQuestion]);
15479
- var onGetAnswers = function onGetAnswers(answerIds) {
15480
- return answerIds.map(function (answerId) {
15481
- return answers.find(function (answer) {
15482
- return answer.id === answerId;
15483
- });
15484
- });
15452
+ var onRenderSlots = function onRenderSlots() {
15453
+ var slots = [];
15454
+ for (var i = 0; i < itemContainer.slotQty; i++) {
15455
+ var _itemContainer$slots;
15456
+ slots.push(React.createElement(ItemSlot, {
15457
+ isContextMenuDisabled: disableContextMenu,
15458
+ key: i,
15459
+ slotIndex: i,
15460
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15461
+ itemContainerType: type,
15462
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
15463
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15464
+ },
15465
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
15466
+ if (settingShortcutIndex !== -1) {
15467
+ setSettingShortcutIndex(-1);
15468
+ handleSetShortcut(item, settingShortcutIndex);
15469
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
15470
+ },
15471
+ onSelected: function onSelected(optionId, item) {
15472
+ if (_onSelected) _onSelected(optionId, item);
15473
+ },
15474
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15475
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15476
+ },
15477
+ onDragEnd: function onDragEnd(quantity) {
15478
+ if (onItemDragEnd) onItemDragEnd(quantity);
15479
+ },
15480
+ dragScale: scale,
15481
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15482
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15483
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15484
+ setQuantitySelect({
15485
+ isOpen: true,
15486
+ maxQuantity: maxQuantity,
15487
+ callback: callback
15488
+ });
15489
+ },
15490
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15491
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15492
+ },
15493
+ onOutsideDrop: function onOutsideDrop(item, position) {
15494
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
15495
+ },
15496
+ atlasIMG: atlasIMG,
15497
+ atlasJSON: atlasJSON,
15498
+ isSelectingShortcut: settingShortcutIndex !== -1,
15499
+ equipmentSet: equipmentSet,
15500
+ setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
15501
+ isDepotSystem: isDepotSystem
15502
+ }));
15503
+ }
15504
+ return slots;
15485
15505
  };
15486
- var onKeyPress = function onKeyPress(e) {
15487
- switch (e.key) {
15488
- case 'ArrowDown':
15489
- // select next answer, if any.
15490
- // if no next answer, select first answer
15491
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15492
- // (answer) => answer?.id === currentAnswer!.id + 1
15493
- // );
15494
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15495
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15496
- });
15497
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15498
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15499
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
15500
- });
15501
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15502
- break;
15503
- case 'ArrowUp':
15504
- // select previous answer, if any.
15505
- // if no previous answer, select last answer
15506
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15507
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15508
- });
15509
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15510
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15511
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
15512
- });
15513
- if (previousAnswer) {
15514
- setCurrentAnswer(previousAnswer);
15515
- } else {
15516
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15517
- }
15518
- break;
15519
- case 'Enter':
15520
- setCanShowAnswers(false);
15521
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15522
- onClose();
15523
- return;
15524
- } else {
15525
- setCurrentQuestion(questions.find(function (question) {
15526
- return question.id === currentAnswer.nextQuestionId;
15527
- }));
15528
- }
15529
- break;
15506
+ return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
15507
+ title: itemContainer.name || 'Container',
15508
+ onClose: onClose,
15509
+ initialPosition: initialPosition,
15510
+ scale: scale,
15511
+ onPositionChangeEnd: onPositionChangeEnd,
15512
+ onPositionChangeStart: onPositionChangeStart
15513
+ }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
15514
+ setSettingShortcutIndex: setSettingShortcutIndex,
15515
+ settingShortcutIndex: settingShortcutIndex,
15516
+ shortcuts: shortcuts,
15517
+ removeShortcut: removeShortcut,
15518
+ atlasIMG: atlasIMG,
15519
+ atlasJSON: atlasJSON
15520
+ }), React.createElement(ItemsContainer, {
15521
+ className: "item-container-body"
15522
+ }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
15523
+ quantity: quantitySelect.maxQuantity,
15524
+ onConfirm: function onConfirm(quantity) {
15525
+ quantitySelect.callback(quantity);
15526
+ setQuantitySelect({
15527
+ isOpen: false,
15528
+ maxQuantity: 1,
15529
+ callback: function callback() {}
15530
+ });
15531
+ },
15532
+ onClose: function onClose() {
15533
+ quantitySelect.callback(-1);
15534
+ setQuantitySelect({
15535
+ isOpen: false,
15536
+ maxQuantity: 1,
15537
+ callback: function callback() {}
15538
+ });
15530
15539
  }
15540
+ }))));
15541
+ };
15542
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15543
+ displayName: "ItemContainer__ItemsContainer",
15544
+ componentId: "sc-15y5p9l-0"
15545
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15546
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15547
+ displayName: "ItemContainer__QuantitySelectorContainer",
15548
+ componentId: "sc-15y5p9l-1"
15549
+ })(["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);"]);
15550
+
15551
+ var ItemSelector = function ItemSelector(_ref) {
15552
+ var atlasIMG = _ref.atlasIMG,
15553
+ atlasJSON = _ref.atlasJSON,
15554
+ options = _ref.options,
15555
+ onClose = _ref.onClose,
15556
+ onSelect = _ref.onSelect;
15557
+ var _useState = useState(),
15558
+ selectedValue = _useState[0],
15559
+ setSelectedValue = _useState[1];
15560
+ var handleClick = function handleClick() {
15561
+ var element = document.querySelector("input[name='test']:checked");
15562
+ var elementValue = element.value;
15563
+ setSelectedValue(elementValue);
15531
15564
  };
15532
- useEventListener('keydown', onKeyPress);
15533
- var onAnswerClick = function onAnswerClick(answer) {
15534
- setCanShowAnswers(false);
15535
- if (answer.nextQuestionId) {
15536
- // if there is a next question, go to it
15537
- setCurrentQuestion(questions.find(function (question) {
15538
- return question.id === answer.nextQuestionId;
15539
- }));
15540
- } else {
15541
- // else, finish dialog!
15542
- onClose();
15565
+ useEffect(function () {
15566
+ if (selectedValue) {
15567
+ onSelect(selectedValue);
15543
15568
  }
15544
- };
15545
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15546
- var answerIds = currentQuestion.answerIds;
15547
- if (!answerIds) {
15548
- return null;
15569
+ }, [selectedValue]);
15570
+ return React.createElement(DraggableContainer, {
15571
+ type: RPGUIContainerTypes.Framed,
15572
+ width: "500px",
15573
+ cancelDrag: ".equipment-container-body .arrow-selector",
15574
+ onCloseButton: function onCloseButton() {
15575
+ if (onClose) {
15576
+ onClose();
15577
+ }
15549
15578
  }
15550
- var answers = onGetAnswers(answerIds);
15551
- if (!answers) {
15552
- return null;
15579
+ }, React.createElement("div", {
15580
+ style: {
15581
+ width: '100%'
15553
15582
  }
15554
- return answers.map(function (answer) {
15555
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15556
- var selectedColor = isSelected ? 'yellow' : 'white';
15557
- if (answer) {
15558
- return React.createElement(AnswerRow, {
15559
- key: "answer_" + answer.id
15560
- }, React.createElement(AnswerSelectedIcon, {
15561
- color: selectedColor
15562
- }, isSelected ? 'X' : null), React.createElement(Answer, {
15563
- key: answer.id,
15564
- onPointerDown: function onPointerDown() {
15565
- return onAnswerClick(answer);
15566
- },
15567
- color: selectedColor
15568
- }, answer.text));
15583
+ }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15584
+ className: "golden"
15585
+ })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15586
+ return React.createElement(RadioOptionsWrapper$1, {
15587
+ key: index
15588
+ }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15589
+ atlasIMG: atlasIMG,
15590
+ atlasJSON: atlasJSON,
15591
+ spriteKey: option.imageKey,
15592
+ imgScale: 3
15593
+ })), React.createElement("div", null, React.createElement("input", {
15594
+ className: "rpgui-radio",
15595
+ type: "radio",
15596
+ value: option.name,
15597
+ name: "test"
15598
+ }), React.createElement("label", {
15599
+ onPointerDown: handleClick,
15600
+ style: {
15601
+ display: 'flex',
15602
+ alignItems: 'center'
15569
15603
  }
15570
- return null;
15571
- });
15572
- };
15573
- return React.createElement(Container$h, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
15574
- text: currentQuestion.text,
15575
- onStart: function onStart() {
15576
- return setCanShowAnswers(false);
15604
+ }, option.name, " ", React.createElement("br", null), option.description)));
15605
+ })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15606
+ buttonType: ButtonTypes.RPGUIButton,
15607
+ onPointerDown: onClose
15608
+ }, "Cancel"), React.createElement(Button, {
15609
+ buttonType: ButtonTypes.RPGUIButton
15610
+ }, "Select")));
15611
+ };
15612
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15613
+ displayName: "ItemSelector__Title",
15614
+ componentId: "sc-gptoxp-0"
15615
+ })(["font-size:0.6rem;color:yellow !important;"]);
15616
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15617
+ displayName: "ItemSelector__Subtitle",
15618
+ componentId: "sc-gptoxp-1"
15619
+ })(["font-size:0.4rem;color:yellow !important;"]);
15620
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15621
+ displayName: "ItemSelector__RadioInputScroller",
15622
+ componentId: "sc-gptoxp-2"
15623
+ })(["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;"]);
15624
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15625
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15626
+ componentId: "sc-gptoxp-3"
15627
+ })(["margin-right:40px;"]);
15628
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15629
+ displayName: "ItemSelector__RadioOptionsWrapper",
15630
+ componentId: "sc-gptoxp-4"
15631
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15632
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15633
+ displayName: "ItemSelector__ButtonWrapper",
15634
+ componentId: "sc-gptoxp-5"
15635
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15636
+
15637
+ var ListMenu = function ListMenu(_ref) {
15638
+ var options = _ref.options,
15639
+ onSelected = _ref.onSelected,
15640
+ x = _ref.x,
15641
+ y = _ref.y;
15642
+ return React.createElement(Container$j, {
15643
+ x: x,
15644
+ y: y
15645
+ }, React.createElement("ul", {
15646
+ className: "rpgui-list-imp",
15647
+ style: {
15648
+ overflow: 'hidden'
15649
+ }
15650
+ }, options.map(function (params, index) {
15651
+ return React.createElement(ListElement$1, {
15652
+ key: (params == null ? void 0 : params.id) || index,
15653
+ onPointerDown: function onPointerDown() {
15654
+ onSelected(params == null ? void 0 : params.id);
15655
+ }
15656
+ }, (params == null ? void 0 : params.text) || 'No text');
15657
+ })));
15658
+ };
15659
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
15660
+ displayName: "ListMenu__Container",
15661
+ componentId: "sc-i9097t-0"
15662
+ })(["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) {
15663
+ return props.y || 0;
15664
+ }, function (props) {
15665
+ return props.x || 0;
15666
+ }, uiFonts.size.xsmall);
15667
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15668
+ displayName: "ListMenu__ListElement",
15669
+ componentId: "sc-i9097t-1"
15670
+ })(["margin-right:0.5rem;"]);
15671
+
15672
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15673
+ var atlasJSON = _ref.atlasJSON,
15674
+ atlasIMG = _ref.atlasIMG,
15675
+ item = _ref.item,
15676
+ itemPrice = _ref.itemPrice,
15677
+ equipmentSet = _ref.equipmentSet,
15678
+ scale = _ref.scale,
15679
+ onHandleClick = _ref.onHandleClick;
15680
+ return React.createElement(MarketPlaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15681
+ item: item,
15682
+ atlasIMG: atlasIMG,
15683
+ atlasJSON: atlasJSON,
15684
+ equipmentSet: equipmentSet,
15685
+ scale: scale
15686
+ }, React.createElement(SpriteFromAtlas, {
15687
+ atlasIMG: atlasIMG,
15688
+ atlasJSON: atlasJSON,
15689
+ spriteKey: getItemTextureKeyPath({
15690
+ key: item.key,
15691
+ stackQty: item.stackQty || 1,
15692
+ texturePath: item.texturePath,
15693
+ isStackable: item.isStackable
15694
+ }, atlasJSON),
15695
+ imgScale: 2
15696
+ }))), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15697
+ maxLines: 1,
15698
+ maxWidth: "150px",
15699
+ fontSize: "10px"
15700
+ }, item.name)))), React.createElement(QuantityContainer, null, React.createElement(QuantityDisplay, null, React.createElement(TextOverlay$1, null, React.createElement(Item$1, null, React.createElement(Ellipsis, {
15701
+ maxLines: 1,
15702
+ maxWidth: "150px",
15703
+ fontSize: "10px"
15704
+ }, item.rarity))))), React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(SpriteFromAtlas, {
15705
+ atlasIMG: atlasIMG,
15706
+ atlasJSON: atlasJSON,
15707
+ spriteKey: 'others/gold-coin-qty-4.png',
15708
+ imgScale: 2
15709
+ })), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15710
+ maxLines: 1,
15711
+ maxWidth: "150px",
15712
+ fontSize: "10px"
15713
+ }, "$", itemPrice)))), React.createElement(ButtonContainer$1, null, React.createElement(Button, {
15714
+ buttonType: ButtonTypes.RPGUIButton,
15715
+ onClick: function onClick() {
15716
+ return onHandleClick(item.name);
15717
+ }
15718
+ }, "Buy")));
15719
+ };
15720
+ var MarketPlaceWrapper = /*#__PURE__*/styled.div.withConfig({
15721
+ displayName: "MarketplaceRows__MarketPlaceWrapper",
15722
+ componentId: "sc-wmpr1o-0"
15723
+ })(["margin:auto;display:grid;grid-template-columns:35% 20% 20% 25%;&:hover{background-color:", ";}padding:0.5rem;p{font-size:0.8rem;}"], uiColors.darkGray);
15724
+ var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15725
+ displayName: "MarketplaceRows__ItemIconContainer",
15726
+ componentId: "sc-wmpr1o-1"
15727
+ })(["display:flex;justify-content:flex-start;align-items:center;"]);
15728
+ var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15729
+ displayName: "MarketplaceRows__SpriteContainer",
15730
+ componentId: "sc-wmpr1o-2"
15731
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15732
+ var Item$1 = /*#__PURE__*/styled.span.withConfig({
15733
+ displayName: "MarketplaceRows__Item",
15734
+ componentId: "sc-wmpr1o-3"
15735
+ })(["color:white;text-align:center;z-index:1;width:100%;"]);
15736
+ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15737
+ displayName: "MarketplaceRows__TextOverlay",
15738
+ componentId: "sc-wmpr1o-4"
15739
+ })(["width:100%;position:relative;"]);
15740
+ var QuantityContainer = /*#__PURE__*/styled.div.withConfig({
15741
+ displayName: "MarketplaceRows__QuantityContainer",
15742
+ componentId: "sc-wmpr1o-5"
15743
+ })(["position:relative;display:flex;min-width:100px;justify-content:center;align-items:center;"]);
15744
+ var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
15745
+ displayName: "MarketplaceRows__QuantityDisplay",
15746
+ componentId: "sc-wmpr1o-6"
15747
+ })(["font-size:", ";"], uiFonts.size.small);
15748
+ var PriceValue = /*#__PURE__*/styled.div.withConfig({
15749
+ displayName: "MarketplaceRows__PriceValue",
15750
+ componentId: "sc-wmpr1o-7"
15751
+ })(["margin-left:40px;"]);
15752
+ var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15753
+ displayName: "MarketplaceRows__ButtonContainer",
15754
+ componentId: "sc-wmpr1o-8"
15755
+ })(["margin:auto;"]);
15756
+
15757
+ var Marketplace = function Marketplace(_ref) {
15758
+ var items = _ref.items,
15759
+ atlasIMG = _ref.atlasIMG,
15760
+ atlasJSON = _ref.atlasJSON,
15761
+ onClose = _ref.onClose,
15762
+ optionsType = _ref.optionsType,
15763
+ optionsRarity = _ref.optionsRarity,
15764
+ optionsPrice = _ref.optionsPrice,
15765
+ onChangeType = _ref.onChangeType,
15766
+ onChangeRarity = _ref.onChangeRarity,
15767
+ onChangeOrder = _ref.onChangeOrder,
15768
+ onChangeNameInput = _ref.onChangeNameInput,
15769
+ scale = _ref.scale,
15770
+ equipmentSet = _ref.equipmentSet,
15771
+ onHandleClick = _ref.onHandleClick;
15772
+ return React.createElement(DraggableContainer, {
15773
+ type: RPGUIContainerTypes.Framed,
15774
+ onCloseButton: function onCloseButton() {
15775
+ if (onClose) onClose();
15577
15776
  },
15578
- onFinish: function onFinish() {
15579
- return setCanShowAnswers(true);
15580
- }
15581
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15777
+ width: "800px",
15778
+ cancelDrag: "#MarketContainer",
15779
+ scale: scale
15780
+ }, React.createElement(React.Fragment, null, React.createElement(InputWrapper, null, React.createElement("p", null, " Search By Name"), React.createElement(Input, {
15781
+ onChange: onChangeNameInput,
15782
+ placeholder: 'Search...'
15783
+ })), React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
15784
+ options: optionsType,
15785
+ onChange: onChangeType,
15786
+ width: '220px'
15787
+ }), React.createElement(StyledDropdown, {
15788
+ options: optionsRarity,
15789
+ onChange: onChangeRarity,
15790
+ width: '220px'
15791
+ }), React.createElement(StyledDropdown, {
15792
+ options: optionsPrice,
15793
+ onChange: onChangeOrder,
15794
+ width: '220px'
15795
+ })), React.createElement(ItemComponentScrollWrapper, {
15796
+ id: "MarketContainer"
15797
+ }, items == null ? void 0 : items.map(function (item, index) {
15798
+ return React.createElement(MarketplaceRows, {
15799
+ key: item.key + "_" + index,
15800
+ atlasIMG: atlasIMG,
15801
+ atlasJSON: atlasJSON,
15802
+ item: item,
15803
+ itemPrice: 10,
15804
+ equipmentSet: equipmentSet,
15805
+ onHandleClick: onHandleClick
15806
+ });
15807
+ }))));
15582
15808
  };
15583
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15584
- displayName: "QuestionDialog__Container",
15585
- componentId: "sc-bxc5u0-0"
15586
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
15587
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
15588
- displayName: "QuestionDialog__QuestionContainer",
15589
- componentId: "sc-bxc5u0-1"
15590
- })(["flex:100%;width:100%;"]);
15591
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
15592
- displayName: "QuestionDialog__AnswersContainer",
15593
- componentId: "sc-bxc5u0-2"
15594
- })(["flex:100%;"]);
15595
- var Answer = /*#__PURE__*/styled.p.withConfig({
15596
- displayName: "QuestionDialog__Answer",
15597
- componentId: "sc-bxc5u0-3"
15598
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
15599
- return props.color;
15600
- });
15601
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
15602
- displayName: "QuestionDialog__AnswerSelectedIcon",
15603
- componentId: "sc-bxc5u0-4"
15604
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
15605
- return props.color;
15606
- });
15607
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
15608
- displayName: "QuestionDialog__AnswerRow",
15609
- componentId: "sc-bxc5u0-5"
15610
- })(["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;}"]);
15809
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15810
+ displayName: "Marketplace__InputWrapper",
15811
+ componentId: "sc-h904b1-0"
15812
+ })(["width:95%;display:flex;justify-content:flex-start;align-items:center;margin:auto;margin-bottom:10px;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15813
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15814
+ displayName: "Marketplace__WrapperContainer",
15815
+ componentId: "sc-h904b1-1"
15816
+ })(["display:grid;grid-template-columns:30% 30% 30%;justify-content:space-between;width:90%;margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
15817
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15818
+ displayName: "Marketplace__ItemComponentScrollWrapper",
15819
+ componentId: "sc-h904b1-2"
15820
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;"]);
15821
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15822
+ displayName: "Marketplace__StyledDropdown",
15823
+ componentId: "sc-h904b1-3"
15824
+ })(["margin:3px !important;width:170px !important;"]);
15611
15825
 
15612
15826
  var ProgressBar = function ProgressBar(_ref) {
15613
15827
  var max = _ref.max,
@@ -15620,13 +15834,15 @@ var ProgressBar = function ProgressBar(_ref) {
15620
15834
  _ref$minWidth = _ref.minWidth,
15621
15835
  minWidth = _ref$minWidth === void 0 ? 100 : _ref$minWidth,
15622
15836
  style = _ref.style;
15837
+ value = Math.round(value);
15838
+ max = Math.round(max);
15623
15839
  var calculatePercentageValue = function calculatePercentageValue(max, value) {
15624
15840
  if (value > max) {
15625
15841
  value = max;
15626
15842
  }
15627
15843
  return value * 100 / max;
15628
15844
  };
15629
- return React.createElement(Container$i, {
15845
+ return React.createElement(Container$k, {
15630
15846
  className: "rpgui-progress",
15631
15847
  "data-value": calculatePercentageValue(max, value) / 100,
15632
15848
  "data-rpguitype": "progress",
@@ -15655,7 +15871,7 @@ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
15655
15871
  displayName: "ProgressBar__TextOverlay",
15656
15872
  componentId: "sc-qa6fzh-1"
15657
15873
  })(["width:100%;position:relative;"]);
15658
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15874
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
15659
15875
  displayName: "ProgressBar__Container",
15660
15876
  componentId: "sc-qa6fzh-2"
15661
15877
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -15666,7 +15882,7 @@ var Container$i = /*#__PURE__*/styled.div.withConfig({
15666
15882
  return props.style;
15667
15883
  });
15668
15884
 
15669
- var img$7 = 'data:image/png;base64,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';
15885
+ var img$8 = 'data:image/png;base64,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';
15670
15886
 
15671
15887
  var QuestInfo = function QuestInfo(_ref) {
15672
15888
  var quests = _ref.quests,
@@ -15710,7 +15926,7 @@ var QuestInfo = function QuestInfo(_ref) {
15710
15926
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15711
15927
  className: "drag-handler"
15712
15928
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15713
- src: quests[currentIndex].thumbnail || img$7
15929
+ src: quests[currentIndex].thumbnail || img$8
15714
15930
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15715
15931
  className: "golden"
15716
15932
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -15729,7 +15945,7 @@ var QuestInfo = function QuestInfo(_ref) {
15729
15945
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15730
15946
  className: "drag-handler"
15731
15947
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15732
- src: quests[0].thumbnail || img$7
15948
+ src: quests[0].thumbnail || img$8
15733
15949
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15734
15950
  className: "golden"
15735
15951
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -15915,7 +16131,7 @@ var Shortcuts = function Shortcuts(_ref) {
15915
16131
  return classBase + " " + (isOnCooldown ? 'onCooldown' : '');
15916
16132
  };
15917
16133
  var isOnShortcutCooldown = shortcutCooldown > 0;
15918
- if (((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) === ShortcutType.Item) {
16134
+ if (shortcuts && ((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) === ShortcutType.Item) {
15919
16135
  var _shortcuts$i2;
15920
16136
  var _payload = (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.payload;
15921
16137
  var itemsFromEquipment = [];
@@ -15955,7 +16171,7 @@ var Shortcuts = function Shortcuts(_ref) {
15955
16171
  className: buildClassName('keyboard', isOnShortcutCooldown)
15956
16172
  }, i + 1));
15957
16173
  }
15958
- var payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
16174
+ var payload = shortcuts && ((_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload); //check if shortcuts exists before using the ? operator.
15959
16175
  var spellCooldown = !payload ? 0 : (_spellCooldowns$paylo = spellCooldowns == null ? void 0 : spellCooldowns[payload.magicWords.replaceAll(' ', '_')]) != null ? _spellCooldowns$paylo : shortcutCooldown;
15960
16176
  var cooldown = spellCooldown > shortcutCooldown ? spellCooldown : shortcutCooldown;
15961
16177
  var isOnCooldown = cooldown > 0 && !!payload;
@@ -15994,7 +16210,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
15994
16210
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
15995
16211
  _ref$margin = _ref.margin,
15996
16212
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
15997
- return React.createElement(Container$j, {
16213
+ return React.createElement(Container$l, {
15998
16214
  className: "simple-progress-bar"
15999
16215
  }, React.createElement(ProgressBarContainer, {
16000
16216
  margin: margin
@@ -16003,7 +16219,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16003
16219
  bgColor: bgColor
16004
16220
  }))));
16005
16221
  };
16006
- var Container$j = /*#__PURE__*/styled.div.withConfig({
16222
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
16007
16223
  displayName: "SimpleProgressBar__Container",
16008
16224
  componentId: "sc-mbeil3-0"
16009
16225
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16162,6 +16378,9 @@ var SkillsContainer = function SkillsContainer(_ref) {
16162
16378
  var _Object$entries$_i = _Object$entries[_i],
16163
16379
  key = _Object$entries$_i[0],
16164
16380
  value = _Object$entries$_i[1];
16381
+ if (key === 'stamina') {
16382
+ continue;
16383
+ }
16165
16384
  //@ts-ignore
16166
16385
  var skillDetails = skill[key];
16167
16386
  output.push(React.createElement(SkillProgressBar, {
@@ -16182,60 +16401,268 @@ var SkillsContainer = function SkillsContainer(_ref) {
16182
16401
  title: "Skills",
16183
16402
  cancelDrag: "#skillsDiv",
16184
16403
  scale: scale
16185
- }, onCloseButton && React.createElement(CloseButton$3, {
16186
- onPointerDown: onCloseButton
16187
- }, "X"), React.createElement(SkillsContainerDiv, {
16188
- id: "skillsDiv"
16189
- }, React.createElement(SkillSplitDiv, null, React.createElement("p", null, "General"), React.createElement("hr", {
16190
- className: "golden"
16191
- }), React.createElement(SkillProgressBar, {
16192
- skillName: 'Level',
16193
- bgColor: uiColors.navyBlue,
16194
- level: Math.round(skill.level) || 0,
16195
- skillPoints: Math.round(skill.experience) || 0,
16196
- skillPointsToNextLevel: Math.round(skill.xpToNextLevel) || 0,
16197
- texturePath: 'swords/broad-sword.png',
16198
- atlasIMG: atlasIMG,
16199
- atlasJSON: atlasJSON
16200
- }), React.createElement("p", null, "Combat Skills"), React.createElement("hr", {
16201
- className: "golden"
16202
- })), onRenderSkillCategory('combat'), React.createElement(SkillSplitDiv, null, React.createElement("p", null, "Crafting Skills"), React.createElement("hr", {
16203
- className: "golden"
16204
- })), onRenderSkillCategory('crafting'), React.createElement(SkillSplitDiv, null, React.createElement("p", null, "Basic Attributes"), React.createElement("hr", {
16205
- className: "golden"
16206
- })), onRenderSkillCategory('attributes')));
16404
+ }, onCloseButton && React.createElement(CloseButton$3, {
16405
+ onPointerDown: onCloseButton
16406
+ }, "X"), React.createElement(SkillsContainerDiv, {
16407
+ id: "skillsDiv"
16408
+ }, React.createElement(SkillSplitDiv, null, React.createElement("p", null, "General"), React.createElement("hr", {
16409
+ className: "golden"
16410
+ }), React.createElement(SkillProgressBar, {
16411
+ skillName: 'Level',
16412
+ bgColor: uiColors.navyBlue,
16413
+ level: Math.round(skill.level) || 0,
16414
+ skillPoints: Math.round(skill.experience) || 0,
16415
+ skillPointsToNextLevel: Math.round(skill.xpToNextLevel) || 0,
16416
+ texturePath: 'swords/broad-sword.png',
16417
+ atlasIMG: atlasIMG,
16418
+ atlasJSON: atlasJSON
16419
+ }), React.createElement("p", null, "Combat Skills"), React.createElement("hr", {
16420
+ className: "golden"
16421
+ })), onRenderSkillCategory('combat'), React.createElement(SkillSplitDiv, null, React.createElement("p", null, "Crafting Skills"), React.createElement("hr", {
16422
+ className: "golden"
16423
+ })), onRenderSkillCategory('crafting'), React.createElement(SkillSplitDiv, null, React.createElement("p", null, "Basic Attributes"), React.createElement("hr", {
16424
+ className: "golden"
16425
+ })), onRenderSkillCategory('attributes')));
16426
+ };
16427
+ var SkillsDraggableContainer = /*#__PURE__*/styled(DraggableContainer).withConfig({
16428
+ displayName: "SkillsContainer__SkillsDraggableContainer",
16429
+ componentId: "sc-1g0c67q-0"
16430
+ })(["border:1px solid black;@media screen and (min-width:800px){body{width:800px;}}@media screen and (max-width:800px){body{width:400px;}}height:90%;.DraggableContainer__TitleContainer-sc-184mpyl-2{width:auto;height:auto;}"]);
16431
+ var SkillsContainerDiv = /*#__PURE__*/styled.div.withConfig({
16432
+ displayName: "SkillsContainer__SkillsContainerDiv",
16433
+ componentId: "sc-1g0c67q-1"
16434
+ })(["width:100%;-webkit-overflow-y:scroll;overflow-y:scroll;height:90%;padding-right:10px;"]);
16435
+ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
16436
+ displayName: "SkillsContainer__SkillSplitDiv",
16437
+ componentId: "sc-1g0c67q-2"
16438
+ })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
16439
+ var CloseButton$3 = /*#__PURE__*/styled.div.withConfig({
16440
+ displayName: "SkillsContainer__CloseButton",
16441
+ componentId: "sc-1g0c67q-3"
16442
+ })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
16443
+
16444
+ var formatSpellCastingType = function formatSpellCastingType(castingType) {
16445
+ var formattedCastingType = castingType.split("-").map(function (word) {
16446
+ return word.charAt(0).toUpperCase() + word.slice(1);
16447
+ }).join(" ");
16448
+ return formattedCastingType;
16449
+ };
16450
+
16451
+ var SpellInfo = function SpellInfo(_ref) {
16452
+ var spell = _ref.spell;
16453
+ var magicWords = spell.magicWords,
16454
+ name = spell.name,
16455
+ manaCost = spell.manaCost,
16456
+ requiredItem = spell.requiredItem,
16457
+ description = spell.description,
16458
+ castingType = spell.castingType,
16459
+ cooldown = spell.cooldown,
16460
+ maxDistanceGrid = spell.maxDistanceGrid;
16461
+ 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", {
16462
+ className: "label"
16463
+ }, "Casting Type:"), React.createElement("div", {
16464
+ className: "value"
16465
+ }, formatSpellCastingType(castingType))), React.createElement(Statistic$1, null, React.createElement("div", {
16466
+ className: "label"
16467
+ }, "Magic words:"), React.createElement("div", {
16468
+ className: "value"
16469
+ }, magicWords)), React.createElement(Statistic$1, null, React.createElement("div", {
16470
+ className: "label"
16471
+ }, "Mana cost:"), React.createElement("div", {
16472
+ className: "value"
16473
+ }, manaCost)), React.createElement(Statistic$1, null, React.createElement("div", {
16474
+ className: "label"
16475
+ }, "Cooldown:"), React.createElement("div", {
16476
+ className: "value"
16477
+ }, cooldown)), maxDistanceGrid && React.createElement(Statistic$1, null, React.createElement("div", {
16478
+ className: "label"
16479
+ }, "Max Distance Grid:"), React.createElement("div", {
16480
+ className: "value"
16481
+ }, maxDistanceGrid)), React.createElement(Statistic$1, null, requiredItem && React.createElement(React.Fragment, null, React.createElement("div", {
16482
+ className: "label"
16483
+ }, "Required Item:"), React.createElement("div", {
16484
+ className: "value"
16485
+ }, requiredItem))), React.createElement(Description$1, null, description));
16486
+ };
16487
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16488
+ displayName: "SpellInfo__Container",
16489
+ componentId: "sc-4hbw3q-0"
16490
+ })(["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);
16491
+ var Title$6 = /*#__PURE__*/styled.div.withConfig({
16492
+ displayName: "SpellInfo__Title",
16493
+ componentId: "sc-4hbw3q-1"
16494
+ })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
16495
+ var Type$1 = /*#__PURE__*/styled.div.withConfig({
16496
+ displayName: "SpellInfo__Type",
16497
+ componentId: "sc-4hbw3q-2"
16498
+ })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
16499
+ var Description$1 = /*#__PURE__*/styled.div.withConfig({
16500
+ displayName: "SpellInfo__Description",
16501
+ componentId: "sc-4hbw3q-3"
16502
+ })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
16503
+ var Header$1 = /*#__PURE__*/styled.div.withConfig({
16504
+ displayName: "SpellInfo__Header",
16505
+ componentId: "sc-4hbw3q-4"
16506
+ })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
16507
+ var Statistic$1 = /*#__PURE__*/styled.div.withConfig({
16508
+ displayName: "SpellInfo__Statistic",
16509
+ componentId: "sc-4hbw3q-5"
16510
+ })(["margin-bottom:0.4rem;width:max-content;.label{display:inline-block;margin-right:0.5rem;color:inherit;}.value{display:inline-block;color:inherit;}&.better,.better{color:", ";}&.worse,.worse{color:", ";}"], uiColors.lightGreen, uiColors.cardinal);
16511
+
16512
+ var SpellInfoDisplay = function SpellInfoDisplay(_ref) {
16513
+ var spell = _ref.spell,
16514
+ isMobile = _ref.isMobile;
16515
+ return React.createElement(Flex$1, {
16516
+ "$isMobile": isMobile
16517
+ }, React.createElement(SpellInfo, {
16518
+ spell: spell
16519
+ }));
16520
+ };
16521
+ var Flex$1 = /*#__PURE__*/styled.div.withConfig({
16522
+ displayName: "SpellInfoDisplay__Flex",
16523
+ componentId: "sc-1htnsmm-0"
16524
+ })(["display:flex;gap:0.5rem;flex-direction:", ";@media (max-width:580px){flex-direction:column-reverse;align-items:center;}"], function (_ref2) {
16525
+ var $isMobile = _ref2.$isMobile;
16526
+ return $isMobile ? 'row-reverse' : 'row';
16527
+ });
16528
+
16529
+ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16530
+ var spell = _ref.spell,
16531
+ closeTooltip = _ref.closeTooltip,
16532
+ _ref$scale = _ref.scale,
16533
+ scale = _ref$scale === void 0 ? 1 : _ref$scale,
16534
+ options = _ref.options,
16535
+ onSelected = _ref.onSelected;
16536
+ var ref = useRef(null);
16537
+ var handleFadeOut = function handleFadeOut() {
16538
+ var _ref$current;
16539
+ (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16540
+ };
16541
+ return React.createElement(ModalPortal, null, React.createElement(Container$n, {
16542
+ ref: ref,
16543
+ onTouchEnd: function onTouchEnd() {
16544
+ handleFadeOut();
16545
+ setTimeout(function () {
16546
+ closeTooltip();
16547
+ }, 100);
16548
+ },
16549
+ scale: scale
16550
+ }, React.createElement(SpellInfoDisplay, {
16551
+ spell: spell,
16552
+ isMobile: true
16553
+ }), React.createElement(OptionsContainer$1, null, options == null ? void 0 : options.map(function (option) {
16554
+ return React.createElement(Option$1, {
16555
+ key: option.id,
16556
+ onTouchEnd: function onTouchEnd() {
16557
+ handleFadeOut();
16558
+ setTimeout(function () {
16559
+ onSelected == null ? void 0 : onSelected(option.id);
16560
+ closeTooltip();
16561
+ }, 100);
16562
+ }
16563
+ }, option.text);
16564
+ }))));
16565
+ };
16566
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
16567
+ displayName: "MobileSpellTooltip__Container",
16568
+ componentId: "sc-6p7uvr-0"
16569
+ })(["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;}"]);
16570
+ var OptionsContainer$1 = /*#__PURE__*/styled.div.withConfig({
16571
+ displayName: "MobileSpellTooltip__OptionsContainer",
16572
+ componentId: "sc-6p7uvr-1"
16573
+ })(["display:flex;flex-direction:column;gap:0.5rem;flex-wrap:wrap;@media (max-width:580px){flex-direction:row;justify-content:center;}"]);
16574
+ var Option$1 = /*#__PURE__*/styled.button.withConfig({
16575
+ displayName: "MobileSpellTooltip__Option",
16576
+ componentId: "sc-6p7uvr-2"
16577
+ })(["padding:1rem;background-color:#333;color:white;border:none;border-radius:3px;width:8rem;transition:background-color 0.1s;&:hover{background-color:#555;}@media (max-width:580px){padding:1rem 0.5rem;}"]);
16578
+
16579
+ var offset$1 = 20;
16580
+ var MagicTooltip = function MagicTooltip(_ref) {
16581
+ var spell = _ref.spell;
16582
+ var ref = useRef(null);
16583
+ useEffect(function () {
16584
+ var current = ref.current;
16585
+ if (current) {
16586
+ var handleMouseMove = function handleMouseMove(event) {
16587
+ var clientX = event.clientX,
16588
+ clientY = event.clientY;
16589
+ // Adjust the position of the tooltip based on the mouse position
16590
+ var rect = current.getBoundingClientRect();
16591
+ var tooltipWidth = rect.width;
16592
+ var tooltipHeight = rect.height;
16593
+ var isOffScreenRight = clientX + tooltipWidth + offset$1 > window.innerWidth;
16594
+ var isOffScreenBottom = clientY + tooltipHeight + offset$1 > window.innerHeight;
16595
+ var x = isOffScreenRight ? clientX - tooltipWidth - offset$1 : clientX + offset$1;
16596
+ var y = isOffScreenBottom ? clientY - tooltipHeight - offset$1 : clientY + offset$1;
16597
+ current.style.transform = "translate(" + x + "px, " + y + "px)";
16598
+ current.style.opacity = '1';
16599
+ };
16600
+ window.addEventListener('mousemove', handleMouseMove);
16601
+ return function () {
16602
+ window.removeEventListener('mousemove', handleMouseMove);
16603
+ };
16604
+ }
16605
+ return;
16606
+ }, []);
16607
+ return React.createElement(ModalPortal, null, React.createElement(Container$o, {
16608
+ ref: ref
16609
+ }, React.createElement(SpellInfoDisplay, {
16610
+ spell: spell
16611
+ })));
16612
+ };
16613
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16614
+ displayName: "SpellTooltip__Container",
16615
+ componentId: "sc-1go0gwg-0"
16616
+ })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
16617
+
16618
+ var SpellInfoWrapper = function SpellInfoWrapper(_ref) {
16619
+ var children = _ref.children,
16620
+ spell = _ref.spell,
16621
+ scale = _ref.scale;
16622
+ var _useState = useState(false),
16623
+ isTooltipVisible = _useState[0],
16624
+ setIsTooltipVisible = _useState[1];
16625
+ var _useState2 = useState(false),
16626
+ isTooltipMobileVisible = _useState2[0],
16627
+ setIsTooltipMobileVisible = _useState2[1];
16628
+ return React.createElement("div", {
16629
+ onMouseEnter: function onMouseEnter() {
16630
+ if (!isTooltipMobileVisible) setIsTooltipVisible(true);
16631
+ },
16632
+ onMouseLeave: setIsTooltipVisible.bind(null, false),
16633
+ onTouchEnd: function onTouchEnd() {
16634
+ setIsTooltipMobileVisible(true);
16635
+ setIsTooltipVisible(false);
16636
+ }
16637
+ }, children, isTooltipVisible && !isTooltipMobileVisible && React.createElement(MagicTooltip, {
16638
+ spell: spell
16639
+ }), isTooltipMobileVisible && React.createElement(MobileSpellTooltip, {
16640
+ closeTooltip: function closeTooltip() {
16641
+ setIsTooltipMobileVisible(false);
16642
+ console.log('close');
16643
+ },
16644
+ spell: spell,
16645
+ scale: scale
16646
+ }));
16207
16647
  };
16208
- var SkillsDraggableContainer = /*#__PURE__*/styled(DraggableContainer).withConfig({
16209
- displayName: "SkillsContainer__SkillsDraggableContainer",
16210
- componentId: "sc-1g0c67q-0"
16211
- })(["border:1px solid black;width:400px;height:90%;.DraggableContainer__TitleContainer-sc-184mpyl-2{width:auto;height:auto;}"]);
16212
- var SkillsContainerDiv = /*#__PURE__*/styled.div.withConfig({
16213
- displayName: "SkillsContainer__SkillsContainerDiv",
16214
- componentId: "sc-1g0c67q-1"
16215
- })(["width:100%;-webkit-overflow-y:scroll;overflow-y:scroll;height:90%;padding-right:10px;"]);
16216
- var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
16217
- displayName: "SkillsContainer__SkillSplitDiv",
16218
- componentId: "sc-1g0c67q-2"
16219
- })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
16220
- var CloseButton$3 = /*#__PURE__*/styled.div.withConfig({
16221
- displayName: "SkillsContainer__CloseButton",
16222
- componentId: "sc-1g0c67q-3"
16223
- })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
16224
16648
 
16225
16649
  var Spell = function Spell(_ref) {
16226
16650
  var spellKey = _ref.spellKey,
16227
- name = _ref.name,
16228
- description = _ref.description,
16229
- magicWords = _ref.magicWords,
16230
- manaCost = _ref.manaCost,
16231
16651
  charMana = _ref.charMana,
16232
16652
  charMagicLevel = _ref.charMagicLevel,
16233
16653
  onPointerUp = _ref.onPointerUp,
16234
16654
  isSettingShortcut = _ref.isSettingShortcut,
16235
- minMagicLevelRequired = _ref.minMagicLevelRequired,
16655
+ spell = _ref.spell,
16236
16656
  activeCooldown = _ref.activeCooldown;
16657
+ var manaCost = spell.manaCost,
16658
+ minMagicLevelRequired = spell.minMagicLevelRequired,
16659
+ magicWords = spell.magicWords,
16660
+ name = spell.name,
16661
+ description = spell.description;
16237
16662
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16238
- return React.createElement(Container$k, {
16663
+ return React.createElement(SpellInfoWrapper, {
16664
+ spell: spell
16665
+ }, React.createElement(Container$p, {
16239
16666
  disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16240
16667
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16241
16668
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -16244,16 +16671,16 @@ var Spell = function Spell(_ref) {
16244
16671
  className: "cooldown"
16245
16672
  }, activeCooldown.toFixed(activeCooldown > 10 ? 0 : 1)) : null, magicWords.split(' ').map(function (word) {
16246
16673
  return word[0];
16247
- })), React.createElement(Info, null, React.createElement(Title$6, null, React.createElement("span", null, name), React.createElement("span", {
16674
+ })), React.createElement(Info, null, React.createElement(Title$7, null, React.createElement("span", null, name), React.createElement("span", {
16248
16675
  className: "spell"
16249
- }, "(", magicWords, ")")), React.createElement(Description$1, null, description)), React.createElement(Divider, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
16676
+ }, "(", magicWords, ")")), React.createElement(Description$2, null, description)), React.createElement(Divider, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
16250
16677
  className: "mana"
16251
- }, manaCost)));
16678
+ }, manaCost))));
16252
16679
  };
16253
- var Container$k = /*#__PURE__*/styled.button.withConfig({
16680
+ var Container$p = /*#__PURE__*/styled.button.withConfig({
16254
16681
  displayName: "Spell__Container",
16255
16682
  componentId: "sc-j96fa2-0"
16256
- })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;height:5rem;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) {
16683
+ })(["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) {
16257
16684
  var isSettingShortcut = _ref2.isSettingShortcut;
16258
16685
  return isSettingShortcut ? 'border-color-change 1s infinite' : 'none';
16259
16686
  }, uiColors.yellow, uiColors.yellow, uiColors.darkGray);
@@ -16264,12 +16691,12 @@ var SpellImage = /*#__PURE__*/styled.div.withConfig({
16264
16691
  var Info = /*#__PURE__*/styled.span.withConfig({
16265
16692
  displayName: "Spell__Info",
16266
16693
  componentId: "sc-j96fa2-2"
16267
- })(["width:0;flex:1;"]);
16268
- var Title$6 = /*#__PURE__*/styled.p.withConfig({
16694
+ })(["width:0;flex:1;@media (orientation:portrait){display:none;}"]);
16695
+ var Title$7 = /*#__PURE__*/styled.p.withConfig({
16269
16696
  displayName: "Spell__Title",
16270
16697
  componentId: "sc-j96fa2-3"
16271
16698
  })(["display:flex;flex-wrap:wrap;align-items:center;margin-bottom:5px;margin:0;span{font-size:", " !important;font-weight:bold !important;color:", " !important;margin-right:0.5rem;}.spell{font-size:", " !important;font-weight:normal !important;color:", " !important;}"], uiFonts.size.medium, uiColors.yellow, uiFonts.size.small, uiColors.lightGray);
16272
- var Description$1 = /*#__PURE__*/styled.div.withConfig({
16699
+ var Description$2 = /*#__PURE__*/styled.div.withConfig({
16273
16700
  displayName: "Spell__Description",
16274
16701
  componentId: "sc-j96fa2-4"
16275
16702
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -16338,7 +16765,7 @@ var Spellbook = function Spellbook(_ref) {
16338
16765
  height: "inherit",
16339
16766
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
16340
16767
  scale: scale
16341
- }, React.createElement(Container$l, null, React.createElement(Title$7, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
16768
+ }, React.createElement(Container$q, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
16342
16769
  setSettingShortcutIndex: setSettingShortcutIndex,
16343
16770
  settingShortcutIndex: settingShortcutIndex,
16344
16771
  shortcuts: shortcuts,
@@ -16363,15 +16790,16 @@ var Spellbook = function Spellbook(_ref) {
16363
16790
  onPointerUp: settingShortcutIndex !== -1 ? setShortcut : onSpellClick,
16364
16791
  spellKey: spell.key,
16365
16792
  isSettingShortcut: settingShortcutIndex !== -1,
16793
+ spell: spell,
16366
16794
  activeCooldown: spellCooldowns == null ? void 0 : spellCooldowns[spell.magicWords.replaceAll(' ', '_')]
16367
16795
  }, spell)));
16368
16796
  }))));
16369
16797
  };
16370
- var Title$7 = /*#__PURE__*/styled.h1.withConfig({
16798
+ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
16371
16799
  displayName: "Spellbook__Title",
16372
16800
  componentId: "sc-r02nfq-0"
16373
16801
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
16374
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16802
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16375
16803
  displayName: "Spellbook__Container",
16376
16804
  componentId: "sc-r02nfq-1"
16377
16805
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -16385,16 +16813,16 @@ var TextArea = function TextArea(_ref) {
16385
16813
  return React.createElement("textarea", Object.assign({}, props));
16386
16814
  };
16387
16815
 
16388
- var img$8 = 'data:image/gif;base64,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';
16816
+ var img$9 = 'data:image/gif;base64,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';
16389
16817
 
16390
- var img$9 = 'data:image/gif;base64,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';
16818
+ var img$a = 'data:image/gif;base64,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';
16391
16819
 
16392
- var img$a = 'data:image/gif;base64,R0lGODlhTgBNAPIAAAAAAAgIMhkZS2tsbbcIL4zZ98jh6////yH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq4j4b6wy4qwYN+4Dc+biwfAoBCIk/EoL9twySQKXkcI4dasMm+EKMNnDRiA327wmY1OBeLA4ZAW6o7TtpotH5dX8XY4XA888QIDgoOEhYaHiIR/KFOJjo+QiyWNkJWWinc0gZecjgaDkiB5fV4Gpqd8XQYHfKEeo2pppmu0tKaybpkdlJeztb9rpp2uGryVvsDJrJ+XxBiwqsrStnLOF9BVq9PbqVbWFcae27SGtcyRutdoYtrbVtRi3xLYTe3Kbaxt8lLr0dN1+eKlQ9LPij1gpLo12feA3pCDv0hVGzivYLZ/EvVR5McO/2PGNAy3WGQCsdZHjc9GLim5JmGfkAscCmFJp47CLjAVyAxCk1SBlxsbjuzWs06BAz8npnwYEIw0PQaOrilwKxuRoA6wEX1qFGnHLzkB7OTJVU5SdleXdrxnE2iGsU7Z6qkTVqfKlWVPLsQqVE9evUPqir2L9y/gtMUIMzWsV7BdOTRbHvbDNwJcsu6GBFO6S/HKyMCqvrPzyjNJ0MtIORYpEdkv0XQrEwRDWxaqUxlXZ+0neTLnEHl6+xY4ScCe4cRNXG5dRfds5KtuOgdnWjjaJdMtjLWuWjZwJcideKexPPZ4EmdMx3ujpUES9VfInFfhgwpOLPN51MjBf0f7HhYxBPjfgAQWaOCBCCao4IIMNuggBwkAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAAA/8Iutz+MMpJq7046827/2AojmRpnmiqriPhvrDLirBg37gNz5uLB8CgEIiT8Sgv23DJJApeRwjhxjQIrU3nM8rwZb/gJ4E7FYCBh8N5qDtO12g1XLhlvef4ZT01Hfj/gIEGgIOBhod7Jn2HjI2OggOJLQKPlZaMkiCLl5yPhZFjNGZ5pFcBBgdWVpkcd3FwBrGysXNYRKEfm35plbFpv7+xnX+sGLqXvsDKacKOn8S4PaOwqMvWzLZrxRauZ9XX4Klz20iUyOHoqZzkEt1f3+hLwNlf7FLTYPDgX8Fw9g7usuhbBkectmjc8AmMN8dgGIQVAlYJR4pek39dFDYZCKz/1DiI7TRO3OfxoDGRQzj+KukPZASJKSmyPINRQUB6KuXgsfjwpDeSO2Hd8pky5jVSBfLUBOBKlTgsOfMUOJDU29ALN41aozY1TQFaS5yucnnv51E8U6vmu5owbFigcNS2zADzCtw1PKsEWGoTpVaCtfDwZerX7tmZF8m+LGx4K2Imgwnjlfk4SGTJk+8ivozZrGaPnDt71swMTBq20nbmtAaWn5zQmLPlPbUam1LFWBlXUdn6o6ggp6nN6i0YN9HglYHMRh2ibvLEJ5o+nw07pNVTVlGpYmM8l27keCF318QYfKnquVFCDWwZvTHnoI1wIaxk5o3xfHzovigGv50yI/XVc59/UdSQw4E7zNdDDAwq6OCDEEYo4YQUVmjhhRhmyEECACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAAA/8Iutz+MMpJq7046827/2AojmRpnmiqriPhvrDLirBg37gNz5uLB8CgEIiT8Sgv23DJJApeRwjh1qwyb4Qow2ftVp/Z6FTgDRzKQ91xim5fwyu2ey58xgWDvH7P7/v/egZ2KFOAhoeIgyWFiI2OAwZ5ijR4j5aGkZJwIHIBBkCfdGWfBgYHpZ6THp1mZ6JzoUSbHYx6BweOpbq6j5l6qhq1eZm+f6W3yMill7+zGaxox8nTt6hWsUHAGNBd0tTfp9he2hbCiKbg6dWW5Ehk0erxp23tEtxV6PJLyeJW9VLvvORTZ0UZmn8P7jEZ+A3NvDIIHSgcwpCam4ddIm4J2I3/IKyDzuxxxOfx1biQESYKqZjMJESUAJeIY4nM5cttIxeWtClTFs6eK9PR6ZcRZsKcM4V+HOXzghxSplCRUuqmQLSm5ZBSpIqmwAGrTaCG06iAW1Jw0Qx4vVXAWlisFVSC4lrGK9hucOOO7EfTVZu7N5/llElX4FWyC+TORduG6BejMQUW5pkNcuSOjCnXsXz52k7NiBso9vR5KKgAoUUP1ln6oqvUGxvrG1Kty628wVYv7PvN7dtUnN258ZbO90lKQfx2o2nc8eYWuq/t0iUKtkjNC/0FF2w4iHOKj1OMvnpM6nMVim83fjNDrvqrabZzUoK9jnVaZlfCR21EC4AxMdEdpIZ/W/gQ4BdgyBcHgAcWoeAaSeQg4Q4EBhPDhRVmqOGGHHbo4YcghijiiCQ+kAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHA5loe44TZvR7uBz1o7b1eHUdMDv+/+AgYJ+cyh7g4iJiYUlh4qPkH2MNAIDBn6XkZqBkx91d6BCcER5nmRBZ6GqAZ0cjnxnm7KCrRmvsga5urmzkqUanwEGQsNVuWfIyLmhtRfBacfJ0mfLds0Vt4rR09wHvJrXE89dBt3mynHhEeNW5efvxWnqD+xN7u+jqOjyv9inXvfOWdnnZZ6DeksCckvjjZ+tf+TexWlYxuAChEMUSrsTr/+LRQUYg2hMtqpgPwkhgYxEVtLjyXUQ7QlsaeUjgJQrU9H88lJKTCY5OVrrSe9nPmHmhKYjevBnwqR2CjAkhQEnVDcFDkh1Y9NqN2gGsp4pUM3lw4hf42TdWpFpUYBX07BtC8xpxrhlOpqsmxcvuaU97BLzu9PmFsGD067qOMzwYbiEVzl+DFmxKp2TLyJOHJkhnMyaoeFbQs0hiJQqc3IrC1SOWwufdBpTTU2vWUpAZLdbyZouCdQZd+m6Axrl5p1Dios7Duqo6xUpnYNSDpt5SerOlCBXg70q8KWvT4yxXnONlgZJyCcHE57O+ONF2mupkaP+jvM9YujHz7+///8NAAYo4IAEFmjggRwkAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq4j4b6wy4qwYN+4Dc+biwfAoBCIk/EoL9twySQKXkcI4dasMm+EKMNnDRiA327wmY1OBeLA4ZAW6o7TtpotH5dX8XY4XA888QIDgoOEhYaHiIR/KFOJjo+QiyWNkJWWinc0gZecjgaDkiB5faRDBgd8oR6jaqWlfH6ZHZSdtZWqGrS2Bry9vLagshmsdbxrx8e8rrgYxGnGyNFryn3MFrqV0NLbqJ+c1khocqfc5dN14BLOVuTm5rBi6VLiz+7HS8jwVvIP60zt5qwka8PPgb8lALe1QUVQ2ISDptzVYZim4AKIQhJGI6Wv/4lFBRjBBHRV0WGEkF5GkuzyEUBIjchWlmxGrwrMezJZmpyHMCI3jtV29quZEtZNOsX0EBFqkKgXnwr7FKj3peXLclIPTBUTxqpThFifGShwrAA1ncO+Zgwrh+zWmWm5sm3zFi5NuT+TymkJUi1UaXob9vAb5GhOj0xPEi489/DSWYtTNs7JtwHKo0hJIq28JbJIlTI5d9ZjDx/FeIkr5NnTRJu9boJDjFrTxTW3s3ZFiaPN9Sbu3LIFsBbr6zdwTY57Ik6Bss+pjqIvhOStdEn0uwIzl7qe1vN27rmaozOixSWV0G/Kb/Hh3TqZ1DzYK2GJBX75Gjny71AfPkYM/hIABijggAQWaOCBCCao4IIPJAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHGNAitTeczyvBlv+AngTsVgIGHw3moO07XaDVcuGW95/hlPTUd+P+AgQaAg4GGh3smfYeMjY6CA4ktAo+VloySIIuXnI+FkWM0ZnmkVwEGB1ZWmRx3caWkWEShH5t+aZcGuru6nYGsGLadumnFxb2Vn3/AFq5zxMbRabqkzBXOZ9DS26mya9YTwp7c5Med4BHYX6jl7d5htMGja+ztckLG71/oDupN9eW+HIPDr4G/Ku3gpCIYr9m8dQnnLDxTcMHBJQClxWIoj/9eQFjfGoZ7mCVjNJAhO4IxaQxlygvq3rEs5pKiSAkXg8y89wwOlooAYg7ZuREPUFeqFmIhmqeAz1kqTV0h1/SA05KnFh4liZCbTwMFihWghjXAVoxDqeIJe5Vj1JJq57RdafbmyGxxn84BqiCnzrzZjNrFybXrtppZ+PYtjBEw4rqtGKd1XFOxRclTKYO0fNlnRFhpoHbwm/kjvolZQkP2cMebvlM7t5F9WQszxtjTXicenMGV6pUzZ+/l3XvU72y8dlWBV4L0Yz3EI+t8fmo3H9vVs6/LqopN9NpnjgeGPsOv+GrfRTFe2jNImyheqNdNr4iKyxv0USTB3kSHES4mUpShRBj45QfffjnksAOAPcTgIIMQRijhhBRWaOGFGGao4YYcJAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHMpD3XGKbl/DK7Z7LnzGBYO8fs/v+/96BnYoU4CGh4iDJYWIjY4DBnmKNHiPloaRknAgcgEGQJ90ZZ8GBgelnpMenWZno6WwqGihRJsdjHoHB4ilur6+pY2ZeqoauHmZw329v826wZfFGKxezM7Xp7RL2rWrZLPY4cBt0hbHh6bi6sqH5Ujf1eq+S7/cX7bm8F3p6lbjZe4iUKvCDxuaU2gCStFHsF8bhF4UPhjIpKAzOvbeZKC4Tf+cKHL4JHAcYrHZx4QhBTKs6PEkwJQLt5Fs6bKLxC0rOxqck7FitwsDuZWcx3POzQVBZ+50U2DWz3ygPJlCRSrcnAIHmlZ7WiGpkKG6ZhnAqquArK9Ssx1V4DUIWFdtsGrdx/XdKKtMnQZYy5ahvbdFQRrLqfOam54y+fa9u7Smxo2EC190/Bgy48aU98KcMFIpZseKcYKjiTFqaNGjSQN51iWsZm+H3147W8X1adRtrIWjTRDU7Qadm+iuh/gepSBwX8XiHdXmZsuZRf2OGZ2klekqt7rVW9lE8MNpqdZ5ziky8uTa05APEdw19yDYpympDj/+xraeuIPRgpRKTSwv/AHng3nXgbEeDwPOV6AOB/JXQw4Q7hCgMTFUOOGFGGao4YYcdujhhyCGKOIDCQAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHA5loe44TZvR7uBz1o7b1eHUdMDv+/+AgYJ+cyh7g4iJiYUlh4qPkH2MNAIDBn6XkZqBkx91dwahoqFucER5nmRBZ16hZ6+vpHadHI58Z4iusLtnoZu0GbaKurzFB76RwBefAQZCzs/G0rFuyhbMVgbT28dp1kiVj9rcB4CwmYrfEthN49tW1F7qUqqt72XdZfMO7EzuxnHyddnXoN+Sf7xA6UN1rV4VhLvuVGMIrgxEWBInYjAYTf9aRo3LHLab9tEbxXUi/Xm0Aw1kQ3sAWc46GYFjkIus7BSYuTHlwZVuChzY6bICO1NAcCLNZkDomQKyBtKkB7OYzqH4TvW0CDQN0aIVqyaM09JkMJ8/Y6YpK29qTbRDlJaUqsFmR6tzmxDcAjcuybxL9vJd+xew1h59/RaWeTOA4IKJ73YF0gvsWbJKi0WtkvMxZFCZe7HlDMfzZ9DGNltGnHHUKLJy3G6lvNRw2xaqctpe2Cjybjwn7P4+HNz3ndrEDUVGfsd0XeMlnSOGPkt6LeHNjWgBMIa63jXbt/jwLgeMbDHdIxc5H557khzwd7QPFqP+/Pv48+vfz7+///8FAAbIXwIAOw==';
16820
+ var img$b = 'data:image/gif;base64,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';
16393
16821
 
16394
16822
  var DayNightPeriod = function DayNightPeriod(_ref) {
16395
16823
  var _periodOfDaySrcFiles;
16396
16824
  var periodOfDay = _ref.periodOfDay;
16397
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16825
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
16398
16826
  return React.createElement(GifContainer, null, React.createElement("img", {
16399
16827
  src: periodOfDaySrcFiles[periodOfDay]
16400
16828
  }));
@@ -16404,7 +16832,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16404
16832
  componentId: "sc-10t97fw-0"
16405
16833
  })(["width:100%;img{width:67%;}"]);
16406
16834
 
16407
- 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';
16835
+ 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';
16408
16836
 
16409
16837
  var TimeWidget = function TimeWidget(_ref) {
16410
16838
  var onClose = _ref.onClose,
@@ -16422,7 +16850,7 @@ var TimeWidget = function TimeWidget(_ref) {
16422
16850
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16423
16851
  displayName: "TimeWidget__WidgetContainer",
16424
16852
  componentId: "sc-1ja236h-0"
16425
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16853
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
16426
16854
  var Time = /*#__PURE__*/styled.div.withConfig({
16427
16855
  displayName: "TimeWidget__Time",
16428
16856
  componentId: "sc-1ja236h-1"
@@ -16608,7 +17036,7 @@ var TradingMenu = function TradingMenu(_ref) {
16608
17036
  style: {
16609
17037
  width: '100%'
16610
17038
  }
16611
- }, React.createElement(Title$8, null, Capitalize(type), " Menu"), React.createElement("hr", {
17039
+ }, React.createElement(Title$9, null, Capitalize(type), " Menu"), React.createElement("hr", {
16612
17040
  className: "golden"
16613
17041
  })), React.createElement(TradingComponentScrollWrapper, {
16614
17042
  id: "TraderContainer"
@@ -16638,7 +17066,7 @@ var TradingMenu = function TradingMenu(_ref) {
16638
17066
  }
16639
17067
  }, "Cancel"))));
16640
17068
  };
16641
- var Title$8 = /*#__PURE__*/styled.h1.withConfig({
17069
+ var Title$9 = /*#__PURE__*/styled.h1.withConfig({
16642
17070
  displayName: "TradingMenu__Title",
16643
17071
  componentId: "sc-1wjsz1l-0"
16644
17072
  })(["z-index:22;font-size:0.6rem;color:yellow !important;"]);
@@ -16672,230 +17100,16 @@ var Truncate = function Truncate(_ref) {
16672
17100
  var _ref$maxLines = _ref.maxLines,
16673
17101
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
16674
17102
  children = _ref.children;
16675
- return React.createElement(Container$m, {
17103
+ return React.createElement(Container$r, {
16676
17104
  maxLines: maxLines
16677
17105
  }, children);
16678
17106
  };
16679
- var Container$m = /*#__PURE__*/styled.div.withConfig({
17107
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
16680
17108
  displayName: "Truncate__Container",
16681
17109
  componentId: "sc-6x00qb-0"
16682
17110
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
16683
17111
  return props.maxLines;
16684
17112
  });
16685
17113
 
16686
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
16687
-
16688
- var chunkString = function chunkString(str, length) {
16689
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
16690
- };
16691
-
16692
- var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
16693
-
16694
- var NPCDialogText = function NPCDialogText(_ref) {
16695
- var text = _ref.text,
16696
- onClose = _ref.onClose,
16697
- onEndStep = _ref.onEndStep,
16698
- onStartStep = _ref.onStartStep,
16699
- type = _ref.type;
16700
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
16701
- function maxCharacters(width) {
16702
- // Set the font size to 16 pixels
16703
- var fontSize = 11.2;
16704
- // Calculate the number of characters that can fit in one line
16705
- var charactersPerLine = Math.floor(width / 2 / fontSize);
16706
- // Calculate the number of lines that can fit in the div
16707
- var linesPerDiv = Math.floor(180 / fontSize);
16708
- // Calculate the maximum number of characters that can fit in the div
16709
- var maxCharacters = charactersPerLine * linesPerDiv;
16710
- // Return the maximum number of characters
16711
- return Math.round(maxCharacters / 5);
16712
- }
16713
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
16714
- var _useState = useState(0),
16715
- chunkIndex = _useState[0],
16716
- setChunkIndex = _useState[1];
16717
- var onHandleSpacePress = function onHandleSpacePress(event) {
16718
- if (event.code === 'Space') {
16719
- goToNextStep();
16720
- }
16721
- };
16722
- var goToNextStep = function goToNextStep() {
16723
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
16724
- if (hasNextChunk) {
16725
- setChunkIndex(function (prev) {
16726
- return prev + 1;
16727
- });
16728
- } else {
16729
- // if there's no more text chunks, close the dialog
16730
- onClose();
16731
- }
16732
- };
16733
- useEffect(function () {
16734
- document.addEventListener('keydown', onHandleSpacePress);
16735
- return function () {
16736
- return document.removeEventListener('keydown', onHandleSpacePress);
16737
- };
16738
- }, [chunkIndex]);
16739
- var _useState2 = useState(false),
16740
- showGoNextIndicator = _useState2[0],
16741
- setShowGoNextIndicator = _useState2[1];
16742
- return React.createElement(Container$n, null, React.createElement(DynamicText, {
16743
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
16744
- onFinish: function onFinish() {
16745
- setShowGoNextIndicator(true);
16746
- onEndStep && onEndStep();
16747
- },
16748
- onStart: function onStart() {
16749
- setShowGoNextIndicator(false);
16750
- onStartStep && onStartStep();
16751
- }
16752
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
16753
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
16754
- src: IS_MOBILE_OR_TABLET ? img$c : img$6,
16755
- onPointerDown: function onPointerDown() {
16756
- goToNextStep();
16757
- }
16758
- }));
16759
- };
16760
- var Container$n = /*#__PURE__*/styled.div.withConfig({
16761
- displayName: "NPCDialogText__Container",
16762
- componentId: "sc-1cxkdh9-0"
16763
- })([""]);
16764
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
16765
- displayName: "NPCDialogText__PressSpaceIndicator",
16766
- componentId: "sc-1cxkdh9-1"
16767
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
16768
- var right = _ref2.right;
16769
- return right;
16770
- });
16771
-
16772
- var NPCDialogType;
16773
- (function (NPCDialogType) {
16774
- NPCDialogType["TextOnly"] = "TextOnly";
16775
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
16776
- })(NPCDialogType || (NPCDialogType = {}));
16777
- var NPCDialog = function NPCDialog(_ref) {
16778
- var text = _ref.text,
16779
- type = _ref.type,
16780
- _onClose = _ref.onClose,
16781
- imagePath = _ref.imagePath,
16782
- _ref$isQuestionDialog = _ref.isQuestionDialog,
16783
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
16784
- questions = _ref.questions,
16785
- answers = _ref.answers;
16786
- return React.createElement(RPGUIContainer, {
16787
- type: RPGUIContainerTypes.FramedGold,
16788
- width: isQuestionDialog ? '600px' : '80%',
16789
- height: '180px'
16790
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
16791
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
16792
- }, React.createElement(QuestionDialog, {
16793
- questions: questions,
16794
- answers: answers,
16795
- onClose: function onClose() {
16796
- if (_onClose) {
16797
- _onClose();
16798
- }
16799
- }
16800
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
16801
- src: imagePath || img$5
16802
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$o, null, React.createElement(TextContainer$2, {
16803
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
16804
- }, React.createElement(NPCDialogText, {
16805
- type: type,
16806
- text: text || 'No text provided.',
16807
- onClose: function onClose() {
16808
- if (_onClose) {
16809
- _onClose();
16810
- }
16811
- }
16812
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
16813
- src: imagePath || img$5
16814
- })))));
16815
- };
16816
- var Container$o = /*#__PURE__*/styled.div.withConfig({
16817
- displayName: "NPCDialog__Container",
16818
- componentId: "sc-1b4aw74-0"
16819
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
16820
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
16821
- displayName: "NPCDialog__TextContainer",
16822
- componentId: "sc-1b4aw74-1"
16823
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
16824
- var flex = _ref2.flex;
16825
- return flex;
16826
- });
16827
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
16828
- displayName: "NPCDialog__ThumbnailContainer",
16829
- componentId: "sc-1b4aw74-2"
16830
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
16831
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
16832
- displayName: "NPCDialog__NPCThumbnail",
16833
- componentId: "sc-1b4aw74-3"
16834
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
16835
-
16836
- var HistoryDialog = function HistoryDialog(_ref) {
16837
- var backgroundImgPath = _ref.backgroundImgPath,
16838
- fullCoverBackground = _ref.fullCoverBackground,
16839
- questions = _ref.questions,
16840
- answers = _ref.answers,
16841
- text = _ref.text,
16842
- imagePath = _ref.imagePath,
16843
- textAndTypeArray = _ref.textAndTypeArray,
16844
- onClose = _ref.onClose;
16845
- var _useState = useState(0),
16846
- img = _useState[0],
16847
- setImage = _useState[1];
16848
- var onHandleSpacePress = function onHandleSpacePress(event) {
16849
- if (event.code === 'Space') {
16850
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
16851
- setImage(function (prev) {
16852
- return prev + 1;
16853
- });
16854
- } else {
16855
- // if there's no more text chunks, close the dialog
16856
- onClose();
16857
- }
16858
- }
16859
- };
16860
- useEffect(function () {
16861
- document.addEventListener('keydown', onHandleSpacePress);
16862
- return function () {
16863
- return document.removeEventListener('keydown', onHandleSpacePress);
16864
- };
16865
- }, [backgroundImgPath]);
16866
- return React.createElement(BackgroundContainer, {
16867
- imgPath: backgroundImgPath[img],
16868
- fullImg: fullCoverBackground
16869
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
16870
- textAndTypeArray: textAndTypeArray,
16871
- onClose: onClose
16872
- }) : questions && answers ? React.createElement(QuestionDialog, {
16873
- questions: questions,
16874
- answers: answers,
16875
- onClose: onClose
16876
- }) : text && imagePath ? React.createElement(NPCDialog, {
16877
- text: text,
16878
- imagePath: imagePath,
16879
- onClose: onClose,
16880
- type: NPCDialogType.TextAndThumbnail
16881
- }) : React.createElement(NPCDialog, {
16882
- text: text,
16883
- onClose: onClose,
16884
- type: NPCDialogType.TextOnly
16885
- })));
16886
- };
16887
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
16888
- displayName: "HistoryDialog__BackgroundContainer",
16889
- componentId: "sc-u6oe75-0"
16890
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
16891
- return props.imgPath;
16892
- }, function (props) {
16893
- return props.imgPath ? 'cover' : 'auto';
16894
- });
16895
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
16896
- displayName: "HistoryDialog__DialogContainer",
16897
- componentId: "sc-u6oe75-1"
16898
- })(["display:flex;justify-content:center;padding-top:200px;"]);
16899
-
16900
17114
  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 };
16901
17115
  //# sourceMappingURL=long-bow.esm.js.map