@rpg-engine/long-bow 0.4.1 → 0.4.3

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 (163) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/long-bow.cjs.development.js +1060 -1065
  4. package/dist/long-bow.cjs.development.js.map +1 -1
  5. package/dist/long-bow.cjs.production.min.js +1 -1
  6. package/dist/long-bow.cjs.production.min.js.map +1 -1
  7. package/dist/long-bow.esm.js +1066 -1071
  8. package/dist/long-bow.esm.js.map +1 -1
  9. package/package.json +100 -100
  10. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  11. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  12. package/src/components/Arrow/SelectArrow.tsx +69 -69
  13. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  14. package/src/components/Arrow/img/arrow01-left.png +0 -0
  15. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  16. package/src/components/Arrow/img/arrow01-right.png +0 -0
  17. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  18. package/src/components/Arrow/img/arrow02-left.png +0 -0
  19. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  20. package/src/components/Arrow/img/arrow02-right.png +0 -0
  21. package/src/components/Button.tsx +40 -40
  22. package/src/components/Character/CharacterSelection.tsx +98 -98
  23. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  24. package/src/components/Chat/Chat.tsx +196 -196
  25. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  26. package/src/components/CheckButton.tsx +65 -65
  27. package/src/components/CircularController/CircularController.tsx +282 -282
  28. package/src/components/CraftBook/CraftBook.tsx +286 -286
  29. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  30. package/src/components/CraftBook/MockItems.ts +101 -101
  31. package/src/components/DraggableContainer.tsx +181 -180
  32. package/src/components/DropdownSelectorContainer.tsx +42 -42
  33. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  34. package/src/components/HistoryDialog.tsx +104 -104
  35. package/src/components/Input.tsx +15 -15
  36. package/src/components/InputRadio.tsx +41 -41
  37. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  38. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  39. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  40. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  41. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  42. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  43. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  44. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  45. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  46. package/src/components/Item/Inventory/ItemSlot.tsx +580 -580
  47. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  48. package/src/components/ListMenu.tsx +63 -63
  49. package/src/components/Marketplace/Marketplace.tsx +132 -132
  50. package/src/components/Marketplace/MarketplaceRows.tsx +171 -171
  51. package/src/components/Marketplace/__mocks__/index.tsx +65 -65
  52. package/src/components/Multitab/Tab.tsx +66 -66
  53. package/src/components/Multitab/TabBody.tsx +13 -13
  54. package/src/components/Multitab/TabsContainer.tsx +97 -97
  55. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  56. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  57. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  58. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  59. package/src/components/ProgressBar.tsx +92 -95
  60. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  61. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  62. package/src/components/QuestList.tsx +135 -135
  63. package/src/components/RPGUIContainer.tsx +47 -47
  64. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  65. package/src/components/RPGUIRoot.tsx +14 -14
  66. package/src/components/RadioButton.tsx +53 -53
  67. package/src/components/RadioInput/RadioButton.tsx +96 -96
  68. package/src/components/RadioInput/RadioInput.tsx +102 -102
  69. package/src/components/RadioInput/instruments.ts +15 -15
  70. package/src/components/RangeSlider.tsx +78 -78
  71. package/src/components/RelativeListMenu.tsx +90 -90
  72. package/src/components/ScrollList.tsx +79 -79
  73. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  74. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  75. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  76. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  77. package/src/components/SimpleProgressBar.tsx +62 -62
  78. package/src/components/SkillProgressBar.tsx +133 -133
  79. package/src/components/SkillsContainer.tsx +217 -211
  80. package/src/components/Spellbook/Spell.tsx +236 -236
  81. package/src/components/Spellbook/Spellbook.tsx +161 -161
  82. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  83. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  84. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  85. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  86. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  87. package/src/components/Spellbook/constants.ts +7 -7
  88. package/src/components/Spellbook/mockSpells.ts +84 -84
  89. package/src/components/StaticBook/StaticBook.tsx +103 -103
  90. package/src/components/TextArea.tsx +11 -11
  91. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  92. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  93. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  94. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  95. package/src/components/TradingMenu/items.mock.ts +48 -48
  96. package/src/components/Truncate.tsx +25 -25
  97. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  98. package/src/components/shared/Column.tsx +16 -16
  99. package/src/components/shared/Ellipsis.tsx +68 -68
  100. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  101. package/src/components/typography/DynamicText.tsx +49 -49
  102. package/src/constants/uiColors.ts +20 -20
  103. package/src/constants/uiDevices.ts +3 -3
  104. package/src/constants/uiFonts.ts +12 -12
  105. package/src/hooks/useEventListener.ts +21 -21
  106. package/src/hooks/useOutsideAlerter.ts +25 -25
  107. package/src/index.tsx +42 -42
  108. package/src/libs/CastingTypeHelper.ts +7 -7
  109. package/src/libs/StringHelpers.ts +3 -3
  110. package/src/libs/itemCounter.ts +21 -21
  111. package/src/mocks/atlas/entities/entities.json +20215 -20215
  112. package/src/mocks/atlas/icons/icons.json +735 -735
  113. package/src/mocks/atlas/items/items.json +12086 -12086
  114. package/src/mocks/equipmentSet.mocks.ts +391 -391
  115. package/src/mocks/itemContainer.mocks.ts +605 -605
  116. package/src/mocks/skills.mocks.ts +128 -128
  117. package/src/stories/Arrow.stories.tsx +26 -26
  118. package/src/stories/Button.stories.tsx +36 -36
  119. package/src/stories/CharacterSelection.stories.tsx +44 -44
  120. package/src/stories/CharacterStatus.stories.tsx +29 -29
  121. package/src/stories/Chat.stories.tsx +187 -187
  122. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  123. package/src/stories/CheckButton.stories.tsx +48 -48
  124. package/src/stories/CircullarController.stories.tsx +37 -37
  125. package/src/stories/CraftBook.stories.tsx +42 -42
  126. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  127. package/src/stories/DraggableContainer.stories.tsx +28 -28
  128. package/src/stories/Dropdown.stories.tsx +46 -46
  129. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  130. package/src/stories/EquipmentSet.stories.tsx +65 -65
  131. package/src/stories/HistoryDialog.stories.tsx +61 -61
  132. package/src/stories/ItemContainer.stories.tsx +201 -201
  133. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  134. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  135. package/src/stories/ItemSelector.stories.tsx +77 -77
  136. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  137. package/src/stories/ListMenu.stories.tsx +56 -56
  138. package/src/stories/Marketplace.stories.tsx +42 -42
  139. package/src/stories/MarketplaceRows.stories.tsx +28 -28
  140. package/src/stories/Multitab.stories.tsx +51 -51
  141. package/src/stories/NPCDialog.stories.tsx +130 -130
  142. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  143. package/src/stories/ProgressBar.stories.tsx +23 -23
  144. package/src/stories/PropertySelect.stories.tsx +40 -40
  145. package/src/stories/QuestInfo.stories.tsx +107 -107
  146. package/src/stories/QuestList.stories.tsx +82 -82
  147. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  148. package/src/stories/RadioButton.stories.tsx +49 -49
  149. package/src/stories/RadioInput.stories.tsx +34 -34
  150. package/src/stories/RangeSlider.stories.tsx +64 -64
  151. package/src/stories/ScrollList.stories.tsx +85 -85
  152. package/src/stories/Shortcuts.stories.tsx +39 -39
  153. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  154. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  155. package/src/stories/SkillsContainer.stories.tsx +35 -35
  156. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  157. package/src/stories/Spellbook.stories.tsx +104 -104
  158. package/src/stories/StaticBook.stories.tsx +32 -32
  159. package/src/stories/Text.stories.tsx +42 -42
  160. package/src/stories/TimeWidget.stories.tsx +27 -27
  161. package/src/stories/TradingMenu.stories.tsx +47 -47
  162. package/src/types/eventTypes.ts +4 -4
  163. package/src/types/index.d.ts +2 -2
@@ -13127,7 +13127,7 @@ var Container$6 = /*#__PURE__*/styled.div.withConfig({
13127
13127
  var CloseButton$1 = /*#__PURE__*/styled.div.withConfig({
13128
13128
  displayName: "DraggableContainer__CloseButton",
13129
13129
  componentId: "sc-184mpyl-1"
13130
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.1rem;@media (max-width:768px){font-size:1.3rem;padding:3px;}"]);
13130
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.1rem;@media (max-width:950px){font-size:1.7rem;padding:12px;}"]);
13131
13131
  var TitleContainer = /*#__PURE__*/styled.div.withConfig({
13132
13132
  displayName: "DraggableContainer__TitleContainer",
13133
13133
  componentId: "sc-184mpyl-2"
@@ -14593,1089 +14593,551 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14593
14593
  componentId: "sc-1wuddg2-1"
14594
14594
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14595
14595
 
14596
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
14597
-
14598
- var chunkString = function chunkString(str, length) {
14599
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
14600
- };
14601
-
14602
- var DynamicText = function DynamicText(_ref) {
14603
- var text = _ref.text,
14604
- onFinish = _ref.onFinish,
14605
- onStart = _ref.onStart;
14606
- var _useState = React.useState(''),
14607
- textState = _useState[0],
14608
- setTextState = _useState[1];
14609
- React.useEffect(function () {
14610
- var i = 0;
14611
- var interval = setInterval(function () {
14612
- // on every interval, show one more character
14613
- if (i === 0) {
14614
- if (onStart) {
14615
- onStart();
14616
- }
14596
+ var SlotsContainer = function SlotsContainer(_ref) {
14597
+ var children = _ref.children,
14598
+ title = _ref.title,
14599
+ onClose = _ref.onClose,
14600
+ _onPositionChange = _ref.onPositionChange,
14601
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
14602
+ _onPositionChangeStart = _ref.onPositionChangeStart,
14603
+ onOutsideClick = _ref.onOutsideClick,
14604
+ initialPosition = _ref.initialPosition,
14605
+ scale = _ref.scale;
14606
+ return React__default.createElement(DraggableContainer, {
14607
+ title: title,
14608
+ type: exports.RPGUIContainerTypes.Framed,
14609
+ onCloseButton: function onCloseButton() {
14610
+ if (onClose) {
14611
+ onClose();
14617
14612
  }
14618
- if (i < text.length) {
14619
- setTextState(text.substring(0, i + 1));
14620
- i++;
14621
- } else {
14622
- clearInterval(interval);
14623
- if (onFinish) {
14624
- onFinish();
14625
- }
14613
+ },
14614
+ width: "400px",
14615
+ cancelDrag: ".item-container-body, #shortcuts_list",
14616
+ onPositionChange: function onPositionChange(_ref2) {
14617
+ var x = _ref2.x,
14618
+ y = _ref2.y;
14619
+ if (_onPositionChange) {
14620
+ _onPositionChange({
14621
+ x: x,
14622
+ y: y
14623
+ });
14626
14624
  }
14627
- }, 50);
14628
- return function () {
14629
- clearInterval(interval);
14630
- };
14631
- }, [text]);
14632
- return React__default.createElement(TextContainer, null, textState);
14625
+ },
14626
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14627
+ var x = _ref3.x,
14628
+ y = _ref3.y;
14629
+ if (_onPositionChangeEnd) {
14630
+ _onPositionChangeEnd({
14631
+ x: x,
14632
+ y: y
14633
+ });
14634
+ }
14635
+ },
14636
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
14637
+ var x = _ref4.x,
14638
+ y = _ref4.y;
14639
+ if (_onPositionChangeStart) {
14640
+ _onPositionChangeStart({
14641
+ x: x,
14642
+ y: y
14643
+ });
14644
+ }
14645
+ },
14646
+ onOutsideClick: onOutsideClick,
14647
+ initialPosition: initialPosition,
14648
+ scale: scale
14649
+ }, children);
14633
14650
  };
14634
- var TextContainer = /*#__PURE__*/styled.p.withConfig({
14635
- displayName: "DynamicText__TextContainer",
14636
- componentId: "sc-1ggl9nd-0"
14637
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14638
-
14639
- var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14640
-
14641
- 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';
14642
14651
 
14643
- var NPCDialogText = function NPCDialogText(_ref) {
14644
- var text = _ref.text,
14645
- onClose = _ref.onClose,
14646
- onEndStep = _ref.onEndStep,
14647
- onStartStep = _ref.onStartStep,
14648
- type = _ref.type;
14649
- var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
14650
- function maxCharacters(width) {
14651
- // Set the font size to 16 pixels
14652
- var fontSize = 11.2;
14653
- // Calculate the number of characters that can fit in one line
14654
- var charactersPerLine = Math.floor(width / 2 / fontSize);
14655
- // Calculate the number of lines that can fit in the div
14656
- var linesPerDiv = Math.floor(180 / fontSize);
14657
- // Calculate the maximum number of characters that can fit in the div
14658
- var maxCharacters = charactersPerLine * linesPerDiv;
14659
- // Return the maximum number of characters
14660
- return Math.round(maxCharacters / 5);
14661
- }
14662
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14652
+ (function (RangeSliderType) {
14653
+ RangeSliderType["Slider"] = "rpgui-slider";
14654
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14655
+ })(exports.RangeSliderType || (exports.RangeSliderType = {}));
14656
+ var RangeSlider = function RangeSlider(_ref) {
14657
+ var type = _ref.type,
14658
+ valueMin = _ref.valueMin,
14659
+ valueMax = _ref.valueMax,
14660
+ width = _ref.width,
14661
+ _onChange = _ref.onChange,
14662
+ value = _ref.value;
14663
+ var sliderId = uuid.v4();
14664
+ var containerRef = React.useRef(null);
14663
14665
  var _useState = React.useState(0),
14664
- chunkIndex = _useState[0],
14665
- setChunkIndex = _useState[1];
14666
- var onHandleSpacePress = function onHandleSpacePress(event) {
14667
- if (event.code === 'Space') {
14668
- goToNextStep();
14669
- }
14670
- };
14671
- var goToNextStep = function goToNextStep() {
14672
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14673
- if (hasNextChunk) {
14674
- setChunkIndex(function (prev) {
14675
- return prev + 1;
14676
- });
14677
- } else {
14678
- // if there's no more text chunks, close the dialog
14679
- onClose();
14680
- }
14681
- };
14666
+ left = _useState[0],
14667
+ setLeft = _useState[1];
14682
14668
  React.useEffect(function () {
14683
- document.addEventListener('keydown', onHandleSpacePress);
14684
- return function () {
14685
- return document.removeEventListener('keydown', onHandleSpacePress);
14686
- };
14687
- }, [chunkIndex]);
14688
- var _useState2 = React.useState(false),
14689
- showGoNextIndicator = _useState2[0],
14690
- setShowGoNextIndicator = _useState2[1];
14691
- return React__default.createElement(Container$e, null, React__default.createElement(DynamicText, {
14692
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14693
- onFinish: function onFinish() {
14694
- setShowGoNextIndicator(true);
14695
- onEndStep && onEndStep();
14669
+ var _containerRef$current;
14670
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14671
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14672
+ }, [value, valueMin, valueMax]);
14673
+ var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
14674
+ return React__default.createElement("div", {
14675
+ style: {
14676
+ width: width,
14677
+ position: 'relative'
14696
14678
  },
14697
- onStart: function onStart() {
14698
- setShowGoNextIndicator(false);
14699
- onStartStep && onStartStep();
14679
+ className: "rpgui-slider-container " + typeClass,
14680
+ id: "rpgui-slider-" + sliderId,
14681
+ ref: containerRef
14682
+ }, React__default.createElement("div", {
14683
+ style: {
14684
+ pointerEvents: 'none'
14700
14685
  }
14701
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
14702
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14703
- src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14704
- onPointerDown: function onPointerDown() {
14705
- goToNextStep();
14686
+ }, React__default.createElement("div", {
14687
+ className: "rpgui-slider-track " + typeClass
14688
+ }), React__default.createElement("div", {
14689
+ className: "rpgui-slider-left-edge " + typeClass
14690
+ }), React__default.createElement("div", {
14691
+ className: "rpgui-slider-right-edge " + typeClass
14692
+ }), React__default.createElement("div", {
14693
+ className: "rpgui-slider-thumb " + typeClass,
14694
+ style: {
14695
+ left: left
14706
14696
  }
14697
+ })), React__default.createElement(Input$1, {
14698
+ type: "range",
14699
+ style: {
14700
+ width: width
14701
+ },
14702
+ min: valueMin,
14703
+ max: valueMax,
14704
+ onChange: function onChange(e) {
14705
+ return _onChange(Number(e.target.value));
14706
+ },
14707
+ value: value,
14708
+ className: "rpgui-cursor-point"
14707
14709
  }));
14708
14710
  };
14709
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14710
- displayName: "NPCDialogText__Container",
14711
- componentId: "sc-1cxkdh9-0"
14712
- })([""]);
14713
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14714
- displayName: "NPCDialogText__PressSpaceIndicator",
14715
- componentId: "sc-1cxkdh9-1"
14716
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14717
- var right = _ref2.right;
14718
- return right;
14719
- });
14720
-
14721
- //@ts-ignore
14722
- var useEventListener = function useEventListener(type, handler, el) {
14723
- if (el === void 0) {
14724
- el = window;
14725
- }
14726
- var savedHandler = React__default.useRef();
14727
- React__default.useEffect(function () {
14728
- savedHandler.current = handler;
14729
- }, [handler]);
14730
- React__default.useEffect(function () {
14731
- //@ts-ignore
14732
- var listener = function listener(e) {
14733
- return savedHandler.current(e);
14734
- };
14735
- el.addEventListener(type, listener);
14736
- return function () {
14737
- el.removeEventListener(type, listener);
14738
- };
14739
- }, [type, el]);
14740
- };
14711
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
14712
+ displayName: "RangeSlider__Input",
14713
+ componentId: "sc-v8mte9-0"
14714
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14741
14715
 
14742
- var QuestionDialog = function QuestionDialog(_ref) {
14743
- var questions = _ref.questions,
14744
- answers = _ref.answers,
14716
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14717
+ var quantity = _ref.quantity,
14718
+ onConfirm = _ref.onConfirm,
14745
14719
  onClose = _ref.onClose;
14746
- var _useState = React.useState(questions[0]),
14747
- currentQuestion = _useState[0],
14748
- setCurrentQuestion = _useState[1];
14749
- var _useState2 = React.useState(false),
14750
- canShowAnswers = _useState2[0],
14751
- setCanShowAnswers = _useState2[1];
14752
- var onGetFirstAnswer = function onGetFirstAnswer() {
14753
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14754
- return null;
14755
- }
14756
- var firstAnswerId = currentQuestion.answerIds[0];
14757
- return answers.find(function (answer) {
14758
- return answer.id === firstAnswerId;
14759
- });
14760
- };
14761
- var _useState3 = React.useState(onGetFirstAnswer()),
14762
- currentAnswer = _useState3[0],
14763
- setCurrentAnswer = _useState3[1];
14720
+ var _useState = React.useState(quantity),
14721
+ value = _useState[0],
14722
+ setValue = _useState[1];
14723
+ var inputRef = React.useRef(null);
14764
14724
  React.useEffect(function () {
14765
- setCurrentAnswer(onGetFirstAnswer());
14766
- }, [currentQuestion]);
14767
- var onGetAnswers = function onGetAnswers(answerIds) {
14768
- return answerIds.map(function (answerId) {
14769
- return answers.find(function (answer) {
14770
- return answer.id === answerId;
14771
- });
14772
- });
14773
- };
14774
- var onKeyPress = function onKeyPress(e) {
14775
- switch (e.key) {
14776
- case 'ArrowDown':
14777
- // select next answer, if any.
14778
- // if no next answer, select first answer
14779
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14780
- // (answer) => answer?.id === currentAnswer!.id + 1
14781
- // );
14782
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14783
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14784
- });
14785
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14786
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14787
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
14788
- });
14789
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14790
- break;
14791
- case 'ArrowUp':
14792
- // select previous answer, if any.
14793
- // if no previous answer, select last answer
14794
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14795
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14796
- });
14797
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14798
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14799
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
14800
- });
14801
- if (previousAnswer) {
14802
- setCurrentAnswer(previousAnswer);
14803
- } else {
14804
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14805
- }
14806
- break;
14807
- case 'Enter':
14808
- setCanShowAnswers(false);
14809
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14725
+ if (inputRef.current) {
14726
+ inputRef.current.focus();
14727
+ inputRef.current.select();
14728
+ var closeSelector = function closeSelector(e) {
14729
+ if (e.key === 'Escape') {
14810
14730
  onClose();
14811
- return;
14812
- } else {
14813
- setCurrentQuestion(questions.find(function (question) {
14814
- return question.id === currentAnswer.nextQuestionId;
14815
- }));
14816
14731
  }
14817
- break;
14818
- }
14819
- };
14820
- useEventListener('keydown', onKeyPress);
14821
- var onAnswerClick = function onAnswerClick(answer) {
14822
- setCanShowAnswers(false);
14823
- if (answer.nextQuestionId) {
14824
- // if there is a next question, go to it
14825
- setCurrentQuestion(questions.find(function (question) {
14826
- return question.id === answer.nextQuestionId;
14827
- }));
14828
- } else {
14829
- // else, finish dialog!
14830
- onClose();
14831
- }
14832
- };
14833
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14834
- var answerIds = currentQuestion.answerIds;
14835
- if (!answerIds) {
14836
- return null;
14837
- }
14838
- var answers = onGetAnswers(answerIds);
14839
- if (!answers) {
14840
- return null;
14732
+ };
14733
+ document.addEventListener('keydown', closeSelector);
14734
+ return function () {
14735
+ document.removeEventListener('keydown', closeSelector);
14736
+ };
14841
14737
  }
14842
- return answers.map(function (answer) {
14843
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14844
- var selectedColor = isSelected ? 'yellow' : 'white';
14845
- if (answer) {
14846
- return React__default.createElement(AnswerRow, {
14847
- key: "answer_" + answer.id
14848
- }, React__default.createElement(AnswerSelectedIcon, {
14849
- color: selectedColor
14850
- }, isSelected ? 'X' : null), React__default.createElement(Answer, {
14851
- key: answer.id,
14852
- onPointerDown: function onPointerDown() {
14853
- return onAnswerClick(answer);
14854
- },
14855
- color: selectedColor
14856
- }, answer.text));
14857
- }
14858
- return null;
14859
- });
14860
- };
14861
- return React__default.createElement(Container$f, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
14862
- text: currentQuestion.text,
14863
- onStart: function onStart() {
14864
- return setCanShowAnswers(false);
14738
+ return function () {};
14739
+ }, []);
14740
+ return React__default.createElement(StyledContainer, {
14741
+ type: exports.RPGUIContainerTypes.Framed,
14742
+ width: "25rem"
14743
+ }, React__default.createElement(CloseButton$2, {
14744
+ className: "container-close",
14745
+ onPointerDown: onClose
14746
+ }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
14747
+ style: {
14748
+ width: '100%'
14865
14749
  },
14866
- onFinish: function onFinish() {
14867
- return setCanShowAnswers(true);
14868
- }
14869
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14870
- };
14871
- var Container$f = /*#__PURE__*/styled.div.withConfig({
14872
- displayName: "QuestionDialog__Container",
14873
- componentId: "sc-bxc5u0-0"
14874
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14875
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14876
- displayName: "QuestionDialog__QuestionContainer",
14877
- componentId: "sc-bxc5u0-1"
14878
- })(["flex:100%;width:100%;"]);
14879
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14880
- displayName: "QuestionDialog__AnswersContainer",
14881
- componentId: "sc-bxc5u0-2"
14882
- })(["flex:100%;"]);
14883
- var Answer = /*#__PURE__*/styled.p.withConfig({
14884
- displayName: "QuestionDialog__Answer",
14885
- componentId: "sc-bxc5u0-3"
14886
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14887
- return props.color;
14888
- });
14889
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14890
- displayName: "QuestionDialog__AnswerSelectedIcon",
14891
- componentId: "sc-bxc5u0-4"
14892
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
14893
- return props.color;
14894
- });
14895
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14896
- displayName: "QuestionDialog__AnswerRow",
14897
- componentId: "sc-bxc5u0-5"
14898
- })(["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;}"]);
14899
-
14900
- var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14901
-
14902
- (function (NPCDialogType) {
14903
- NPCDialogType["TextOnly"] = "TextOnly";
14904
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14905
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
14906
- var NPCDialog = function NPCDialog(_ref) {
14907
- var text = _ref.text,
14908
- type = _ref.type,
14909
- _onClose = _ref.onClose,
14910
- imagePath = _ref.imagePath,
14911
- _ref$isQuestionDialog = _ref.isQuestionDialog,
14912
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14913
- questions = _ref.questions,
14914
- answers = _ref.answers;
14915
- return React__default.createElement(RPGUIContainer, {
14916
- type: exports.RPGUIContainerTypes.FramedGold,
14917
- width: isQuestionDialog ? '600px' : '80%',
14918
- height: '180px'
14919
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
14920
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14921
- }, React__default.createElement(QuestionDialog, {
14922
- questions: questions,
14923
- answers: answers,
14924
- onClose: function onClose() {
14925
- if (_onClose) {
14926
- _onClose();
14750
+ onSubmit: function onSubmit(e) {
14751
+ e.preventDefault();
14752
+ var numberValue = Number(value);
14753
+ if (Number.isNaN(numberValue)) {
14754
+ return;
14927
14755
  }
14928
- }
14929
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14930
- src: imagePath || img$7
14931
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$g, null, React__default.createElement(TextContainer$1, {
14932
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14933
- }, React__default.createElement(NPCDialogText, {
14934
- type: type,
14935
- text: text || 'No text provided.',
14936
- onClose: function onClose() {
14937
- if (_onClose) {
14938
- _onClose();
14756
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14757
+ },
14758
+ noValidate: true
14759
+ }, React__default.createElement(StyledInput, {
14760
+ innerRef: inputRef,
14761
+ placeholder: "Enter quantity",
14762
+ type: "number",
14763
+ min: 1,
14764
+ max: quantity,
14765
+ value: value,
14766
+ onChange: function onChange(e) {
14767
+ if (Number(e.target.value) >= quantity) {
14768
+ setValue(quantity);
14769
+ return;
14939
14770
  }
14771
+ setValue(e.target.value);
14772
+ },
14773
+ onBlur: function onBlur(e) {
14774
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14775
+ setValue(newValue);
14940
14776
  }
14941
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14942
- src: imagePath || img$7
14943
- })))));
14777
+ }), React__default.createElement(RangeSlider, {
14778
+ type: exports.RangeSliderType.Slider,
14779
+ valueMin: 1,
14780
+ valueMax: quantity,
14781
+ width: "100%",
14782
+ onChange: setValue,
14783
+ value: value
14784
+ }), React__default.createElement(Button, {
14785
+ buttonType: exports.ButtonTypes.RPGUIButton,
14786
+ type: "submit"
14787
+ }, "Confirm")));
14944
14788
  };
14945
- var Container$g = /*#__PURE__*/styled.div.withConfig({
14946
- displayName: "NPCDialog__Container",
14947
- componentId: "sc-1b4aw74-0"
14948
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14949
- var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14950
- displayName: "NPCDialog__TextContainer",
14951
- componentId: "sc-1b4aw74-1"
14952
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14953
- var flex = _ref2.flex;
14954
- return flex;
14955
- });
14956
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14957
- displayName: "NPCDialog__ThumbnailContainer",
14958
- componentId: "sc-1b4aw74-2"
14959
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14960
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14961
- displayName: "NPCDialog__NPCThumbnail",
14962
- componentId: "sc-1b4aw74-3"
14963
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
14964
-
14965
- (function (ImgSide) {
14966
- ImgSide["right"] = "right";
14967
- ImgSide["left"] = "left";
14968
- })(exports.ImgSide || (exports.ImgSide = {}));
14969
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
14970
- var _textAndTypeArray$sli;
14971
- var _onClose = _ref.onClose,
14972
- textAndTypeArray = _ref.textAndTypeArray;
14973
- var _useState = React.useState(false),
14974
- showGoNextIndicator = _useState[0],
14975
- setShowGoNextIndicator = _useState[1];
14976
- var _useState2 = React.useState(0),
14977
- slide = _useState2[0],
14978
- setSlide = _useState2[1];
14979
- var onHandleSpacePress = function onHandleSpacePress(event) {
14980
- if (event.code === 'Space') {
14981
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14982
- setSlide(function (prev) {
14983
- return prev + 1;
14984
- });
14985
- } else {
14986
- // if there's no more text chunks, close the dialog
14987
- _onClose();
14988
- }
14989
- }
14990
- };
14991
- React.useEffect(function () {
14992
- document.addEventListener('keydown', onHandleSpacePress);
14993
- return function () {
14994
- return document.removeEventListener('keydown', onHandleSpacePress);
14995
- };
14996
- }, [slide]);
14997
- return React__default.createElement(RPGUIContainer, {
14998
- type: exports.RPGUIContainerTypes.FramedGold,
14999
- width: '50%',
15000
- height: '180px'
15001
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
15002
- flex: '70%'
15003
- }, React__default.createElement(NPCDialogText, {
15004
- onStartStep: function onStartStep() {
15005
- return setShowGoNextIndicator(false);
15006
- },
15007
- onEndStep: function onEndStep() {
15008
- return setShowGoNextIndicator(true);
15009
- },
15010
- text: textAndTypeArray[slide].text || 'No text provided.',
15011
- onClose: function onClose() {
15012
- if (_onClose) {
15013
- _onClose();
15014
- }
15015
- }
15016
- })), React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15017
- src: textAndTypeArray[slide].imagePath || img$7
15018
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15019
- right: '10.5rem',
15020
- src: img$6
15021
- })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15022
- src: textAndTypeArray[slide].imagePath || img$7
15023
- })), React__default.createElement(TextContainer$2, {
15024
- flex: '70%'
15025
- }, React__default.createElement(NPCDialogText, {
15026
- onStartStep: function onStartStep() {
15027
- return setShowGoNextIndicator(false);
15028
- },
15029
- onEndStep: function onEndStep() {
15030
- return setShowGoNextIndicator(true);
15031
- },
15032
- text: textAndTypeArray[slide].text || 'No text provided.',
15033
- onClose: function onClose() {
15034
- if (_onClose) {
15035
- _onClose();
15036
- }
15037
- }
15038
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15039
- right: '1rem',
15040
- src: img$6
15041
- }))), ")"));
15042
- };
15043
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15044
- displayName: "NPCMultiDialog__Container",
15045
- componentId: "sc-rvu5wg-0"
15046
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15047
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15048
- displayName: "NPCMultiDialog__TextContainer",
15049
- componentId: "sc-rvu5wg-1"
15050
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15051
- var flex = _ref2.flex;
15052
- return flex;
15053
- });
15054
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15055
- displayName: "NPCMultiDialog__ThumbnailContainer",
15056
- componentId: "sc-rvu5wg-2"
15057
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15058
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15059
- displayName: "NPCMultiDialog__NPCThumbnail",
15060
- componentId: "sc-rvu5wg-3"
15061
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15062
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15063
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15064
- componentId: "sc-rvu5wg-4"
15065
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15066
- var right = _ref3.right;
15067
- return right;
15068
- });
14789
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14790
+ displayName: "ItemQuantitySelector__StyledContainer",
14791
+ componentId: "sc-yfdtpn-0"
14792
+ })(["display:flex;flex-direction:column;align-items:center;"]);
14793
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
14794
+ displayName: "ItemQuantitySelector__StyledForm",
14795
+ componentId: "sc-yfdtpn-1"
14796
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14797
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14798
+ displayName: "ItemQuantitySelector__StyledInput",
14799
+ componentId: "sc-yfdtpn-2"
14800
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14801
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14802
+ displayName: "ItemQuantitySelector__CloseButton",
14803
+ componentId: "sc-yfdtpn-3"
14804
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15069
14805
 
15070
- var HistoryDialog = function HistoryDialog(_ref) {
15071
- var backgroundImgPath = _ref.backgroundImgPath,
15072
- fullCoverBackground = _ref.fullCoverBackground,
15073
- questions = _ref.questions,
15074
- answers = _ref.answers,
15075
- text = _ref.text,
15076
- imagePath = _ref.imagePath,
15077
- textAndTypeArray = _ref.textAndTypeArray,
15078
- onClose = _ref.onClose;
15079
- var _useState = React.useState(0),
15080
- img = _useState[0],
15081
- setImage = _useState[1];
15082
- var onHandleSpacePress = function onHandleSpacePress(event) {
15083
- if (event.code === 'Space') {
15084
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15085
- setImage(function (prev) {
15086
- return prev + 1;
15087
- });
15088
- } else {
15089
- // if there's no more text chunks, close the dialog
15090
- onClose();
15091
- }
14806
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
14807
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14808
+ settingShortcutIndex = _ref.settingShortcutIndex,
14809
+ shortcuts = _ref.shortcuts,
14810
+ removeShortcut = _ref.removeShortcut,
14811
+ atlasJSON = _ref.atlasJSON,
14812
+ atlasIMG = _ref.atlasIMG;
14813
+ var getContent = function getContent(index) {
14814
+ var _shortcuts$index, _shortcuts$index3;
14815
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
14816
+ var _shortcuts$index2;
14817
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14818
+ if (!_payload) return null;
14819
+ return React__default.createElement(SpriteFromAtlas, {
14820
+ atlasIMG: atlasIMG,
14821
+ atlasJSON: atlasJSON,
14822
+ spriteKey: shared.getItemTextureKeyPath({
14823
+ key: _payload.texturePath,
14824
+ texturePath: _payload.texturePath,
14825
+ stackQty: _payload.stackQty || 1,
14826
+ isStackable: _payload.isStackable
14827
+ }, atlasJSON),
14828
+ width: 32,
14829
+ height: 32,
14830
+ imgScale: 1.6,
14831
+ imgStyle: {
14832
+ left: '5px'
14833
+ }
14834
+ });
15092
14835
  }
14836
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14837
+ return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14838
+ return word[0];
14839
+ }));
15093
14840
  };
15094
- React.useEffect(function () {
15095
- document.addEventListener('keydown', onHandleSpacePress);
15096
- return function () {
15097
- return document.removeEventListener('keydown', onHandleSpacePress);
15098
- };
15099
- }, [backgroundImgPath]);
15100
- return React__default.createElement(BackgroundContainer, {
15101
- imgPath: backgroundImgPath[img],
15102
- fullImg: fullCoverBackground
15103
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
15104
- textAndTypeArray: textAndTypeArray,
15105
- onClose: onClose
15106
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
15107
- questions: questions,
15108
- answers: answers,
15109
- onClose: onClose
15110
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
15111
- text: text,
15112
- imagePath: imagePath,
15113
- onClose: onClose,
15114
- type: exports.NPCDialogType.TextAndThumbnail
15115
- }) : React__default.createElement(NPCDialog, {
15116
- text: text,
15117
- onClose: onClose,
15118
- type: exports.NPCDialogType.TextOnly
14841
+ return React__default.createElement(Container$e, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
14842
+ id: "shortcuts_list"
14843
+ }, Array.from({
14844
+ length: 6
14845
+ }).map(function (_, i) {
14846
+ return React__default.createElement(Shortcut, {
14847
+ key: i,
14848
+ onPointerDown: function onPointerDown() {
14849
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14850
+ removeShortcut(i);
14851
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
14852
+ },
14853
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14854
+ isBeingSet: settingShortcutIndex === i,
14855
+ id: "shortcutSetter_" + i
14856
+ }, getContent(i));
15119
14857
  })));
15120
14858
  };
15121
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15122
- displayName: "HistoryDialog__BackgroundContainer",
15123
- componentId: "sc-u6oe75-0"
15124
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15125
- return props.imgPath;
15126
- }, function (props) {
15127
- return props.imgPath ? 'cover' : 'auto';
15128
- });
15129
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15130
- displayName: "HistoryDialog__DialogContainer",
15131
- componentId: "sc-u6oe75-1"
15132
- })(["display:flex;justify-content:center;padding-top:200px;"]);
14859
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14860
+ displayName: "ShortcutsSetter__Container",
14861
+ componentId: "sc-xuouuf-0"
14862
+ })(["p{margin:0;margin-left:0.5rem;}"]);
14863
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
14864
+ displayName: "ShortcutsSetter__Shortcut",
14865
+ componentId: "sc-xuouuf-1"
14866
+ })(["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) {
14867
+ var isBeingSet = _ref2.isBeingSet;
14868
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14869
+ }, uiColors.darkGray, uiColors.gray);
14870
+ var List = /*#__PURE__*/styled.div.withConfig({
14871
+ displayName: "ShortcutsSetter__List",
14872
+ componentId: "sc-xuouuf-2"
14873
+ })(["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;"]);
15133
14874
 
15134
- var SlotsContainer = function SlotsContainer(_ref) {
15135
- var children = _ref.children,
15136
- title = _ref.title,
14875
+ var ItemContainer$1 = function ItemContainer(_ref) {
14876
+ var itemContainer = _ref.itemContainer,
15137
14877
  onClose = _ref.onClose,
15138
- _onPositionChange = _ref.onPositionChange,
15139
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
15140
- _onPositionChangeStart = _ref.onPositionChangeStart,
15141
- onOutsideClick = _ref.onOutsideClick,
14878
+ _onMouseOver = _ref.onMouseOver,
14879
+ _onSelected = _ref.onSelected,
14880
+ onItemClick = _ref.onItemClick,
14881
+ type = _ref.type,
14882
+ atlasJSON = _ref.atlasJSON,
14883
+ atlasIMG = _ref.atlasIMG,
14884
+ _ref$disableContextMe = _ref.disableContextMenu,
14885
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14886
+ onItemDragEnd = _ref.onItemDragEnd,
14887
+ onItemDragStart = _ref.onItemDragStart,
14888
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
14889
+ _onOutsideDrop = _ref.onOutsideDrop,
14890
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15142
14891
  initialPosition = _ref.initialPosition,
15143
- scale = _ref.scale;
15144
- return React__default.createElement(DraggableContainer, {
15145
- title: title,
15146
- type: exports.RPGUIContainerTypes.Framed,
15147
- onCloseButton: function onCloseButton() {
15148
- if (onClose) {
15149
- onClose();
15150
- }
15151
- },
15152
- width: "400px",
15153
- cancelDrag: ".item-container-body, #shortcuts_list",
15154
- onPositionChange: function onPositionChange(_ref2) {
15155
- var x = _ref2.x,
15156
- y = _ref2.y;
15157
- if (_onPositionChange) {
15158
- _onPositionChange({
15159
- x: x,
15160
- y: y
15161
- });
15162
- }
15163
- },
15164
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15165
- var x = _ref3.x,
15166
- y = _ref3.y;
15167
- if (_onPositionChangeEnd) {
15168
- _onPositionChangeEnd({
15169
- x: x,
15170
- y: y
15171
- });
15172
- }
15173
- },
15174
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
15175
- var x = _ref4.x,
15176
- y = _ref4.y;
15177
- if (_onPositionChangeStart) {
15178
- _onPositionChangeStart({
15179
- x: x,
15180
- y: y
15181
- });
15182
- }
15183
- },
15184
- onOutsideClick: onOutsideClick,
15185
- initialPosition: initialPosition,
15186
- scale: scale
15187
- }, children);
15188
- };
15189
-
15190
- (function (RangeSliderType) {
15191
- RangeSliderType["Slider"] = "rpgui-slider";
15192
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15193
- })(exports.RangeSliderType || (exports.RangeSliderType = {}));
15194
- var RangeSlider = function RangeSlider(_ref) {
15195
- var type = _ref.type,
15196
- valueMin = _ref.valueMin,
15197
- valueMax = _ref.valueMax,
15198
- width = _ref.width,
15199
- _onChange = _ref.onChange,
15200
- value = _ref.value;
15201
- var sliderId = uuid.v4();
15202
- var containerRef = React.useRef(null);
15203
- var _useState = React.useState(0),
15204
- left = _useState[0],
15205
- setLeft = _useState[1];
15206
- React.useEffect(function () {
15207
- var _containerRef$current;
15208
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15209
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15210
- }, [value, valueMin, valueMax]);
15211
- var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
15212
- return React__default.createElement("div", {
15213
- style: {
15214
- width: width,
15215
- position: 'relative'
15216
- },
15217
- className: "rpgui-slider-container " + typeClass,
15218
- id: "rpgui-slider-" + sliderId,
15219
- ref: containerRef
15220
- }, React__default.createElement("div", {
15221
- style: {
15222
- pointerEvents: 'none'
14892
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14893
+ scale = _ref.scale,
14894
+ shortcuts = _ref.shortcuts,
14895
+ setItemShortcut = _ref.setItemShortcut,
14896
+ removeShortcut = _ref.removeShortcut,
14897
+ equipmentSet = _ref.equipmentSet,
14898
+ isDepotSystem = _ref.isDepotSystem,
14899
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
14900
+ onPositionChangeStart = _ref.onPositionChangeStart;
14901
+ var _useState = React.useState({
14902
+ isOpen: false,
14903
+ maxQuantity: 1,
14904
+ callback: function callback(_quantity) {}
14905
+ }),
14906
+ quantitySelect = _useState[0],
14907
+ setQuantitySelect = _useState[1];
14908
+ var _useState2 = React.useState(-1),
14909
+ settingShortcutIndex = _useState2[0],
14910
+ setSettingShortcutIndex = _useState2[1];
14911
+ var handleSetShortcut = function handleSetShortcut(item, index) {
14912
+ if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
14913
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15223
14914
  }
15224
- }, React__default.createElement("div", {
15225
- className: "rpgui-slider-track " + typeClass
15226
- }), React__default.createElement("div", {
15227
- className: "rpgui-slider-left-edge " + typeClass
15228
- }), React__default.createElement("div", {
15229
- className: "rpgui-slider-right-edge " + typeClass
15230
- }), React__default.createElement("div", {
15231
- className: "rpgui-slider-thumb " + typeClass,
15232
- style: {
15233
- left: left
14915
+ };
14916
+ var onRenderSlots = function onRenderSlots() {
14917
+ var slots = [];
14918
+ for (var i = 0; i < itemContainer.slotQty; i++) {
14919
+ var _itemContainer$slots;
14920
+ slots.push(React__default.createElement(ItemSlot, {
14921
+ isContextMenuDisabled: disableContextMenu,
14922
+ key: i,
14923
+ slotIndex: i,
14924
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14925
+ itemContainerType: type,
14926
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
14927
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14928
+ },
14929
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
14930
+ if (settingShortcutIndex !== -1) {
14931
+ setSettingShortcutIndex(-1);
14932
+ handleSetShortcut(item, settingShortcutIndex);
14933
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
14934
+ },
14935
+ onSelected: function onSelected(optionId, item) {
14936
+ if (_onSelected) _onSelected(optionId, item);
14937
+ },
14938
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14939
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14940
+ },
14941
+ onDragEnd: function onDragEnd(quantity) {
14942
+ if (onItemDragEnd) onItemDragEnd(quantity);
14943
+ },
14944
+ dragScale: scale,
14945
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14946
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14947
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14948
+ setQuantitySelect({
14949
+ isOpen: true,
14950
+ maxQuantity: maxQuantity,
14951
+ callback: callback
14952
+ });
14953
+ },
14954
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14955
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14956
+ },
14957
+ onOutsideDrop: function onOutsideDrop(item, position) {
14958
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
14959
+ },
14960
+ atlasIMG: atlasIMG,
14961
+ atlasJSON: atlasJSON,
14962
+ isSelectingShortcut: settingShortcutIndex !== -1,
14963
+ equipmentSet: equipmentSet,
14964
+ setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
14965
+ isDepotSystem: isDepotSystem
14966
+ }));
15234
14967
  }
15235
- })), React__default.createElement(Input$1, {
15236
- type: "range",
15237
- style: {
15238
- width: width
15239
- },
15240
- min: valueMin,
15241
- max: valueMax,
15242
- onChange: function onChange(e) {
15243
- return _onChange(Number(e.target.value));
14968
+ return slots;
14969
+ };
14970
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
14971
+ title: itemContainer.name || 'Container',
14972
+ onClose: onClose,
14973
+ initialPosition: initialPosition,
14974
+ scale: scale,
14975
+ onPositionChangeEnd: onPositionChangeEnd,
14976
+ onPositionChangeStart: onPositionChangeStart
14977
+ }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
14978
+ setSettingShortcutIndex: setSettingShortcutIndex,
14979
+ settingShortcutIndex: settingShortcutIndex,
14980
+ shortcuts: shortcuts,
14981
+ removeShortcut: removeShortcut,
14982
+ atlasIMG: atlasIMG,
14983
+ atlasJSON: atlasJSON
14984
+ }), React__default.createElement(ItemsContainer, {
14985
+ className: "item-container-body"
14986
+ }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
14987
+ quantity: quantitySelect.maxQuantity,
14988
+ onConfirm: function onConfirm(quantity) {
14989
+ quantitySelect.callback(quantity);
14990
+ setQuantitySelect({
14991
+ isOpen: false,
14992
+ maxQuantity: 1,
14993
+ callback: function callback() {}
14994
+ });
15244
14995
  },
15245
- value: value,
15246
- className: "rpgui-cursor-point"
15247
- }));
14996
+ onClose: function onClose() {
14997
+ quantitySelect.callback(-1);
14998
+ setQuantitySelect({
14999
+ isOpen: false,
15000
+ maxQuantity: 1,
15001
+ callback: function callback() {}
15002
+ });
15003
+ }
15004
+ }))));
15248
15005
  };
15249
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
15250
- displayName: "RangeSlider__Input",
15251
- componentId: "sc-v8mte9-0"
15252
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15006
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15007
+ displayName: "ItemContainer__ItemsContainer",
15008
+ componentId: "sc-15y5p9l-0"
15009
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15010
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15011
+ displayName: "ItemContainer__QuantitySelectorContainer",
15012
+ componentId: "sc-15y5p9l-1"
15013
+ })(["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);"]);
15253
15014
 
15254
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15255
- var quantity = _ref.quantity,
15256
- onConfirm = _ref.onConfirm,
15257
- onClose = _ref.onClose;
15258
- var _useState = React.useState(quantity),
15259
- value = _useState[0],
15260
- setValue = _useState[1];
15261
- var inputRef = React.useRef(null);
15015
+ var ItemSelector = function ItemSelector(_ref) {
15016
+ var atlasIMG = _ref.atlasIMG,
15017
+ atlasJSON = _ref.atlasJSON,
15018
+ options = _ref.options,
15019
+ onClose = _ref.onClose,
15020
+ onSelect = _ref.onSelect;
15021
+ var _useState = React.useState(),
15022
+ selectedValue = _useState[0],
15023
+ setSelectedValue = _useState[1];
15024
+ var handleClick = function handleClick() {
15025
+ var element = document.querySelector("input[name='test']:checked");
15026
+ var elementValue = element.value;
15027
+ setSelectedValue(elementValue);
15028
+ };
15262
15029
  React.useEffect(function () {
15263
- if (inputRef.current) {
15264
- inputRef.current.focus();
15265
- inputRef.current.select();
15266
- var closeSelector = function closeSelector(e) {
15267
- if (e.key === 'Escape') {
15268
- onClose();
15269
- }
15270
- };
15271
- document.addEventListener('keydown', closeSelector);
15272
- return function () {
15273
- document.removeEventListener('keydown', closeSelector);
15274
- };
15030
+ if (selectedValue) {
15031
+ onSelect(selectedValue);
15275
15032
  }
15276
- return function () {};
15277
- }, []);
15278
- return React__default.createElement(StyledContainer, {
15033
+ }, [selectedValue]);
15034
+ return React__default.createElement(DraggableContainer, {
15279
15035
  type: exports.RPGUIContainerTypes.Framed,
15280
- width: "25rem"
15281
- }, React__default.createElement(CloseButton$2, {
15282
- className: "container-close",
15283
- onPointerDown: onClose
15284
- }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
15036
+ width: "500px",
15037
+ cancelDrag: ".equipment-container-body .arrow-selector",
15038
+ onCloseButton: function onCloseButton() {
15039
+ if (onClose) {
15040
+ onClose();
15041
+ }
15042
+ }
15043
+ }, React__default.createElement("div", {
15285
15044
  style: {
15286
15045
  width: '100%'
15287
- },
15288
- onSubmit: function onSubmit(e) {
15289
- e.preventDefault();
15290
- var numberValue = Number(value);
15291
- if (Number.isNaN(numberValue)) {
15292
- return;
15293
- }
15294
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15295
- },
15296
- noValidate: true
15297
- }, React__default.createElement(StyledInput, {
15298
- innerRef: inputRef,
15299
- placeholder: "Enter quantity",
15300
- type: "number",
15301
- min: 1,
15302
- max: quantity,
15303
- value: value,
15304
- onChange: function onChange(e) {
15305
- if (Number(e.target.value) >= quantity) {
15306
- setValue(quantity);
15307
- return;
15308
- }
15309
- setValue(e.target.value);
15310
- },
15311
- onBlur: function onBlur(e) {
15312
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15313
- setValue(newValue);
15314
15046
  }
15315
- }), React__default.createElement(RangeSlider, {
15316
- type: exports.RangeSliderType.Slider,
15317
- valueMin: 1,
15318
- valueMax: quantity,
15319
- width: "100%",
15320
- onChange: setValue,
15321
- value: value
15322
- }), React__default.createElement(Button, {
15047
+ }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15048
+ className: "golden"
15049
+ })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15050
+ return React__default.createElement(RadioOptionsWrapper$1, {
15051
+ key: index
15052
+ }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15053
+ atlasIMG: atlasIMG,
15054
+ atlasJSON: atlasJSON,
15055
+ spriteKey: option.imageKey,
15056
+ imgScale: 3
15057
+ })), React__default.createElement("div", null, React__default.createElement("input", {
15058
+ className: "rpgui-radio",
15059
+ type: "radio",
15060
+ value: option.name,
15061
+ name: "test"
15062
+ }), React__default.createElement("label", {
15063
+ onPointerDown: handleClick,
15064
+ style: {
15065
+ display: 'flex',
15066
+ alignItems: 'center'
15067
+ }
15068
+ }, option.name, " ", React__default.createElement("br", null), option.description)));
15069
+ })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15323
15070
  buttonType: exports.ButtonTypes.RPGUIButton,
15324
- type: "submit"
15325
- }, "Confirm")));
15071
+ onPointerDown: onClose
15072
+ }, "Cancel"), React__default.createElement(Button, {
15073
+ buttonType: exports.ButtonTypes.RPGUIButton
15074
+ }, "Select")));
15326
15075
  };
15327
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15328
- displayName: "ItemQuantitySelector__StyledContainer",
15329
- componentId: "sc-yfdtpn-0"
15330
- })(["display:flex;flex-direction:column;align-items:center;"]);
15331
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
15332
- displayName: "ItemQuantitySelector__StyledForm",
15333
- componentId: "sc-yfdtpn-1"
15334
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15335
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15336
- displayName: "ItemQuantitySelector__StyledInput",
15337
- componentId: "sc-yfdtpn-2"
15338
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15339
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15340
- displayName: "ItemQuantitySelector__CloseButton",
15341
- componentId: "sc-yfdtpn-3"
15342
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15076
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15077
+ displayName: "ItemSelector__Title",
15078
+ componentId: "sc-gptoxp-0"
15079
+ })(["font-size:0.6rem;color:yellow !important;"]);
15080
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15081
+ displayName: "ItemSelector__Subtitle",
15082
+ componentId: "sc-gptoxp-1"
15083
+ })(["font-size:0.4rem;color:yellow !important;"]);
15084
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15085
+ displayName: "ItemSelector__RadioInputScroller",
15086
+ componentId: "sc-gptoxp-2"
15087
+ })(["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;"]);
15088
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15089
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15090
+ componentId: "sc-gptoxp-3"
15091
+ })(["margin-right:40px;"]);
15092
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15093
+ displayName: "ItemSelector__RadioOptionsWrapper",
15094
+ componentId: "sc-gptoxp-4"
15095
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15096
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15097
+ displayName: "ItemSelector__ButtonWrapper",
15098
+ componentId: "sc-gptoxp-5"
15099
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15343
15100
 
15344
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
15345
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15346
- settingShortcutIndex = _ref.settingShortcutIndex,
15347
- shortcuts = _ref.shortcuts,
15348
- removeShortcut = _ref.removeShortcut,
15349
- atlasJSON = _ref.atlasJSON,
15350
- atlasIMG = _ref.atlasIMG;
15351
- var getContent = function getContent(index) {
15352
- var _shortcuts$index, _shortcuts$index3;
15353
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
15354
- var _shortcuts$index2;
15355
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15356
- if (!_payload) return null;
15357
- return React__default.createElement(SpriteFromAtlas, {
15358
- atlasIMG: atlasIMG,
15359
- atlasJSON: atlasJSON,
15360
- spriteKey: shared.getItemTextureKeyPath({
15361
- key: _payload.texturePath,
15362
- texturePath: _payload.texturePath,
15363
- stackQty: _payload.stackQty || 1,
15364
- isStackable: _payload.isStackable
15365
- }, atlasJSON),
15366
- width: 32,
15367
- height: 32,
15368
- imgScale: 1.6,
15369
- imgStyle: {
15370
- left: '5px'
15371
- }
15372
- });
15101
+ var ListMenu = function ListMenu(_ref) {
15102
+ var options = _ref.options,
15103
+ onSelected = _ref.onSelected,
15104
+ x = _ref.x,
15105
+ y = _ref.y;
15106
+ return React__default.createElement(Container$f, {
15107
+ x: x,
15108
+ y: y
15109
+ }, React__default.createElement("ul", {
15110
+ className: "rpgui-list-imp",
15111
+ style: {
15112
+ overflow: 'hidden'
15373
15113
  }
15374
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15375
- return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15376
- return word[0];
15377
- }));
15378
- };
15379
- return React__default.createElement(Container$i, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
15380
- id: "shortcuts_list"
15381
- }, Array.from({
15382
- length: 6
15383
- }).map(function (_, i) {
15384
- return React__default.createElement(Shortcut, {
15385
- key: i,
15114
+ }, options.map(function (params, index) {
15115
+ return React__default.createElement(ListElement$1, {
15116
+ key: (params == null ? void 0 : params.id) || index,
15386
15117
  onPointerDown: function onPointerDown() {
15387
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15388
- removeShortcut(i);
15389
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
15390
- },
15391
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15392
- isBeingSet: settingShortcutIndex === i,
15393
- id: "shortcutSetter_" + i
15394
- }, getContent(i));
15118
+ onSelected(params == null ? void 0 : params.id);
15119
+ }
15120
+ }, (params == null ? void 0 : params.text) || 'No text');
15395
15121
  })));
15396
15122
  };
15397
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15398
- displayName: "ShortcutsSetter__Container",
15399
- componentId: "sc-xuouuf-0"
15400
- })(["p{margin:0;margin-left:0.5rem;}"]);
15401
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
15402
- displayName: "ShortcutsSetter__Shortcut",
15403
- componentId: "sc-xuouuf-1"
15404
- })(["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) {
15405
- var isBeingSet = _ref2.isBeingSet;
15406
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15407
- }, uiColors.darkGray, uiColors.gray);
15408
- var List = /*#__PURE__*/styled.div.withConfig({
15409
- displayName: "ShortcutsSetter__List",
15410
- componentId: "sc-xuouuf-2"
15411
- })(["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;"]);
15123
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
15124
+ displayName: "ListMenu__Container",
15125
+ componentId: "sc-i9097t-0"
15126
+ })(["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) {
15127
+ return props.y || 0;
15128
+ }, function (props) {
15129
+ return props.x || 0;
15130
+ }, uiFonts.size.xsmall);
15131
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15132
+ displayName: "ListMenu__ListElement",
15133
+ componentId: "sc-i9097t-1"
15134
+ })(["margin-right:0.5rem;"]);
15412
15135
 
15413
- var ItemContainer$1 = function ItemContainer(_ref) {
15414
- var itemContainer = _ref.itemContainer,
15415
- onClose = _ref.onClose,
15416
- _onMouseOver = _ref.onMouseOver,
15417
- _onSelected = _ref.onSelected,
15418
- onItemClick = _ref.onItemClick,
15419
- type = _ref.type,
15420
- atlasJSON = _ref.atlasJSON,
15136
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15137
+ var atlasJSON = _ref.atlasJSON,
15421
15138
  atlasIMG = _ref.atlasIMG,
15422
- _ref$disableContextMe = _ref.disableContextMenu,
15423
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15424
- onItemDragEnd = _ref.onItemDragEnd,
15425
- onItemDragStart = _ref.onItemDragStart,
15426
- onItemPlaceDrop = _ref.onItemPlaceDrop,
15427
- _onOutsideDrop = _ref.onOutsideDrop,
15428
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15429
- initialPosition = _ref.initialPosition,
15430
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15431
- scale = _ref.scale,
15432
- shortcuts = _ref.shortcuts,
15433
- setItemShortcut = _ref.setItemShortcut,
15434
- removeShortcut = _ref.removeShortcut,
15435
- equipmentSet = _ref.equipmentSet,
15436
- isDepotSystem = _ref.isDepotSystem,
15437
- onPositionChangeEnd = _ref.onPositionChangeEnd,
15438
- onPositionChangeStart = _ref.onPositionChangeStart;
15439
- var _useState = React.useState({
15440
- isOpen: false,
15441
- maxQuantity: 1,
15442
- callback: function callback(_quantity) {}
15443
- }),
15444
- quantitySelect = _useState[0],
15445
- setQuantitySelect = _useState[1];
15446
- var _useState2 = React.useState(-1),
15447
- settingShortcutIndex = _useState2[0],
15448
- setSettingShortcutIndex = _useState2[1];
15449
- var handleSetShortcut = function handleSetShortcut(item, index) {
15450
- if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
15451
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15452
- }
15453
- };
15454
- var onRenderSlots = function onRenderSlots() {
15455
- var slots = [];
15456
- for (var i = 0; i < itemContainer.slotQty; i++) {
15457
- var _itemContainer$slots;
15458
- slots.push(React__default.createElement(ItemSlot, {
15459
- isContextMenuDisabled: disableContextMenu,
15460
- key: i,
15461
- slotIndex: i,
15462
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15463
- itemContainerType: type,
15464
- onMouseOver: function onMouseOver(event, slotIndex, item) {
15465
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15466
- },
15467
- onPointerDown: function onPointerDown(itemType, containerType, item) {
15468
- if (settingShortcutIndex !== -1) {
15469
- setSettingShortcutIndex(-1);
15470
- handleSetShortcut(item, settingShortcutIndex);
15471
- } else if (onItemClick) onItemClick(item, itemType, containerType);
15472
- },
15473
- onSelected: function onSelected(optionId, item) {
15474
- if (_onSelected) _onSelected(optionId, item);
15475
- },
15476
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15477
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15478
- },
15479
- onDragEnd: function onDragEnd(quantity) {
15480
- if (onItemDragEnd) onItemDragEnd(quantity);
15481
- },
15482
- dragScale: scale,
15483
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15484
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15485
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15486
- setQuantitySelect({
15487
- isOpen: true,
15488
- maxQuantity: maxQuantity,
15489
- callback: callback
15490
- });
15491
- },
15492
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15493
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15494
- },
15495
- onOutsideDrop: function onOutsideDrop(item, position) {
15496
- if (_onOutsideDrop) _onOutsideDrop(item, position);
15497
- },
15498
- atlasIMG: atlasIMG,
15499
- atlasJSON: atlasJSON,
15500
- isSelectingShortcut: settingShortcutIndex !== -1,
15501
- equipmentSet: equipmentSet,
15502
- setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
15503
- isDepotSystem: isDepotSystem
15504
- }));
15505
- }
15506
- return slots;
15507
- };
15508
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
15509
- title: itemContainer.name || 'Container',
15510
- onClose: onClose,
15511
- initialPosition: initialPosition,
15512
- scale: scale,
15513
- onPositionChangeEnd: onPositionChangeEnd,
15514
- onPositionChangeStart: onPositionChangeStart
15515
- }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
15516
- setSettingShortcutIndex: setSettingShortcutIndex,
15517
- settingShortcutIndex: settingShortcutIndex,
15518
- shortcuts: shortcuts,
15519
- removeShortcut: removeShortcut,
15520
- atlasIMG: atlasIMG,
15521
- atlasJSON: atlasJSON
15522
- }), React__default.createElement(ItemsContainer, {
15523
- className: "item-container-body"
15524
- }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
15525
- quantity: quantitySelect.maxQuantity,
15526
- onConfirm: function onConfirm(quantity) {
15527
- quantitySelect.callback(quantity);
15528
- setQuantitySelect({
15529
- isOpen: false,
15530
- maxQuantity: 1,
15531
- callback: function callback() {}
15532
- });
15533
- },
15534
- onClose: function onClose() {
15535
- quantitySelect.callback(-1);
15536
- setQuantitySelect({
15537
- isOpen: false,
15538
- maxQuantity: 1,
15539
- callback: function callback() {}
15540
- });
15541
- }
15542
- }))));
15543
- };
15544
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15545
- displayName: "ItemContainer__ItemsContainer",
15546
- componentId: "sc-15y5p9l-0"
15547
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15548
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15549
- displayName: "ItemContainer__QuantitySelectorContainer",
15550
- componentId: "sc-15y5p9l-1"
15551
- })(["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);"]);
15552
-
15553
- var ItemSelector = function ItemSelector(_ref) {
15554
- var atlasIMG = _ref.atlasIMG,
15555
- atlasJSON = _ref.atlasJSON,
15556
- options = _ref.options,
15557
- onClose = _ref.onClose,
15558
- onSelect = _ref.onSelect;
15559
- var _useState = React.useState(),
15560
- selectedValue = _useState[0],
15561
- setSelectedValue = _useState[1];
15562
- var handleClick = function handleClick() {
15563
- var element = document.querySelector("input[name='test']:checked");
15564
- var elementValue = element.value;
15565
- setSelectedValue(elementValue);
15566
- };
15567
- React.useEffect(function () {
15568
- if (selectedValue) {
15569
- onSelect(selectedValue);
15570
- }
15571
- }, [selectedValue]);
15572
- return React__default.createElement(DraggableContainer, {
15573
- type: exports.RPGUIContainerTypes.Framed,
15574
- width: "500px",
15575
- cancelDrag: ".equipment-container-body .arrow-selector",
15576
- onCloseButton: function onCloseButton() {
15577
- if (onClose) {
15578
- onClose();
15579
- }
15580
- }
15581
- }, React__default.createElement("div", {
15582
- style: {
15583
- width: '100%'
15584
- }
15585
- }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15586
- className: "golden"
15587
- })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15588
- return React__default.createElement(RadioOptionsWrapper$1, {
15589
- key: index
15590
- }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15591
- atlasIMG: atlasIMG,
15592
- atlasJSON: atlasJSON,
15593
- spriteKey: option.imageKey,
15594
- imgScale: 3
15595
- })), React__default.createElement("div", null, React__default.createElement("input", {
15596
- className: "rpgui-radio",
15597
- type: "radio",
15598
- value: option.name,
15599
- name: "test"
15600
- }), React__default.createElement("label", {
15601
- onPointerDown: handleClick,
15602
- style: {
15603
- display: 'flex',
15604
- alignItems: 'center'
15605
- }
15606
- }, option.name, " ", React__default.createElement("br", null), option.description)));
15607
- })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15608
- buttonType: exports.ButtonTypes.RPGUIButton,
15609
- onPointerDown: onClose
15610
- }, "Cancel"), React__default.createElement(Button, {
15611
- buttonType: exports.ButtonTypes.RPGUIButton
15612
- }, "Select")));
15613
- };
15614
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15615
- displayName: "ItemSelector__Title",
15616
- componentId: "sc-gptoxp-0"
15617
- })(["font-size:0.6rem;color:yellow !important;"]);
15618
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15619
- displayName: "ItemSelector__Subtitle",
15620
- componentId: "sc-gptoxp-1"
15621
- })(["font-size:0.4rem;color:yellow !important;"]);
15622
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15623
- displayName: "ItemSelector__RadioInputScroller",
15624
- componentId: "sc-gptoxp-2"
15625
- })(["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;"]);
15626
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15627
- displayName: "ItemSelector__SpriteAtlasWrapper",
15628
- componentId: "sc-gptoxp-3"
15629
- })(["margin-right:40px;"]);
15630
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15631
- displayName: "ItemSelector__RadioOptionsWrapper",
15632
- componentId: "sc-gptoxp-4"
15633
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15634
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15635
- displayName: "ItemSelector__ButtonWrapper",
15636
- componentId: "sc-gptoxp-5"
15637
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15638
-
15639
- var ListMenu = function ListMenu(_ref) {
15640
- var options = _ref.options,
15641
- onSelected = _ref.onSelected,
15642
- x = _ref.x,
15643
- y = _ref.y;
15644
- return React__default.createElement(Container$j, {
15645
- x: x,
15646
- y: y
15647
- }, React__default.createElement("ul", {
15648
- className: "rpgui-list-imp",
15649
- style: {
15650
- overflow: 'hidden'
15651
- }
15652
- }, options.map(function (params, index) {
15653
- return React__default.createElement(ListElement$1, {
15654
- key: (params == null ? void 0 : params.id) || index,
15655
- onPointerDown: function onPointerDown() {
15656
- onSelected(params == null ? void 0 : params.id);
15657
- }
15658
- }, (params == null ? void 0 : params.text) || 'No text');
15659
- })));
15660
- };
15661
- var Container$j = /*#__PURE__*/styled.div.withConfig({
15662
- displayName: "ListMenu__Container",
15663
- componentId: "sc-i9097t-0"
15664
- })(["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) {
15665
- return props.y || 0;
15666
- }, function (props) {
15667
- return props.x || 0;
15668
- }, uiFonts.size.xsmall);
15669
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15670
- displayName: "ListMenu__ListElement",
15671
- componentId: "sc-i9097t-1"
15672
- })(["margin-right:0.5rem;"]);
15673
-
15674
- var MarketplaceRows = function MarketplaceRows(_ref) {
15675
- var atlasJSON = _ref.atlasJSON,
15676
- atlasIMG = _ref.atlasIMG,
15677
- item = _ref.item,
15678
- itemPrice = _ref.itemPrice,
15139
+ item = _ref.item,
15140
+ itemPrice = _ref.itemPrice,
15679
15141
  equipmentSet = _ref.equipmentSet,
15680
15142
  scale = _ref.scale,
15681
15143
  onHandleClick = _ref.onHandleClick;
@@ -15825,6 +15287,331 @@ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15825
15287
  componentId: "sc-h904b1-3"
15826
15288
  })(["margin:3px !important;width:170px !important;"]);
15827
15289
 
15290
+ var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15291
+
15292
+ 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';
15293
+
15294
+ (function (ImgSide) {
15295
+ ImgSide["right"] = "right";
15296
+ ImgSide["left"] = "left";
15297
+ })(exports.ImgSide || (exports.ImgSide = {}));
15298
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
15299
+ var _textAndTypeArray$sli;
15300
+ var _onClose = _ref.onClose,
15301
+ textAndTypeArray = _ref.textAndTypeArray;
15302
+ var _useState = React.useState(false),
15303
+ showGoNextIndicator = _useState[0],
15304
+ setShowGoNextIndicator = _useState[1];
15305
+ var _useState2 = React.useState(0),
15306
+ slide = _useState2[0],
15307
+ setSlide = _useState2[1];
15308
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15309
+ if (event.code === 'Space') {
15310
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15311
+ setSlide(function (prev) {
15312
+ return prev + 1;
15313
+ });
15314
+ } else {
15315
+ // if there's no more text chunks, close the dialog
15316
+ _onClose();
15317
+ }
15318
+ }
15319
+ };
15320
+ React.useEffect(function () {
15321
+ document.addEventListener('keydown', onHandleSpacePress);
15322
+ return function () {
15323
+ return document.removeEventListener('keydown', onHandleSpacePress);
15324
+ };
15325
+ }, [slide]);
15326
+ return React__default.createElement(RPGUIContainer, {
15327
+ type: exports.RPGUIContainerTypes.FramedGold,
15328
+ width: '50%',
15329
+ height: '180px'
15330
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$g, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
15331
+ flex: '70%'
15332
+ }, React__default.createElement(NPCDialogText, {
15333
+ onStartStep: function onStartStep() {
15334
+ return setShowGoNextIndicator(false);
15335
+ },
15336
+ onEndStep: function onEndStep() {
15337
+ return setShowGoNextIndicator(true);
15338
+ },
15339
+ text: textAndTypeArray[slide].text || 'No text provided.',
15340
+ onClose: function onClose() {
15341
+ if (_onClose) {
15342
+ _onClose();
15343
+ }
15344
+ }
15345
+ })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15346
+ src: textAndTypeArray[slide].imagePath || img$5
15347
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15348
+ right: '10.5rem',
15349
+ src: img$6
15350
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15351
+ src: textAndTypeArray[slide].imagePath || img$5
15352
+ })), React__default.createElement(TextContainer, {
15353
+ flex: '70%'
15354
+ }, React__default.createElement(NPCDialogText, {
15355
+ onStartStep: function onStartStep() {
15356
+ return setShowGoNextIndicator(false);
15357
+ },
15358
+ onEndStep: function onEndStep() {
15359
+ return setShowGoNextIndicator(true);
15360
+ },
15361
+ text: textAndTypeArray[slide].text || 'No text provided.',
15362
+ onClose: function onClose() {
15363
+ if (_onClose) {
15364
+ _onClose();
15365
+ }
15366
+ }
15367
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15368
+ right: '1rem',
15369
+ src: img$6
15370
+ }))), ")"));
15371
+ };
15372
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
15373
+ displayName: "NPCMultiDialog__Container",
15374
+ componentId: "sc-rvu5wg-0"
15375
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15376
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
15377
+ displayName: "NPCMultiDialog__TextContainer",
15378
+ componentId: "sc-rvu5wg-1"
15379
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15380
+ var flex = _ref2.flex;
15381
+ return flex;
15382
+ });
15383
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15384
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15385
+ componentId: "sc-rvu5wg-2"
15386
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15387
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15388
+ displayName: "NPCMultiDialog__NPCThumbnail",
15389
+ componentId: "sc-rvu5wg-3"
15390
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15391
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15392
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15393
+ componentId: "sc-rvu5wg-4"
15394
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15395
+ var right = _ref3.right;
15396
+ return right;
15397
+ });
15398
+
15399
+ //@ts-ignore
15400
+ var useEventListener = function useEventListener(type, handler, el) {
15401
+ if (el === void 0) {
15402
+ el = window;
15403
+ }
15404
+ var savedHandler = React__default.useRef();
15405
+ React__default.useEffect(function () {
15406
+ savedHandler.current = handler;
15407
+ }, [handler]);
15408
+ React__default.useEffect(function () {
15409
+ //@ts-ignore
15410
+ var listener = function listener(e) {
15411
+ return savedHandler.current(e);
15412
+ };
15413
+ el.addEventListener(type, listener);
15414
+ return function () {
15415
+ el.removeEventListener(type, listener);
15416
+ };
15417
+ }, [type, el]);
15418
+ };
15419
+
15420
+ var DynamicText = function DynamicText(_ref) {
15421
+ var text = _ref.text,
15422
+ onFinish = _ref.onFinish,
15423
+ onStart = _ref.onStart;
15424
+ var _useState = React.useState(''),
15425
+ textState = _useState[0],
15426
+ setTextState = _useState[1];
15427
+ React.useEffect(function () {
15428
+ var i = 0;
15429
+ var interval = setInterval(function () {
15430
+ // on every interval, show one more character
15431
+ if (i === 0) {
15432
+ if (onStart) {
15433
+ onStart();
15434
+ }
15435
+ }
15436
+ if (i < text.length) {
15437
+ setTextState(text.substring(0, i + 1));
15438
+ i++;
15439
+ } else {
15440
+ clearInterval(interval);
15441
+ if (onFinish) {
15442
+ onFinish();
15443
+ }
15444
+ }
15445
+ }, 50);
15446
+ return function () {
15447
+ clearInterval(interval);
15448
+ };
15449
+ }, [text]);
15450
+ return React__default.createElement(TextContainer$1, null, textState);
15451
+ };
15452
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15453
+ displayName: "DynamicText__TextContainer",
15454
+ componentId: "sc-1ggl9nd-0"
15455
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15456
+
15457
+ var QuestionDialog = function QuestionDialog(_ref) {
15458
+ var questions = _ref.questions,
15459
+ answers = _ref.answers,
15460
+ onClose = _ref.onClose;
15461
+ var _useState = React.useState(questions[0]),
15462
+ currentQuestion = _useState[0],
15463
+ setCurrentQuestion = _useState[1];
15464
+ var _useState2 = React.useState(false),
15465
+ canShowAnswers = _useState2[0],
15466
+ setCanShowAnswers = _useState2[1];
15467
+ var onGetFirstAnswer = function onGetFirstAnswer() {
15468
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15469
+ return null;
15470
+ }
15471
+ var firstAnswerId = currentQuestion.answerIds[0];
15472
+ return answers.find(function (answer) {
15473
+ return answer.id === firstAnswerId;
15474
+ });
15475
+ };
15476
+ var _useState3 = React.useState(onGetFirstAnswer()),
15477
+ currentAnswer = _useState3[0],
15478
+ setCurrentAnswer = _useState3[1];
15479
+ React.useEffect(function () {
15480
+ setCurrentAnswer(onGetFirstAnswer());
15481
+ }, [currentQuestion]);
15482
+ var onGetAnswers = function onGetAnswers(answerIds) {
15483
+ return answerIds.map(function (answerId) {
15484
+ return answers.find(function (answer) {
15485
+ return answer.id === answerId;
15486
+ });
15487
+ });
15488
+ };
15489
+ var onKeyPress = function onKeyPress(e) {
15490
+ switch (e.key) {
15491
+ case 'ArrowDown':
15492
+ // select next answer, if any.
15493
+ // if no next answer, select first answer
15494
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15495
+ // (answer) => answer?.id === currentAnswer!.id + 1
15496
+ // );
15497
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15498
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15499
+ });
15500
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15501
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15502
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
15503
+ });
15504
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15505
+ break;
15506
+ case 'ArrowUp':
15507
+ // select previous answer, if any.
15508
+ // if no previous answer, select last answer
15509
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15510
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15511
+ });
15512
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15513
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15514
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
15515
+ });
15516
+ if (previousAnswer) {
15517
+ setCurrentAnswer(previousAnswer);
15518
+ } else {
15519
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15520
+ }
15521
+ break;
15522
+ case 'Enter':
15523
+ setCanShowAnswers(false);
15524
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15525
+ onClose();
15526
+ return;
15527
+ } else {
15528
+ setCurrentQuestion(questions.find(function (question) {
15529
+ return question.id === currentAnswer.nextQuestionId;
15530
+ }));
15531
+ }
15532
+ break;
15533
+ }
15534
+ };
15535
+ useEventListener('keydown', onKeyPress);
15536
+ var onAnswerClick = function onAnswerClick(answer) {
15537
+ setCanShowAnswers(false);
15538
+ if (answer.nextQuestionId) {
15539
+ // if there is a next question, go to it
15540
+ setCurrentQuestion(questions.find(function (question) {
15541
+ return question.id === answer.nextQuestionId;
15542
+ }));
15543
+ } else {
15544
+ // else, finish dialog!
15545
+ onClose();
15546
+ }
15547
+ };
15548
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15549
+ var answerIds = currentQuestion.answerIds;
15550
+ if (!answerIds) {
15551
+ return null;
15552
+ }
15553
+ var answers = onGetAnswers(answerIds);
15554
+ if (!answers) {
15555
+ return null;
15556
+ }
15557
+ return answers.map(function (answer) {
15558
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15559
+ var selectedColor = isSelected ? 'yellow' : 'white';
15560
+ if (answer) {
15561
+ return React__default.createElement(AnswerRow, {
15562
+ key: "answer_" + answer.id
15563
+ }, React__default.createElement(AnswerSelectedIcon, {
15564
+ color: selectedColor
15565
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
15566
+ key: answer.id,
15567
+ onPointerDown: function onPointerDown() {
15568
+ return onAnswerClick(answer);
15569
+ },
15570
+ color: selectedColor
15571
+ }, answer.text));
15572
+ }
15573
+ return null;
15574
+ });
15575
+ };
15576
+ return React__default.createElement(Container$h, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
15577
+ text: currentQuestion.text,
15578
+ onStart: function onStart() {
15579
+ return setCanShowAnswers(false);
15580
+ },
15581
+ onFinish: function onFinish() {
15582
+ return setCanShowAnswers(true);
15583
+ }
15584
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15585
+ };
15586
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15587
+ displayName: "QuestionDialog__Container",
15588
+ componentId: "sc-bxc5u0-0"
15589
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
15590
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
15591
+ displayName: "QuestionDialog__QuestionContainer",
15592
+ componentId: "sc-bxc5u0-1"
15593
+ })(["flex:100%;width:100%;"]);
15594
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
15595
+ displayName: "QuestionDialog__AnswersContainer",
15596
+ componentId: "sc-bxc5u0-2"
15597
+ })(["flex:100%;"]);
15598
+ var Answer = /*#__PURE__*/styled.p.withConfig({
15599
+ displayName: "QuestionDialog__Answer",
15600
+ componentId: "sc-bxc5u0-3"
15601
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
15602
+ return props.color;
15603
+ });
15604
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
15605
+ displayName: "QuestionDialog__AnswerSelectedIcon",
15606
+ componentId: "sc-bxc5u0-4"
15607
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
15608
+ return props.color;
15609
+ });
15610
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
15611
+ displayName: "QuestionDialog__AnswerRow",
15612
+ componentId: "sc-bxc5u0-5"
15613
+ })(["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;}"]);
15614
+
15828
15615
  var ProgressBar = function ProgressBar(_ref) {
15829
15616
  var max = _ref.max,
15830
15617
  value = _ref.value,
@@ -15836,15 +15623,13 @@ var ProgressBar = function ProgressBar(_ref) {
15836
15623
  _ref$minWidth = _ref.minWidth,
15837
15624
  minWidth = _ref$minWidth === void 0 ? 100 : _ref$minWidth,
15838
15625
  style = _ref.style;
15839
- value = Math.round(value);
15840
- max = Math.round(max);
15841
15626
  var calculatePercentageValue = function calculatePercentageValue(max, value) {
15842
15627
  if (value > max) {
15843
15628
  value = max;
15844
15629
  }
15845
15630
  return value * 100 / max;
15846
15631
  };
15847
- return React__default.createElement(Container$k, {
15632
+ return React__default.createElement(Container$i, {
15848
15633
  className: "rpgui-progress",
15849
15634
  "data-value": calculatePercentageValue(max, value) / 100,
15850
15635
  "data-rpguitype": "progress",
@@ -15873,7 +15658,7 @@ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
15873
15658
  displayName: "ProgressBar__TextOverlay",
15874
15659
  componentId: "sc-qa6fzh-1"
15875
15660
  })(["width:100%;position:relative;"]);
15876
- var Container$k = /*#__PURE__*/styled.div.withConfig({
15661
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15877
15662
  displayName: "ProgressBar__Container",
15878
15663
  componentId: "sc-qa6fzh-2"
15879
15664
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -15884,7 +15669,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
15884
15669
  return props.style;
15885
15670
  });
15886
15671
 
15887
- var img$8 = 'data:image/png;base64,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';
15672
+ var img$7 = 'data:image/png;base64,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';
15888
15673
 
15889
15674
  var QuestInfo = function QuestInfo(_ref) {
15890
15675
  var quests = _ref.quests,
@@ -15928,7 +15713,7 @@ var QuestInfo = function QuestInfo(_ref) {
15928
15713
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15929
15714
  className: "drag-handler"
15930
15715
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15931
- src: quests[currentIndex].thumbnail || img$8
15716
+ src: quests[currentIndex].thumbnail || img$7
15932
15717
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15933
15718
  className: "golden"
15934
15719
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -15947,7 +15732,7 @@ var QuestInfo = function QuestInfo(_ref) {
15947
15732
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15948
15733
  className: "drag-handler"
15949
15734
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15950
- src: quests[0].thumbnail || img$8
15735
+ src: quests[0].thumbnail || img$7
15951
15736
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15952
15737
  className: "golden"
15953
15738
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -16212,7 +15997,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16212
15997
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
16213
15998
  _ref$margin = _ref.margin,
16214
15999
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
16215
- return React__default.createElement(Container$l, {
16000
+ return React__default.createElement(Container$j, {
16216
16001
  className: "simple-progress-bar"
16217
16002
  }, React__default.createElement(ProgressBarContainer, {
16218
16003
  margin: margin
@@ -16221,7 +16006,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16221
16006
  bgColor: bgColor
16222
16007
  }))));
16223
16008
  };
16224
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16009
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
16225
16010
  displayName: "SimpleProgressBar__Container",
16226
16011
  componentId: "sc-mbeil3-0"
16227
16012
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16380,9 +16165,6 @@ var SkillsContainer = function SkillsContainer(_ref) {
16380
16165
  var _Object$entries$_i = _Object$entries[_i],
16381
16166
  key = _Object$entries$_i[0],
16382
16167
  value = _Object$entries$_i[1];
16383
- if (key === 'stamina') {
16384
- continue;
16385
- }
16386
16168
  //@ts-ignore
16387
16169
  var skillDetails = skill[key];
16388
16170
  output.push(React__default.createElement(SkillProgressBar, {
@@ -16429,7 +16211,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
16429
16211
  var SkillsDraggableContainer = /*#__PURE__*/styled(DraggableContainer).withConfig({
16430
16212
  displayName: "SkillsContainer__SkillsDraggableContainer",
16431
16213
  componentId: "sc-1g0c67q-0"
16432
- })(["border:1px solid black;max-width:380px;height:90%;.DraggableContainer__TitleContainer-sc-184mpyl-2{width:auto;height:auto;}"]);
16214
+ })(["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;}"]);
16433
16215
  var SkillsContainerDiv = /*#__PURE__*/styled.div.withConfig({
16434
16216
  displayName: "SkillsContainer__SkillsContainerDiv",
16435
16217
  componentId: "sc-1g0c67q-1"
@@ -16460,7 +16242,7 @@ var SpellInfo = function SpellInfo(_ref) {
16460
16242
  castingType = spell.castingType,
16461
16243
  cooldown = spell.cooldown,
16462
16244
  maxDistanceGrid = spell.maxDistanceGrid;
16463
- return React__default.createElement(Container$m, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$6, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16245
+ return React__default.createElement(Container$k, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$6, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16464
16246
  className: "label"
16465
16247
  }, "Casting Type:"), React__default.createElement("div", {
16466
16248
  className: "value"
@@ -16486,7 +16268,7 @@ var SpellInfo = function SpellInfo(_ref) {
16486
16268
  className: "value"
16487
16269
  }, requiredItem))), React__default.createElement(Description$1, null, description));
16488
16270
  };
16489
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16271
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
16490
16272
  displayName: "SpellInfo__Container",
16491
16273
  componentId: "sc-4hbw3q-0"
16492
16274
  })(["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);
@@ -16540,7 +16322,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16540
16322
  var _ref$current;
16541
16323
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16542
16324
  };
16543
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$n, {
16325
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$l, {
16544
16326
  ref: ref,
16545
16327
  onTouchEnd: function onTouchEnd() {
16546
16328
  handleFadeOut();
@@ -16565,7 +16347,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16565
16347
  }, option.text);
16566
16348
  }))));
16567
16349
  };
16568
- var Container$n = /*#__PURE__*/styled.div.withConfig({
16350
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
16569
16351
  displayName: "MobileSpellTooltip__Container",
16570
16352
  componentId: "sc-6p7uvr-0"
16571
16353
  })(["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;}"]);
@@ -16606,13 +16388,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
16606
16388
  }
16607
16389
  return;
16608
16390
  }, []);
16609
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$o, {
16391
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$m, {
16610
16392
  ref: ref
16611
16393
  }, React__default.createElement(SpellInfoDisplay, {
16612
16394
  spell: spell
16613
16395
  })));
16614
16396
  };
16615
- var Container$o = /*#__PURE__*/styled.div.withConfig({
16397
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16616
16398
  displayName: "SpellTooltip__Container",
16617
16399
  componentId: "sc-1go0gwg-0"
16618
16400
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -16664,7 +16446,7 @@ var Spell = function Spell(_ref) {
16664
16446
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16665
16447
  return React__default.createElement(SpellInfoWrapper, {
16666
16448
  spell: spell
16667
- }, React__default.createElement(Container$p, {
16449
+ }, React__default.createElement(Container$n, {
16668
16450
  disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16669
16451
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16670
16452
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -16679,7 +16461,7 @@ var Spell = function Spell(_ref) {
16679
16461
  className: "mana"
16680
16462
  }, manaCost))));
16681
16463
  };
16682
- var Container$p = /*#__PURE__*/styled.button.withConfig({
16464
+ var Container$n = /*#__PURE__*/styled.button.withConfig({
16683
16465
  displayName: "Spell__Container",
16684
16466
  componentId: "sc-j96fa2-0"
16685
16467
  })(["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) {
@@ -16767,7 +16549,7 @@ var Spellbook = function Spellbook(_ref) {
16767
16549
  height: "inherit",
16768
16550
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
16769
16551
  scale: scale
16770
- }, React__default.createElement(Container$q, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
16552
+ }, React__default.createElement(Container$o, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
16771
16553
  setSettingShortcutIndex: setSettingShortcutIndex,
16772
16554
  settingShortcutIndex: settingShortcutIndex,
16773
16555
  shortcuts: shortcuts,
@@ -16801,7 +16583,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
16801
16583
  displayName: "Spellbook__Title",
16802
16584
  componentId: "sc-r02nfq-0"
16803
16585
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
16804
- var Container$q = /*#__PURE__*/styled.div.withConfig({
16586
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16805
16587
  displayName: "Spellbook__Container",
16806
16588
  componentId: "sc-r02nfq-1"
16807
16589
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -16815,16 +16597,16 @@ var TextArea = function TextArea(_ref) {
16815
16597
  return React__default.createElement("textarea", Object.assign({}, props));
16816
16598
  };
16817
16599
 
16818
- var img$9 = 'data:image/gif;base64,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';
16600
+ var img$8 = 'data:image/gif;base64,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';
16819
16601
 
16820
- var img$a = 'data:image/gif;base64,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';
16602
+ var img$9 = 'data:image/gif;base64,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';
16821
16603
 
16822
- var img$b = 'data:image/gif;base64,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';
16604
+ var img$a = 'data:image/gif;base64,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';
16823
16605
 
16824
16606
  var DayNightPeriod = function DayNightPeriod(_ref) {
16825
16607
  var _periodOfDaySrcFiles;
16826
16608
  var periodOfDay = _ref.periodOfDay;
16827
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
16609
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16828
16610
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
16829
16611
  src: periodOfDaySrcFiles[periodOfDay]
16830
16612
  }));
@@ -16834,7 +16616,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16834
16616
  componentId: "sc-10t97fw-0"
16835
16617
  })(["width:100%;img{width:67%;}"]);
16836
16618
 
16837
- 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';
16619
+ 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';
16838
16620
 
16839
16621
  var TimeWidget = function TimeWidget(_ref) {
16840
16622
  var onClose = _ref.onClose,
@@ -16852,7 +16634,7 @@ var TimeWidget = function TimeWidget(_ref) {
16852
16634
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16853
16635
  displayName: "TimeWidget__WidgetContainer",
16854
16636
  componentId: "sc-1ja236h-0"
16855
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
16637
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16856
16638
  var Time = /*#__PURE__*/styled.div.withConfig({
16857
16639
  displayName: "TimeWidget__Time",
16858
16640
  componentId: "sc-1ja236h-1"
@@ -17102,17 +16884,230 @@ var Truncate = function Truncate(_ref) {
17102
16884
  var _ref$maxLines = _ref.maxLines,
17103
16885
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
17104
16886
  children = _ref.children;
17105
- return React__default.createElement(Container$r, {
16887
+ return React__default.createElement(Container$p, {
17106
16888
  maxLines: maxLines
17107
16889
  }, children);
17108
16890
  };
17109
- var Container$r = /*#__PURE__*/styled.div.withConfig({
16891
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
17110
16892
  displayName: "Truncate__Container",
17111
16893
  componentId: "sc-6x00qb-0"
17112
16894
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
17113
16895
  return props.maxLines;
17114
16896
  });
17115
16897
 
16898
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
16899
+
16900
+ var chunkString = function chunkString(str, length) {
16901
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
16902
+ };
16903
+
16904
+ var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
16905
+
16906
+ var NPCDialogText = function NPCDialogText(_ref) {
16907
+ var text = _ref.text,
16908
+ onClose = _ref.onClose,
16909
+ onEndStep = _ref.onEndStep,
16910
+ onStartStep = _ref.onStartStep,
16911
+ type = _ref.type;
16912
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
16913
+ function maxCharacters(width) {
16914
+ // Set the font size to 16 pixels
16915
+ var fontSize = 11.2;
16916
+ // Calculate the number of characters that can fit in one line
16917
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
16918
+ // Calculate the number of lines that can fit in the div
16919
+ var linesPerDiv = Math.floor(180 / fontSize);
16920
+ // Calculate the maximum number of characters that can fit in the div
16921
+ var maxCharacters = charactersPerLine * linesPerDiv;
16922
+ // Return the maximum number of characters
16923
+ return Math.round(maxCharacters / 5);
16924
+ }
16925
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
16926
+ var _useState = React.useState(0),
16927
+ chunkIndex = _useState[0],
16928
+ setChunkIndex = _useState[1];
16929
+ var onHandleSpacePress = function onHandleSpacePress(event) {
16930
+ if (event.code === 'Space') {
16931
+ goToNextStep();
16932
+ }
16933
+ };
16934
+ var goToNextStep = function goToNextStep() {
16935
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
16936
+ if (hasNextChunk) {
16937
+ setChunkIndex(function (prev) {
16938
+ return prev + 1;
16939
+ });
16940
+ } else {
16941
+ // if there's no more text chunks, close the dialog
16942
+ onClose();
16943
+ }
16944
+ };
16945
+ React.useEffect(function () {
16946
+ document.addEventListener('keydown', onHandleSpacePress);
16947
+ return function () {
16948
+ return document.removeEventListener('keydown', onHandleSpacePress);
16949
+ };
16950
+ }, [chunkIndex]);
16951
+ var _useState2 = React.useState(false),
16952
+ showGoNextIndicator = _useState2[0],
16953
+ setShowGoNextIndicator = _useState2[1];
16954
+ return React__default.createElement(Container$q, null, React__default.createElement(DynamicText, {
16955
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
16956
+ onFinish: function onFinish() {
16957
+ setShowGoNextIndicator(true);
16958
+ onEndStep && onEndStep();
16959
+ },
16960
+ onStart: function onStart() {
16961
+ setShowGoNextIndicator(false);
16962
+ onStartStep && onStartStep();
16963
+ }
16964
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
16965
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
16966
+ src: IS_MOBILE_OR_TABLET ? img$c : img$6,
16967
+ onPointerDown: function onPointerDown() {
16968
+ goToNextStep();
16969
+ }
16970
+ }));
16971
+ };
16972
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16973
+ displayName: "NPCDialogText__Container",
16974
+ componentId: "sc-1cxkdh9-0"
16975
+ })([""]);
16976
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
16977
+ displayName: "NPCDialogText__PressSpaceIndicator",
16978
+ componentId: "sc-1cxkdh9-1"
16979
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
16980
+ var right = _ref2.right;
16981
+ return right;
16982
+ });
16983
+
16984
+ (function (NPCDialogType) {
16985
+ NPCDialogType["TextOnly"] = "TextOnly";
16986
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
16987
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
16988
+ var NPCDialog = function NPCDialog(_ref) {
16989
+ var text = _ref.text,
16990
+ type = _ref.type,
16991
+ _onClose = _ref.onClose,
16992
+ imagePath = _ref.imagePath,
16993
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
16994
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
16995
+ questions = _ref.questions,
16996
+ answers = _ref.answers;
16997
+ return React__default.createElement(RPGUIContainer, {
16998
+ type: exports.RPGUIContainerTypes.FramedGold,
16999
+ width: isQuestionDialog ? '600px' : '80%',
17000
+ height: '180px'
17001
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
17002
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17003
+ }, React__default.createElement(QuestionDialog, {
17004
+ questions: questions,
17005
+ answers: answers,
17006
+ onClose: function onClose() {
17007
+ if (_onClose) {
17008
+ _onClose();
17009
+ }
17010
+ }
17011
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17012
+ src: imagePath || img$5
17013
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$r, null, React__default.createElement(TextContainer$2, {
17014
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17015
+ }, React__default.createElement(NPCDialogText, {
17016
+ type: type,
17017
+ text: text || 'No text provided.',
17018
+ onClose: function onClose() {
17019
+ if (_onClose) {
17020
+ _onClose();
17021
+ }
17022
+ }
17023
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17024
+ src: imagePath || img$5
17025
+ })))));
17026
+ };
17027
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
17028
+ displayName: "NPCDialog__Container",
17029
+ componentId: "sc-1b4aw74-0"
17030
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17031
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17032
+ displayName: "NPCDialog__TextContainer",
17033
+ componentId: "sc-1b4aw74-1"
17034
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17035
+ var flex = _ref2.flex;
17036
+ return flex;
17037
+ });
17038
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17039
+ displayName: "NPCDialog__ThumbnailContainer",
17040
+ componentId: "sc-1b4aw74-2"
17041
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17042
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17043
+ displayName: "NPCDialog__NPCThumbnail",
17044
+ componentId: "sc-1b4aw74-3"
17045
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
17046
+
17047
+ var HistoryDialog = function HistoryDialog(_ref) {
17048
+ var backgroundImgPath = _ref.backgroundImgPath,
17049
+ fullCoverBackground = _ref.fullCoverBackground,
17050
+ questions = _ref.questions,
17051
+ answers = _ref.answers,
17052
+ text = _ref.text,
17053
+ imagePath = _ref.imagePath,
17054
+ textAndTypeArray = _ref.textAndTypeArray,
17055
+ onClose = _ref.onClose;
17056
+ var _useState = React.useState(0),
17057
+ img = _useState[0],
17058
+ setImage = _useState[1];
17059
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17060
+ if (event.code === 'Space') {
17061
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17062
+ setImage(function (prev) {
17063
+ return prev + 1;
17064
+ });
17065
+ } else {
17066
+ // if there's no more text chunks, close the dialog
17067
+ onClose();
17068
+ }
17069
+ }
17070
+ };
17071
+ React.useEffect(function () {
17072
+ document.addEventListener('keydown', onHandleSpacePress);
17073
+ return function () {
17074
+ return document.removeEventListener('keydown', onHandleSpacePress);
17075
+ };
17076
+ }, [backgroundImgPath]);
17077
+ return React__default.createElement(BackgroundContainer, {
17078
+ imgPath: backgroundImgPath[img],
17079
+ fullImg: fullCoverBackground
17080
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
17081
+ textAndTypeArray: textAndTypeArray,
17082
+ onClose: onClose
17083
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
17084
+ questions: questions,
17085
+ answers: answers,
17086
+ onClose: onClose
17087
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
17088
+ text: text,
17089
+ imagePath: imagePath,
17090
+ onClose: onClose,
17091
+ type: exports.NPCDialogType.TextAndThumbnail
17092
+ }) : React__default.createElement(NPCDialog, {
17093
+ text: text,
17094
+ onClose: onClose,
17095
+ type: exports.NPCDialogType.TextOnly
17096
+ })));
17097
+ };
17098
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17099
+ displayName: "HistoryDialog__BackgroundContainer",
17100
+ componentId: "sc-u6oe75-0"
17101
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17102
+ return props.imgPath;
17103
+ }, function (props) {
17104
+ return props.imgPath ? 'cover' : 'auto';
17105
+ });
17106
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17107
+ displayName: "HistoryDialog__DialogContainer",
17108
+ componentId: "sc-u6oe75-1"
17109
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
17110
+
17116
17111
  exports.Button = Button;
17117
17112
  exports.CharacterSelection = CharacterSelection;
17118
17113
  exports.Chat = Chat;