@rpg-engine/long-bow 0.4.81 → 0.4.82

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 (176) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/Marketplace/BuyPanel.d.ts +1 -0
  4. package/dist/components/Marketplace/ManagmentPanel.d.ts +1 -0
  5. package/dist/long-bow.cjs.development.js +1297 -1256
  6. package/dist/long-bow.cjs.development.js.map +1 -1
  7. package/dist/long-bow.cjs.production.min.js +1 -1
  8. package/dist/long-bow.cjs.production.min.js.map +1 -1
  9. package/dist/long-bow.esm.js +1187 -1146
  10. package/dist/long-bow.esm.js.map +1 -1
  11. package/package.json +100 -100
  12. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  13. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  14. package/src/components/Arrow/SelectArrow.tsx +69 -69
  15. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  16. package/src/components/Arrow/img/arrow01-left.png +0 -0
  17. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  18. package/src/components/Arrow/img/arrow01-right.png +0 -0
  19. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  20. package/src/components/Arrow/img/arrow02-left.png +0 -0
  21. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  22. package/src/components/Arrow/img/arrow02-right.png +0 -0
  23. package/src/components/Button.tsx +40 -40
  24. package/src/components/Character/CharacterSelection.tsx +98 -98
  25. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  26. package/src/components/Chat/Chat.tsx +196 -196
  27. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  28. package/src/components/CheckButton.tsx +65 -65
  29. package/src/components/CircularController/CircularController.tsx +282 -282
  30. package/src/components/ConfirmModal.tsx +87 -87
  31. package/src/components/CraftBook/CraftBook.tsx +286 -286
  32. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  33. package/src/components/CraftBook/MockItems.ts +101 -101
  34. package/src/components/DraggableContainer.tsx +183 -183
  35. package/src/components/Dropdown.tsx +114 -114
  36. package/src/components/DropdownSelectorContainer.tsx +42 -42
  37. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  38. package/src/components/HistoryDialog.tsx +104 -104
  39. package/src/components/Input.tsx +15 -15
  40. package/src/components/InputRadio.tsx +41 -41
  41. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  42. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  43. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  44. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  45. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  46. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  47. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  48. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  49. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  50. package/src/components/Item/Inventory/ItemSlot.tsx +595 -595
  51. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  52. package/src/components/ListMenu.tsx +63 -63
  53. package/src/components/Marketplace/BuyPanel.tsx +304 -296
  54. package/src/components/Marketplace/ManagmentPanel.tsx +255 -247
  55. package/src/components/Marketplace/Marketplace.tsx +106 -106
  56. package/src/components/Marketplace/MarketplaceRows.tsx +177 -161
  57. package/src/components/Marketplace/filters/index.tsx +67 -67
  58. package/src/components/Multitab/Tab.tsx +66 -66
  59. package/src/components/Multitab/TabBody.tsx +13 -13
  60. package/src/components/Multitab/TabsContainer.tsx +97 -97
  61. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  62. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  63. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  64. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  65. package/src/components/Pager.tsx +94 -94
  66. package/src/components/ProgressBar.tsx +102 -102
  67. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  68. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  69. package/src/components/QuestList.tsx +135 -135
  70. package/src/components/RPGUIContainer.tsx +47 -47
  71. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  72. package/src/components/RPGUIRoot.tsx +14 -14
  73. package/src/components/RadioButton.tsx +53 -53
  74. package/src/components/RadioInput/RadioButton.tsx +96 -96
  75. package/src/components/RadioInput/RadioInput.tsx +102 -102
  76. package/src/components/RadioInput/instruments.ts +15 -15
  77. package/src/components/RangeSlider.tsx +78 -78
  78. package/src/components/RelativeListMenu.tsx +90 -90
  79. package/src/components/ScrollList.tsx +79 -79
  80. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  81. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  82. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  83. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  84. package/src/components/SimpleProgressBar.tsx +62 -62
  85. package/src/components/SkillProgressBar.tsx +206 -198
  86. package/src/components/SkillsContainer.tsx +213 -213
  87. package/src/components/Spellbook/Spell.tsx +235 -235
  88. package/src/components/Spellbook/Spellbook.tsx +145 -145
  89. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  90. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  91. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  92. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  93. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  94. package/src/components/Spellbook/constants.ts +7 -7
  95. package/src/components/Spellbook/mockSpells.ts +84 -84
  96. package/src/components/StaticBook/StaticBook.tsx +103 -103
  97. package/src/components/TextArea.tsx +11 -11
  98. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  99. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  100. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  101. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  102. package/src/components/TradingMenu/items.mock.ts +48 -48
  103. package/src/components/Truncate.tsx +25 -25
  104. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  105. package/src/components/shared/Column.tsx +16 -16
  106. package/src/components/shared/Ellipsis.tsx +76 -76
  107. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  108. package/src/components/typography/DynamicText.tsx +49 -49
  109. package/src/constants/uiColors.ts +20 -20
  110. package/src/constants/uiDevices.ts +3 -3
  111. package/src/constants/uiFonts.ts +12 -12
  112. package/src/hooks/useEventListener.ts +21 -21
  113. package/src/hooks/useOutsideAlerter.ts +25 -25
  114. package/src/index.tsx +42 -42
  115. package/src/libs/CastingTypeHelper.ts +7 -7
  116. package/src/libs/StringHelpers.ts +3 -3
  117. package/src/libs/itemCounter.ts +21 -21
  118. package/src/mocks/atlas/entities/entities.json +20215 -20215
  119. package/src/mocks/atlas/icons/icons.json +735 -735
  120. package/src/mocks/atlas/items/items.json +12086 -12086
  121. package/src/mocks/equipmentSet.mocks.ts +391 -391
  122. package/src/mocks/itemContainer.mocks.ts +605 -605
  123. package/src/mocks/skills.mocks.ts +130 -130
  124. package/src/stories/Arrow.stories.tsx +26 -26
  125. package/src/stories/Button.stories.tsx +36 -36
  126. package/src/stories/CharacterSelection.stories.tsx +44 -44
  127. package/src/stories/CharacterStatus.stories.tsx +29 -29
  128. package/src/stories/Chat.stories.tsx +187 -187
  129. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  130. package/src/stories/CheckButton.stories.tsx +48 -48
  131. package/src/stories/CircullarController.stories.tsx +37 -37
  132. package/src/stories/CraftBook.stories.tsx +42 -42
  133. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  134. package/src/stories/DraggableContainer.stories.tsx +28 -28
  135. package/src/stories/Dropdown.stories.tsx +46 -46
  136. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  137. package/src/stories/EquipmentSet.stories.tsx +65 -65
  138. package/src/stories/HistoryDialog.stories.tsx +61 -61
  139. package/src/stories/ItemContainer.stories.tsx +201 -201
  140. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  141. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  142. package/src/stories/ItemSelector.stories.tsx +77 -77
  143. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  144. package/src/stories/ListMenu.stories.tsx +56 -56
  145. package/src/stories/Marketplace.stories.tsx +57 -53
  146. package/src/stories/MarketplaceRows.stories.tsx +27 -27
  147. package/src/stories/Multitab.stories.tsx +51 -51
  148. package/src/stories/NPCDialog.stories.tsx +130 -130
  149. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  150. package/src/stories/ProgressBar.stories.tsx +24 -24
  151. package/src/stories/PropertySelect.stories.tsx +40 -40
  152. package/src/stories/QuestInfo.stories.tsx +107 -107
  153. package/src/stories/QuestList.stories.tsx +82 -82
  154. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  155. package/src/stories/RadioButton.stories.tsx +49 -49
  156. package/src/stories/RadioInput.stories.tsx +34 -34
  157. package/src/stories/RangeSlider.stories.tsx +64 -64
  158. package/src/stories/ScrollList.stories.tsx +85 -85
  159. package/src/stories/Shortcuts.stories.tsx +39 -39
  160. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  161. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  162. package/src/stories/SkillsContainer.stories.tsx +35 -35
  163. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  164. package/src/stories/Spellbook.stories.tsx +104 -104
  165. package/src/stories/StaticBook.stories.tsx +32 -32
  166. package/src/stories/Text.stories.tsx +42 -42
  167. package/src/stories/TimeWidget.stories.tsx +27 -27
  168. package/src/stories/TradingMenu.stories.tsx +47 -47
  169. package/src/types/eventTypes.ts +4 -4
  170. package/src/types/index.d.ts +2 -2
  171. package/src/.DS_Store +0 -0
  172. package/src/components/.DS_Store +0 -0
  173. package/src/components/NPCDialog/.DS_Store +0 -0
  174. package/src/components/NPCDialog/img/.DS_Store +0 -0
  175. package/src/mocks/.DS_Store +0 -0
  176. package/src/mocks/atlas/.DS_Store +0 -0
@@ -1,6 +1,6 @@
1
1
  import React, { Component, useState, useEffect, useRef, useMemo, Fragment } from 'react';
2
2
  import styled from 'styled-components';
3
- import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
3
+ import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, getSPForLevel, PeriodOfDay, isMobileOrTablet } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
5
5
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
6
6
  import { RxPaperPlane } from 'react-icons/rx';
@@ -14596,1155 +14596,615 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14596
14596
  componentId: "sc-1wuddg2-1"
14597
14597
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14598
14598
 
14599
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
14600
-
14601
- var chunkString = function chunkString(str, length) {
14602
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
14603
- };
14604
-
14605
- var DynamicText = function DynamicText(_ref) {
14606
- var text = _ref.text,
14607
- onFinish = _ref.onFinish,
14608
- onStart = _ref.onStart;
14609
- var _useState = useState(''),
14610
- textState = _useState[0],
14611
- setTextState = _useState[1];
14612
- useEffect(function () {
14613
- var i = 0;
14614
- var interval = setInterval(function () {
14615
- // on every interval, show one more character
14616
- if (i === 0) {
14617
- if (onStart) {
14618
- onStart();
14619
- }
14599
+ var SlotsContainer = function SlotsContainer(_ref) {
14600
+ var children = _ref.children,
14601
+ title = _ref.title,
14602
+ onClose = _ref.onClose,
14603
+ _onPositionChange = _ref.onPositionChange,
14604
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
14605
+ _onPositionChangeStart = _ref.onPositionChangeStart,
14606
+ onOutsideClick = _ref.onOutsideClick,
14607
+ initialPosition = _ref.initialPosition,
14608
+ scale = _ref.scale;
14609
+ return React.createElement(DraggableContainer, {
14610
+ title: title,
14611
+ type: RPGUIContainerTypes.Framed,
14612
+ onCloseButton: function onCloseButton() {
14613
+ if (onClose) {
14614
+ onClose();
14620
14615
  }
14621
- if (i < text.length) {
14622
- setTextState(text.substring(0, i + 1));
14623
- i++;
14624
- } else {
14625
- clearInterval(interval);
14626
- if (onFinish) {
14627
- onFinish();
14628
- }
14616
+ },
14617
+ width: "400px",
14618
+ cancelDrag: ".item-container-body, #shortcuts_list",
14619
+ onPositionChange: function onPositionChange(_ref2) {
14620
+ var x = _ref2.x,
14621
+ y = _ref2.y;
14622
+ if (_onPositionChange) {
14623
+ _onPositionChange({
14624
+ x: x,
14625
+ y: y
14626
+ });
14629
14627
  }
14630
- }, 50);
14631
- return function () {
14632
- clearInterval(interval);
14633
- };
14634
- }, [text]);
14635
- return React.createElement(TextContainer, null, textState);
14628
+ },
14629
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14630
+ var x = _ref3.x,
14631
+ y = _ref3.y;
14632
+ if (_onPositionChangeEnd) {
14633
+ _onPositionChangeEnd({
14634
+ x: x,
14635
+ y: y
14636
+ });
14637
+ }
14638
+ },
14639
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
14640
+ var x = _ref4.x,
14641
+ y = _ref4.y;
14642
+ if (_onPositionChangeStart) {
14643
+ _onPositionChangeStart({
14644
+ x: x,
14645
+ y: y
14646
+ });
14647
+ }
14648
+ },
14649
+ onOutsideClick: onOutsideClick,
14650
+ initialPosition: initialPosition,
14651
+ scale: scale
14652
+ }, children);
14636
14653
  };
14637
- var TextContainer = /*#__PURE__*/styled.p.withConfig({
14638
- displayName: "DynamicText__TextContainer",
14639
- componentId: "sc-1ggl9nd-0"
14640
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14641
-
14642
- var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14643
-
14644
- var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
14645
14654
 
14646
- var NPCDialogText = function NPCDialogText(_ref) {
14647
- var text = _ref.text,
14648
- onClose = _ref.onClose,
14649
- onEndStep = _ref.onEndStep,
14650
- onStartStep = _ref.onStartStep,
14651
- type = _ref.type;
14652
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
14653
- function maxCharacters(width) {
14654
- // Set the font size to 16 pixels
14655
- var fontSize = 11.2;
14656
- // Calculate the number of characters that can fit in one line
14657
- var charactersPerLine = Math.floor(width / 2 / fontSize);
14658
- // Calculate the number of lines that can fit in the div
14659
- var linesPerDiv = Math.floor(180 / fontSize);
14660
- // Calculate the maximum number of characters that can fit in the div
14661
- var maxCharacters = charactersPerLine * linesPerDiv;
14662
- // Return the maximum number of characters
14663
- return Math.round(maxCharacters / 5);
14664
- }
14665
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14655
+ var RangeSliderType;
14656
+ (function (RangeSliderType) {
14657
+ RangeSliderType["Slider"] = "rpgui-slider";
14658
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14659
+ })(RangeSliderType || (RangeSliderType = {}));
14660
+ var RangeSlider = function RangeSlider(_ref) {
14661
+ var type = _ref.type,
14662
+ valueMin = _ref.valueMin,
14663
+ valueMax = _ref.valueMax,
14664
+ width = _ref.width,
14665
+ _onChange = _ref.onChange,
14666
+ value = _ref.value;
14667
+ var sliderId = v4();
14668
+ var containerRef = useRef(null);
14666
14669
  var _useState = useState(0),
14667
- chunkIndex = _useState[0],
14668
- setChunkIndex = _useState[1];
14669
- var onHandleSpacePress = function onHandleSpacePress(event) {
14670
- if (event.code === 'Space') {
14671
- goToNextStep();
14672
- }
14673
- };
14674
- var goToNextStep = function goToNextStep() {
14675
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14676
- if (hasNextChunk) {
14677
- setChunkIndex(function (prev) {
14678
- return prev + 1;
14679
- });
14680
- } else {
14681
- // if there's no more text chunks, close the dialog
14682
- onClose();
14683
- }
14684
- };
14670
+ left = _useState[0],
14671
+ setLeft = _useState[1];
14685
14672
  useEffect(function () {
14686
- document.addEventListener('keydown', onHandleSpacePress);
14687
- return function () {
14688
- return document.removeEventListener('keydown', onHandleSpacePress);
14689
- };
14690
- }, [chunkIndex]);
14691
- var _useState2 = useState(false),
14692
- showGoNextIndicator = _useState2[0],
14693
- setShowGoNextIndicator = _useState2[1];
14694
- return React.createElement(Container$e, null, React.createElement(DynamicText, {
14695
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14696
- onFinish: function onFinish() {
14697
- setShowGoNextIndicator(true);
14698
- onEndStep && onEndStep();
14673
+ var _containerRef$current;
14674
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14675
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14676
+ }, [value, valueMin, valueMax]);
14677
+ var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
14678
+ return React.createElement("div", {
14679
+ style: {
14680
+ width: width,
14681
+ position: 'relative'
14699
14682
  },
14700
- onStart: function onStart() {
14701
- setShowGoNextIndicator(false);
14702
- onStartStep && onStartStep();
14683
+ className: "rpgui-slider-container " + typeClass,
14684
+ id: "rpgui-slider-" + sliderId,
14685
+ ref: containerRef
14686
+ }, React.createElement("div", {
14687
+ style: {
14688
+ pointerEvents: 'none'
14703
14689
  }
14704
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
14705
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14706
- src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14707
- onPointerDown: function onPointerDown() {
14708
- goToNextStep();
14690
+ }, React.createElement("div", {
14691
+ className: "rpgui-slider-track " + typeClass
14692
+ }), React.createElement("div", {
14693
+ className: "rpgui-slider-left-edge " + typeClass
14694
+ }), React.createElement("div", {
14695
+ className: "rpgui-slider-right-edge " + typeClass
14696
+ }), React.createElement("div", {
14697
+ className: "rpgui-slider-thumb " + typeClass,
14698
+ style: {
14699
+ left: left
14709
14700
  }
14701
+ })), React.createElement(Input$1, {
14702
+ type: "range",
14703
+ style: {
14704
+ width: width
14705
+ },
14706
+ min: valueMin,
14707
+ max: valueMax,
14708
+ onChange: function onChange(e) {
14709
+ return _onChange(Number(e.target.value));
14710
+ },
14711
+ value: value,
14712
+ className: "rpgui-cursor-point"
14710
14713
  }));
14711
14714
  };
14712
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14713
- displayName: "NPCDialogText__Container",
14714
- componentId: "sc-1cxkdh9-0"
14715
- })([""]);
14716
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14717
- displayName: "NPCDialogText__PressSpaceIndicator",
14718
- componentId: "sc-1cxkdh9-1"
14719
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14720
- var right = _ref2.right;
14721
- return right;
14722
- });
14723
-
14724
- //@ts-ignore
14725
- var useEventListener = function useEventListener(type, handler, el) {
14726
- if (el === void 0) {
14727
- el = window;
14728
- }
14729
- var savedHandler = React.useRef();
14730
- React.useEffect(function () {
14731
- savedHandler.current = handler;
14732
- }, [handler]);
14733
- React.useEffect(function () {
14734
- //@ts-ignore
14735
- var listener = function listener(e) {
14736
- return savedHandler.current(e);
14737
- };
14738
- el.addEventListener(type, listener);
14739
- return function () {
14740
- el.removeEventListener(type, listener);
14741
- };
14742
- }, [type, el]);
14743
- };
14715
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
14716
+ displayName: "RangeSlider__Input",
14717
+ componentId: "sc-v8mte9-0"
14718
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14744
14719
 
14745
- var QuestionDialog = function QuestionDialog(_ref) {
14746
- var questions = _ref.questions,
14747
- answers = _ref.answers,
14720
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14721
+ var quantity = _ref.quantity,
14722
+ onConfirm = _ref.onConfirm,
14748
14723
  onClose = _ref.onClose;
14749
- var _useState = useState(questions[0]),
14750
- currentQuestion = _useState[0],
14751
- setCurrentQuestion = _useState[1];
14752
- var _useState2 = useState(false),
14753
- canShowAnswers = _useState2[0],
14754
- setCanShowAnswers = _useState2[1];
14755
- var onGetFirstAnswer = function onGetFirstAnswer() {
14756
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14757
- return null;
14758
- }
14759
- var firstAnswerId = currentQuestion.answerIds[0];
14760
- return answers.find(function (answer) {
14761
- return answer.id === firstAnswerId;
14762
- });
14763
- };
14764
- var _useState3 = useState(onGetFirstAnswer()),
14765
- currentAnswer = _useState3[0],
14766
- setCurrentAnswer = _useState3[1];
14724
+ var _useState = useState(quantity),
14725
+ value = _useState[0],
14726
+ setValue = _useState[1];
14727
+ var inputRef = useRef(null);
14767
14728
  useEffect(function () {
14768
- setCurrentAnswer(onGetFirstAnswer());
14769
- }, [currentQuestion]);
14770
- var onGetAnswers = function onGetAnswers(answerIds) {
14771
- return answerIds.map(function (answerId) {
14772
- return answers.find(function (answer) {
14773
- return answer.id === answerId;
14774
- });
14775
- });
14776
- };
14777
- var onKeyPress = function onKeyPress(e) {
14778
- switch (e.key) {
14779
- case 'ArrowDown':
14780
- // select next answer, if any.
14781
- // if no next answer, select first answer
14782
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14783
- // (answer) => answer?.id === currentAnswer!.id + 1
14784
- // );
14785
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14786
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14787
- });
14788
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14789
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14790
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
14791
- });
14792
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14793
- break;
14794
- case 'ArrowUp':
14795
- // select previous answer, if any.
14796
- // if no previous answer, select last answer
14797
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14798
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14799
- });
14800
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14801
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14802
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
14803
- });
14804
- if (previousAnswer) {
14805
- setCurrentAnswer(previousAnswer);
14806
- } else {
14807
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14808
- }
14809
- break;
14810
- case 'Enter':
14811
- setCanShowAnswers(false);
14812
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14729
+ if (inputRef.current) {
14730
+ inputRef.current.focus();
14731
+ inputRef.current.select();
14732
+ var closeSelector = function closeSelector(e) {
14733
+ if (e.key === 'Escape') {
14813
14734
  onClose();
14814
- return;
14815
- } else {
14816
- setCurrentQuestion(questions.find(function (question) {
14817
- return question.id === currentAnswer.nextQuestionId;
14818
- }));
14819
14735
  }
14820
- break;
14821
- }
14822
- };
14823
- useEventListener('keydown', onKeyPress);
14824
- var onAnswerClick = function onAnswerClick(answer) {
14825
- setCanShowAnswers(false);
14826
- if (answer.nextQuestionId) {
14827
- // if there is a next question, go to it
14828
- setCurrentQuestion(questions.find(function (question) {
14829
- return question.id === answer.nextQuestionId;
14830
- }));
14831
- } else {
14832
- // else, finish dialog!
14833
- onClose();
14834
- }
14835
- };
14836
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14837
- var answerIds = currentQuestion.answerIds;
14838
- if (!answerIds) {
14839
- return null;
14840
- }
14841
- var answers = onGetAnswers(answerIds);
14842
- if (!answers) {
14843
- return null;
14736
+ };
14737
+ document.addEventListener('keydown', closeSelector);
14738
+ return function () {
14739
+ document.removeEventListener('keydown', closeSelector);
14740
+ };
14844
14741
  }
14845
- return answers.map(function (answer) {
14846
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14847
- var selectedColor = isSelected ? 'yellow' : 'white';
14848
- if (answer) {
14849
- return React.createElement(AnswerRow, {
14850
- key: "answer_" + answer.id
14851
- }, React.createElement(AnswerSelectedIcon, {
14852
- color: selectedColor
14853
- }, isSelected ? 'X' : null), React.createElement(Answer, {
14854
- key: answer.id,
14855
- onPointerDown: function onPointerDown() {
14856
- return onAnswerClick(answer);
14857
- },
14858
- color: selectedColor
14859
- }, answer.text));
14860
- }
14861
- return null;
14862
- });
14863
- };
14864
- return React.createElement(Container$f, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
14865
- text: currentQuestion.text,
14866
- onStart: function onStart() {
14867
- return setCanShowAnswers(false);
14742
+ return function () {};
14743
+ }, []);
14744
+ return React.createElement(StyledContainer, {
14745
+ type: RPGUIContainerTypes.Framed,
14746
+ width: "25rem"
14747
+ }, React.createElement(CloseButton$2, {
14748
+ className: "container-close",
14749
+ onPointerDown: onClose
14750
+ }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
14751
+ style: {
14752
+ width: '100%'
14868
14753
  },
14869
- onFinish: function onFinish() {
14870
- return setCanShowAnswers(true);
14871
- }
14872
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14873
- };
14874
- var Container$f = /*#__PURE__*/styled.div.withConfig({
14875
- displayName: "QuestionDialog__Container",
14876
- componentId: "sc-bxc5u0-0"
14877
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14878
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14879
- displayName: "QuestionDialog__QuestionContainer",
14880
- componentId: "sc-bxc5u0-1"
14881
- })(["flex:100%;width:100%;"]);
14882
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14883
- displayName: "QuestionDialog__AnswersContainer",
14884
- componentId: "sc-bxc5u0-2"
14885
- })(["flex:100%;"]);
14886
- var Answer = /*#__PURE__*/styled.p.withConfig({
14887
- displayName: "QuestionDialog__Answer",
14888
- componentId: "sc-bxc5u0-3"
14889
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14890
- return props.color;
14891
- });
14892
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14893
- displayName: "QuestionDialog__AnswerSelectedIcon",
14894
- componentId: "sc-bxc5u0-4"
14895
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
14896
- return props.color;
14897
- });
14898
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14899
- displayName: "QuestionDialog__AnswerRow",
14900
- componentId: "sc-bxc5u0-5"
14901
- })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
14902
-
14903
- var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14904
-
14905
- var NPCDialogType;
14906
- (function (NPCDialogType) {
14907
- NPCDialogType["TextOnly"] = "TextOnly";
14908
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14909
- })(NPCDialogType || (NPCDialogType = {}));
14910
- var NPCDialog = function NPCDialog(_ref) {
14911
- var text = _ref.text,
14912
- type = _ref.type,
14913
- _onClose = _ref.onClose,
14914
- imagePath = _ref.imagePath,
14915
- _ref$isQuestionDialog = _ref.isQuestionDialog,
14916
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14917
- questions = _ref.questions,
14918
- answers = _ref.answers;
14919
- return React.createElement(RPGUIContainer, {
14920
- type: RPGUIContainerTypes.FramedGold,
14921
- width: isQuestionDialog ? '600px' : '80%',
14922
- height: '180px'
14923
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
14924
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14925
- }, React.createElement(QuestionDialog, {
14926
- questions: questions,
14927
- answers: answers,
14928
- onClose: function onClose() {
14929
- if (_onClose) {
14930
- _onClose();
14754
+ onSubmit: function onSubmit(e) {
14755
+ e.preventDefault();
14756
+ var numberValue = Number(value);
14757
+ if (Number.isNaN(numberValue)) {
14758
+ return;
14931
14759
  }
14932
- }
14933
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14934
- src: imagePath || img$7
14935
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$g, null, React.createElement(TextContainer$1, {
14936
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14937
- }, React.createElement(NPCDialogText, {
14938
- type: type,
14939
- text: text || 'No text provided.',
14940
- onClose: function onClose() {
14941
- if (_onClose) {
14942
- _onClose();
14760
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14761
+ },
14762
+ noValidate: true
14763
+ }, React.createElement(StyledInput, {
14764
+ innerRef: inputRef,
14765
+ placeholder: "Enter quantity",
14766
+ type: "number",
14767
+ min: 1,
14768
+ max: quantity,
14769
+ value: value,
14770
+ onChange: function onChange(e) {
14771
+ if (Number(e.target.value) >= quantity) {
14772
+ setValue(quantity);
14773
+ return;
14943
14774
  }
14775
+ setValue(e.target.value);
14776
+ },
14777
+ onBlur: function onBlur(e) {
14778
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14779
+ setValue(newValue);
14944
14780
  }
14945
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14946
- src: imagePath || img$7
14947
- })))));
14781
+ }), React.createElement(RangeSlider, {
14782
+ type: RangeSliderType.Slider,
14783
+ valueMin: 1,
14784
+ valueMax: quantity,
14785
+ width: "100%",
14786
+ onChange: setValue,
14787
+ value: value
14788
+ }), React.createElement(Button, {
14789
+ buttonType: ButtonTypes.RPGUIButton,
14790
+ type: "submit"
14791
+ }, "Confirm")));
14948
14792
  };
14949
- var Container$g = /*#__PURE__*/styled.div.withConfig({
14950
- displayName: "NPCDialog__Container",
14951
- componentId: "sc-1b4aw74-0"
14952
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14953
- var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14954
- displayName: "NPCDialog__TextContainer",
14955
- componentId: "sc-1b4aw74-1"
14956
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14957
- var flex = _ref2.flex;
14958
- return flex;
14959
- });
14960
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14961
- displayName: "NPCDialog__ThumbnailContainer",
14962
- componentId: "sc-1b4aw74-2"
14963
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14964
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14965
- displayName: "NPCDialog__NPCThumbnail",
14966
- componentId: "sc-1b4aw74-3"
14967
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
14968
-
14969
- var ImgSide;
14970
- (function (ImgSide) {
14971
- ImgSide["right"] = "right";
14972
- ImgSide["left"] = "left";
14973
- })(ImgSide || (ImgSide = {}));
14974
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
14975
- var _textAndTypeArray$sli;
14976
- var _onClose = _ref.onClose,
14977
- textAndTypeArray = _ref.textAndTypeArray;
14978
- var _useState = useState(false),
14979
- showGoNextIndicator = _useState[0],
14980
- setShowGoNextIndicator = _useState[1];
14981
- var _useState2 = useState(0),
14982
- slide = _useState2[0],
14983
- setSlide = _useState2[1];
14984
- var onHandleSpacePress = function onHandleSpacePress(event) {
14985
- if (event.code === 'Space') {
14986
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14987
- setSlide(function (prev) {
14988
- return prev + 1;
14989
- });
14990
- } else {
14991
- // if there's no more text chunks, close the dialog
14992
- _onClose();
14993
- }
14994
- }
14995
- };
14996
- useEffect(function () {
14997
- document.addEventListener('keydown', onHandleSpacePress);
14998
- return function () {
14999
- return document.removeEventListener('keydown', onHandleSpacePress);
15000
- };
15001
- }, [slide]);
15002
- return React.createElement(RPGUIContainer, {
15003
- type: RPGUIContainerTypes.FramedGold,
15004
- width: '50%',
15005
- height: '180px'
15006
- }, React.createElement(React.Fragment, null, React.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
15007
- flex: '70%'
15008
- }, React.createElement(NPCDialogText, {
15009
- onStartStep: function onStartStep() {
15010
- return setShowGoNextIndicator(false);
15011
- },
15012
- onEndStep: function onEndStep() {
15013
- return setShowGoNextIndicator(true);
15014
- },
15015
- text: textAndTypeArray[slide].text || 'No text provided.',
15016
- onClose: function onClose() {
15017
- if (_onClose) {
15018
- _onClose();
15019
- }
15020
- }
15021
- })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15022
- src: textAndTypeArray[slide].imagePath || img$7
15023
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15024
- right: '10.5rem',
15025
- src: img$6
15026
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15027
- src: textAndTypeArray[slide].imagePath || img$7
15028
- })), React.createElement(TextContainer$2, {
15029
- flex: '70%'
15030
- }, React.createElement(NPCDialogText, {
15031
- onStartStep: function onStartStep() {
15032
- return setShowGoNextIndicator(false);
15033
- },
15034
- onEndStep: function onEndStep() {
15035
- return setShowGoNextIndicator(true);
15036
- },
15037
- text: textAndTypeArray[slide].text || 'No text provided.',
15038
- onClose: function onClose() {
15039
- if (_onClose) {
15040
- _onClose();
15041
- }
15042
- }
15043
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15044
- right: '1rem',
15045
- src: img$6
15046
- }))), ")"));
15047
- };
15048
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15049
- displayName: "NPCMultiDialog__Container",
15050
- componentId: "sc-rvu5wg-0"
15051
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15052
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15053
- displayName: "NPCMultiDialog__TextContainer",
15054
- componentId: "sc-rvu5wg-1"
15055
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15056
- var flex = _ref2.flex;
15057
- return flex;
15058
- });
15059
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15060
- displayName: "NPCMultiDialog__ThumbnailContainer",
15061
- componentId: "sc-rvu5wg-2"
15062
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15063
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15064
- displayName: "NPCMultiDialog__NPCThumbnail",
15065
- componentId: "sc-rvu5wg-3"
15066
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15067
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15068
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15069
- componentId: "sc-rvu5wg-4"
15070
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15071
- var right = _ref3.right;
15072
- return right;
15073
- });
14793
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14794
+ displayName: "ItemQuantitySelector__StyledContainer",
14795
+ componentId: "sc-yfdtpn-0"
14796
+ })(["display:flex;flex-direction:column;align-items:center;"]);
14797
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
14798
+ displayName: "ItemQuantitySelector__StyledForm",
14799
+ componentId: "sc-yfdtpn-1"
14800
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14801
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14802
+ displayName: "ItemQuantitySelector__StyledInput",
14803
+ componentId: "sc-yfdtpn-2"
14804
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14805
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14806
+ displayName: "ItemQuantitySelector__CloseButton",
14807
+ componentId: "sc-yfdtpn-3"
14808
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15074
14809
 
15075
- var HistoryDialog = function HistoryDialog(_ref) {
15076
- var backgroundImgPath = _ref.backgroundImgPath,
15077
- fullCoverBackground = _ref.fullCoverBackground,
15078
- questions = _ref.questions,
15079
- answers = _ref.answers,
15080
- text = _ref.text,
15081
- imagePath = _ref.imagePath,
15082
- textAndTypeArray = _ref.textAndTypeArray,
15083
- onClose = _ref.onClose;
15084
- var _useState = useState(0),
15085
- img = _useState[0],
15086
- setImage = _useState[1];
15087
- var onHandleSpacePress = function onHandleSpacePress(event) {
15088
- if (event.code === 'Space') {
15089
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15090
- setImage(function (prev) {
15091
- return prev + 1;
15092
- });
15093
- } else {
15094
- // if there's no more text chunks, close the dialog
15095
- onClose();
15096
- }
14810
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
14811
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14812
+ settingShortcutIndex = _ref.settingShortcutIndex,
14813
+ shortcuts = _ref.shortcuts,
14814
+ removeShortcut = _ref.removeShortcut,
14815
+ atlasJSON = _ref.atlasJSON,
14816
+ atlasIMG = _ref.atlasIMG;
14817
+ var getContent = function getContent(index) {
14818
+ var _shortcuts$index, _shortcuts$index3;
14819
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
14820
+ var _shortcuts$index2;
14821
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14822
+ if (!_payload) return null;
14823
+ return React.createElement(SpriteFromAtlas, {
14824
+ atlasIMG: atlasIMG,
14825
+ atlasJSON: atlasJSON,
14826
+ spriteKey: getItemTextureKeyPath({
14827
+ key: _payload.texturePath,
14828
+ texturePath: _payload.texturePath,
14829
+ stackQty: _payload.stackQty || 1,
14830
+ isStackable: _payload.isStackable
14831
+ }, atlasJSON),
14832
+ width: 32,
14833
+ height: 32,
14834
+ imgScale: 1.6,
14835
+ imgStyle: {
14836
+ left: '5px'
14837
+ }
14838
+ });
15097
14839
  }
14840
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14841
+ return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14842
+ return word[0];
14843
+ }));
15098
14844
  };
15099
- useEffect(function () {
15100
- document.addEventListener('keydown', onHandleSpacePress);
15101
- return function () {
15102
- return document.removeEventListener('keydown', onHandleSpacePress);
15103
- };
15104
- }, [backgroundImgPath]);
15105
- return React.createElement(BackgroundContainer, {
15106
- imgPath: backgroundImgPath[img],
15107
- fullImg: fullCoverBackground
15108
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
15109
- textAndTypeArray: textAndTypeArray,
15110
- onClose: onClose
15111
- }) : questions && answers ? React.createElement(QuestionDialog, {
15112
- questions: questions,
15113
- answers: answers,
15114
- onClose: onClose
15115
- }) : text && imagePath ? React.createElement(NPCDialog, {
15116
- text: text,
15117
- imagePath: imagePath,
15118
- onClose: onClose,
15119
- type: NPCDialogType.TextAndThumbnail
15120
- }) : React.createElement(NPCDialog, {
15121
- text: text,
15122
- onClose: onClose,
15123
- type: NPCDialogType.TextOnly
14845
+ return React.createElement(Container$e, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
14846
+ id: "shortcuts_list"
14847
+ }, Array.from({
14848
+ length: 6
14849
+ }).map(function (_, i) {
14850
+ return React.createElement(Shortcut, {
14851
+ key: i,
14852
+ onPointerDown: function onPointerDown() {
14853
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14854
+ removeShortcut(i);
14855
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
14856
+ },
14857
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14858
+ isBeingSet: settingShortcutIndex === i,
14859
+ id: "shortcutSetter_" + i
14860
+ }, getContent(i));
15124
14861
  })));
15125
14862
  };
15126
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15127
- displayName: "HistoryDialog__BackgroundContainer",
15128
- componentId: "sc-u6oe75-0"
15129
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15130
- return props.imgPath;
15131
- }, function (props) {
15132
- return props.imgPath ? 'cover' : 'auto';
15133
- });
15134
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15135
- displayName: "HistoryDialog__DialogContainer",
15136
- componentId: "sc-u6oe75-1"
15137
- })(["display:flex;justify-content:center;padding-top:200px;"]);
14863
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14864
+ displayName: "ShortcutsSetter__Container",
14865
+ componentId: "sc-xuouuf-0"
14866
+ })(["p{margin:0;margin-left:0.5rem;}"]);
14867
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
14868
+ displayName: "ShortcutsSetter__Shortcut",
14869
+ componentId: "sc-xuouuf-1"
14870
+ })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
14871
+ var isBeingSet = _ref2.isBeingSet;
14872
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14873
+ }, uiColors.darkGray, uiColors.gray);
14874
+ var List = /*#__PURE__*/styled.div.withConfig({
14875
+ displayName: "ShortcutsSetter__List",
14876
+ componentId: "sc-xuouuf-2"
14877
+ })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
15138
14878
 
15139
- var SlotsContainer = function SlotsContainer(_ref) {
15140
- var children = _ref.children,
15141
- title = _ref.title,
14879
+ var ItemContainer$1 = function ItemContainer(_ref) {
14880
+ var itemContainer = _ref.itemContainer,
15142
14881
  onClose = _ref.onClose,
15143
- _onPositionChange = _ref.onPositionChange,
15144
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
15145
- _onPositionChangeStart = _ref.onPositionChangeStart,
15146
- onOutsideClick = _ref.onOutsideClick,
14882
+ _onMouseOver = _ref.onMouseOver,
14883
+ _onSelected = _ref.onSelected,
14884
+ onItemClick = _ref.onItemClick,
14885
+ type = _ref.type,
14886
+ atlasJSON = _ref.atlasJSON,
14887
+ atlasIMG = _ref.atlasIMG,
14888
+ _ref$disableContextMe = _ref.disableContextMenu,
14889
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14890
+ onItemDragEnd = _ref.onItemDragEnd,
14891
+ onItemDragStart = _ref.onItemDragStart,
14892
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
14893
+ _onOutsideDrop = _ref.onOutsideDrop,
14894
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15147
14895
  initialPosition = _ref.initialPosition,
15148
- scale = _ref.scale;
15149
- return React.createElement(DraggableContainer, {
15150
- title: title,
15151
- type: RPGUIContainerTypes.Framed,
15152
- onCloseButton: function onCloseButton() {
15153
- if (onClose) {
15154
- onClose();
15155
- }
15156
- },
15157
- width: "400px",
15158
- cancelDrag: ".item-container-body, #shortcuts_list",
15159
- onPositionChange: function onPositionChange(_ref2) {
15160
- var x = _ref2.x,
15161
- y = _ref2.y;
15162
- if (_onPositionChange) {
15163
- _onPositionChange({
15164
- x: x,
15165
- y: y
15166
- });
15167
- }
15168
- },
15169
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15170
- var x = _ref3.x,
15171
- y = _ref3.y;
15172
- if (_onPositionChangeEnd) {
15173
- _onPositionChangeEnd({
15174
- x: x,
15175
- y: y
15176
- });
15177
- }
15178
- },
15179
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
15180
- var x = _ref4.x,
15181
- y = _ref4.y;
15182
- if (_onPositionChangeStart) {
15183
- _onPositionChangeStart({
15184
- x: x,
15185
- y: y
15186
- });
15187
- }
15188
- },
15189
- onOutsideClick: onOutsideClick,
14896
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14897
+ scale = _ref.scale,
14898
+ shortcuts = _ref.shortcuts,
14899
+ setItemShortcut = _ref.setItemShortcut,
14900
+ removeShortcut = _ref.removeShortcut,
14901
+ equipmentSet = _ref.equipmentSet,
14902
+ isDepotSystem = _ref.isDepotSystem,
14903
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
14904
+ onPositionChangeStart = _ref.onPositionChangeStart;
14905
+ var _useState = useState({
14906
+ isOpen: false,
14907
+ maxQuantity: 1,
14908
+ callback: function callback(_quantity) {}
14909
+ }),
14910
+ quantitySelect = _useState[0],
14911
+ setQuantitySelect = _useState[1];
14912
+ var _useState2 = useState(-1),
14913
+ settingShortcutIndex = _useState2[0],
14914
+ setSettingShortcutIndex = _useState2[1];
14915
+ var handleSetShortcut = function handleSetShortcut(item, index) {
14916
+ if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
14917
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
14918
+ }
14919
+ };
14920
+ var onRenderSlots = function onRenderSlots() {
14921
+ var slots = [];
14922
+ for (var i = 0; i < itemContainer.slotQty; i++) {
14923
+ var _itemContainer$slots;
14924
+ slots.push(React.createElement(ItemSlot, {
14925
+ isContextMenuDisabled: disableContextMenu,
14926
+ key: i,
14927
+ slotIndex: i,
14928
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14929
+ itemContainerType: type,
14930
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
14931
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14932
+ },
14933
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
14934
+ if (settingShortcutIndex !== -1) {
14935
+ setSettingShortcutIndex(-1);
14936
+ handleSetShortcut(item, settingShortcutIndex);
14937
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
14938
+ },
14939
+ onSelected: function onSelected(optionId, item) {
14940
+ if (_onSelected) _onSelected(optionId, item);
14941
+ },
14942
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14943
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14944
+ },
14945
+ onDragEnd: function onDragEnd(quantity) {
14946
+ if (onItemDragEnd) onItemDragEnd(quantity);
14947
+ },
14948
+ dragScale: scale,
14949
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14950
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14951
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14952
+ setQuantitySelect({
14953
+ isOpen: true,
14954
+ maxQuantity: maxQuantity,
14955
+ callback: callback
14956
+ });
14957
+ },
14958
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14959
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14960
+ },
14961
+ onOutsideDrop: function onOutsideDrop(item, position) {
14962
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
14963
+ },
14964
+ atlasIMG: atlasIMG,
14965
+ atlasJSON: atlasJSON,
14966
+ isSelectingShortcut: settingShortcutIndex !== -1,
14967
+ equipmentSet: equipmentSet,
14968
+ setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
14969
+ isDepotSystem: isDepotSystem
14970
+ }));
14971
+ }
14972
+ return slots;
14973
+ };
14974
+ return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
14975
+ title: itemContainer.name || 'Container',
14976
+ onClose: onClose,
15190
14977
  initialPosition: initialPosition,
15191
- scale: scale
15192
- }, children);
14978
+ scale: scale,
14979
+ onPositionChangeEnd: onPositionChangeEnd,
14980
+ onPositionChangeStart: onPositionChangeStart
14981
+ }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
14982
+ setSettingShortcutIndex: setSettingShortcutIndex,
14983
+ settingShortcutIndex: settingShortcutIndex,
14984
+ shortcuts: shortcuts,
14985
+ removeShortcut: removeShortcut,
14986
+ atlasIMG: atlasIMG,
14987
+ atlasJSON: atlasJSON
14988
+ }), React.createElement(ItemsContainer, {
14989
+ className: "item-container-body"
14990
+ }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
14991
+ quantity: quantitySelect.maxQuantity,
14992
+ onConfirm: function onConfirm(quantity) {
14993
+ quantitySelect.callback(quantity);
14994
+ setQuantitySelect({
14995
+ isOpen: false,
14996
+ maxQuantity: 1,
14997
+ callback: function callback() {}
14998
+ });
14999
+ },
15000
+ onClose: function onClose() {
15001
+ quantitySelect.callback(-1);
15002
+ setQuantitySelect({
15003
+ isOpen: false,
15004
+ maxQuantity: 1,
15005
+ callback: function callback() {}
15006
+ });
15007
+ }
15008
+ }))));
15193
15009
  };
15010
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15011
+ displayName: "ItemContainer__ItemsContainer",
15012
+ componentId: "sc-15y5p9l-0"
15013
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15014
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15015
+ displayName: "ItemContainer__QuantitySelectorContainer",
15016
+ componentId: "sc-15y5p9l-1"
15017
+ })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15194
15018
 
15195
- var RangeSliderType;
15196
- (function (RangeSliderType) {
15197
- RangeSliderType["Slider"] = "rpgui-slider";
15198
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15199
- })(RangeSliderType || (RangeSliderType = {}));
15200
- var RangeSlider = function RangeSlider(_ref) {
15201
- var type = _ref.type,
15202
- valueMin = _ref.valueMin,
15203
- valueMax = _ref.valueMax,
15204
- width = _ref.width,
15205
- _onChange = _ref.onChange,
15206
- value = _ref.value;
15207
- var sliderId = v4();
15208
- var containerRef = useRef(null);
15209
- var _useState = useState(0),
15210
- left = _useState[0],
15211
- setLeft = _useState[1];
15019
+ var ItemSelector = function ItemSelector(_ref) {
15020
+ var atlasIMG = _ref.atlasIMG,
15021
+ atlasJSON = _ref.atlasJSON,
15022
+ options = _ref.options,
15023
+ onClose = _ref.onClose,
15024
+ onSelect = _ref.onSelect;
15025
+ var _useState = useState(),
15026
+ selectedValue = _useState[0],
15027
+ setSelectedValue = _useState[1];
15028
+ var handleClick = function handleClick() {
15029
+ var element = document.querySelector("input[name='test']:checked");
15030
+ var elementValue = element.value;
15031
+ setSelectedValue(elementValue);
15032
+ };
15212
15033
  useEffect(function () {
15213
- var _containerRef$current;
15214
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15215
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15216
- }, [value, valueMin, valueMax]);
15217
- var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
15218
- return React.createElement("div", {
15219
- style: {
15220
- width: width,
15221
- position: 'relative'
15222
- },
15223
- className: "rpgui-slider-container " + typeClass,
15224
- id: "rpgui-slider-" + sliderId,
15225
- ref: containerRef
15226
- }, React.createElement("div", {
15227
- style: {
15228
- pointerEvents: 'none'
15034
+ if (selectedValue) {
15035
+ onSelect(selectedValue);
15036
+ }
15037
+ }, [selectedValue]);
15038
+ return React.createElement(DraggableContainer, {
15039
+ type: RPGUIContainerTypes.Framed,
15040
+ width: "500px",
15041
+ cancelDrag: ".equipment-container-body .arrow-selector",
15042
+ onCloseButton: function onCloseButton() {
15043
+ if (onClose) {
15044
+ onClose();
15045
+ }
15229
15046
  }
15230
15047
  }, React.createElement("div", {
15231
- className: "rpgui-slider-track " + typeClass
15232
- }), React.createElement("div", {
15233
- className: "rpgui-slider-left-edge " + typeClass
15234
- }), React.createElement("div", {
15235
- className: "rpgui-slider-right-edge " + typeClass
15236
- }), React.createElement("div", {
15237
- className: "rpgui-slider-thumb " + typeClass,
15238
15048
  style: {
15239
- left: left
15049
+ width: '100%'
15240
15050
  }
15241
- })), React.createElement(Input$1, {
15242
- type: "range",
15243
- style: {
15244
- width: width
15245
- },
15246
- min: valueMin,
15247
- max: valueMax,
15248
- onChange: function onChange(e) {
15249
- return _onChange(Number(e.target.value));
15250
- },
15251
- value: value,
15252
- className: "rpgui-cursor-point"
15253
- }));
15254
- };
15255
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
15256
- displayName: "RangeSlider__Input",
15257
- componentId: "sc-v8mte9-0"
15258
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15259
-
15260
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15261
- var quantity = _ref.quantity,
15262
- onConfirm = _ref.onConfirm,
15263
- onClose = _ref.onClose;
15264
- var _useState = useState(quantity),
15265
- value = _useState[0],
15266
- setValue = _useState[1];
15267
- var inputRef = useRef(null);
15268
- useEffect(function () {
15269
- if (inputRef.current) {
15270
- inputRef.current.focus();
15271
- inputRef.current.select();
15272
- var closeSelector = function closeSelector(e) {
15273
- if (e.key === 'Escape') {
15274
- onClose();
15275
- }
15276
- };
15277
- document.addEventListener('keydown', closeSelector);
15278
- return function () {
15279
- document.removeEventListener('keydown', closeSelector);
15280
- };
15281
- }
15282
- return function () {};
15283
- }, []);
15284
- return React.createElement(StyledContainer, {
15285
- type: RPGUIContainerTypes.Framed,
15286
- width: "25rem"
15287
- }, React.createElement(CloseButton$2, {
15288
- className: "container-close",
15289
- onPointerDown: onClose
15290
- }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
15291
- style: {
15292
- width: '100%'
15293
- },
15294
- onSubmit: function onSubmit(e) {
15295
- e.preventDefault();
15296
- var numberValue = Number(value);
15297
- if (Number.isNaN(numberValue)) {
15298
- return;
15299
- }
15300
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15301
- },
15302
- noValidate: true
15303
- }, React.createElement(StyledInput, {
15304
- innerRef: inputRef,
15305
- placeholder: "Enter quantity",
15306
- type: "number",
15307
- min: 1,
15308
- max: quantity,
15309
- value: value,
15310
- onChange: function onChange(e) {
15311
- if (Number(e.target.value) >= quantity) {
15312
- setValue(quantity);
15313
- return;
15051
+ }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15052
+ className: "golden"
15053
+ })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15054
+ return React.createElement(RadioOptionsWrapper$1, {
15055
+ key: index
15056
+ }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15057
+ atlasIMG: atlasIMG,
15058
+ atlasJSON: atlasJSON,
15059
+ spriteKey: option.imageKey,
15060
+ imgScale: 3
15061
+ })), React.createElement("div", null, React.createElement("input", {
15062
+ className: "rpgui-radio",
15063
+ type: "radio",
15064
+ value: option.name,
15065
+ name: "test"
15066
+ }), React.createElement("label", {
15067
+ onPointerDown: handleClick,
15068
+ style: {
15069
+ display: 'flex',
15070
+ alignItems: 'center'
15314
15071
  }
15315
- setValue(e.target.value);
15316
- },
15317
- onBlur: function onBlur(e) {
15318
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15319
- setValue(newValue);
15320
- }
15321
- }), React.createElement(RangeSlider, {
15322
- type: RangeSliderType.Slider,
15323
- valueMin: 1,
15324
- valueMax: quantity,
15325
- width: "100%",
15326
- onChange: setValue,
15327
- value: value
15328
- }), React.createElement(Button, {
15072
+ }, option.name, " ", React.createElement("br", null), option.description)));
15073
+ })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15329
15074
  buttonType: ButtonTypes.RPGUIButton,
15330
- type: "submit"
15331
- }, "Confirm")));
15075
+ onPointerDown: onClose
15076
+ }, "Cancel"), React.createElement(Button, {
15077
+ buttonType: ButtonTypes.RPGUIButton
15078
+ }, "Select")));
15332
15079
  };
15333
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15334
- displayName: "ItemQuantitySelector__StyledContainer",
15335
- componentId: "sc-yfdtpn-0"
15336
- })(["display:flex;flex-direction:column;align-items:center;"]);
15337
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
15338
- displayName: "ItemQuantitySelector__StyledForm",
15339
- componentId: "sc-yfdtpn-1"
15340
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15341
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15342
- displayName: "ItemQuantitySelector__StyledInput",
15343
- componentId: "sc-yfdtpn-2"
15344
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15345
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15346
- displayName: "ItemQuantitySelector__CloseButton",
15347
- componentId: "sc-yfdtpn-3"
15348
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15080
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15081
+ displayName: "ItemSelector__Title",
15082
+ componentId: "sc-gptoxp-0"
15083
+ })(["font-size:0.6rem;color:yellow !important;"]);
15084
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15085
+ displayName: "ItemSelector__Subtitle",
15086
+ componentId: "sc-gptoxp-1"
15087
+ })(["font-size:0.4rem;color:yellow !important;"]);
15088
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15089
+ displayName: "ItemSelector__RadioInputScroller",
15090
+ componentId: "sc-gptoxp-2"
15091
+ })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15092
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15093
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15094
+ componentId: "sc-gptoxp-3"
15095
+ })(["margin-right:40px;"]);
15096
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15097
+ displayName: "ItemSelector__RadioOptionsWrapper",
15098
+ componentId: "sc-gptoxp-4"
15099
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15100
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15101
+ displayName: "ItemSelector__ButtonWrapper",
15102
+ componentId: "sc-gptoxp-5"
15103
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15349
15104
 
15350
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
15351
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15352
- settingShortcutIndex = _ref.settingShortcutIndex,
15353
- shortcuts = _ref.shortcuts,
15354
- removeShortcut = _ref.removeShortcut,
15355
- atlasJSON = _ref.atlasJSON,
15356
- atlasIMG = _ref.atlasIMG;
15357
- var getContent = function getContent(index) {
15358
- var _shortcuts$index, _shortcuts$index3;
15359
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
15360
- var _shortcuts$index2;
15361
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15362
- if (!_payload) return null;
15363
- return React.createElement(SpriteFromAtlas, {
15364
- atlasIMG: atlasIMG,
15365
- atlasJSON: atlasJSON,
15366
- spriteKey: getItemTextureKeyPath({
15367
- key: _payload.texturePath,
15368
- texturePath: _payload.texturePath,
15369
- stackQty: _payload.stackQty || 1,
15370
- isStackable: _payload.isStackable
15371
- }, atlasJSON),
15372
- width: 32,
15373
- height: 32,
15374
- imgScale: 1.6,
15375
- imgStyle: {
15376
- left: '5px'
15377
- }
15378
- });
15105
+ var ListMenu = function ListMenu(_ref) {
15106
+ var options = _ref.options,
15107
+ onSelected = _ref.onSelected,
15108
+ x = _ref.x,
15109
+ y = _ref.y;
15110
+ return React.createElement(Container$f, {
15111
+ x: x,
15112
+ y: y
15113
+ }, React.createElement("ul", {
15114
+ className: "rpgui-list-imp",
15115
+ style: {
15116
+ overflow: 'hidden'
15379
15117
  }
15380
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15381
- return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15382
- return word[0];
15383
- }));
15384
- };
15385
- return React.createElement(Container$i, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
15386
- id: "shortcuts_list"
15387
- }, Array.from({
15388
- length: 6
15389
- }).map(function (_, i) {
15390
- return React.createElement(Shortcut, {
15391
- key: i,
15118
+ }, options.map(function (params, index) {
15119
+ return React.createElement(ListElement$1, {
15120
+ key: (params == null ? void 0 : params.id) || index,
15392
15121
  onPointerDown: function onPointerDown() {
15393
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15394
- removeShortcut(i);
15395
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
15396
- },
15397
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15398
- isBeingSet: settingShortcutIndex === i,
15399
- id: "shortcutSetter_" + i
15400
- }, getContent(i));
15122
+ onSelected(params == null ? void 0 : params.id);
15123
+ }
15124
+ }, (params == null ? void 0 : params.text) || 'No text');
15401
15125
  })));
15402
15126
  };
15403
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15404
- displayName: "ShortcutsSetter__Container",
15405
- componentId: "sc-xuouuf-0"
15406
- })(["p{margin:0;margin-left:0.5rem;}"]);
15407
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
15408
- displayName: "ShortcutsSetter__Shortcut",
15409
- componentId: "sc-xuouuf-1"
15410
- })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
15411
- var isBeingSet = _ref2.isBeingSet;
15412
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15413
- }, uiColors.darkGray, uiColors.gray);
15414
- var List = /*#__PURE__*/styled.div.withConfig({
15415
- displayName: "ShortcutsSetter__List",
15416
- componentId: "sc-xuouuf-2"
15417
- })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
15127
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
15128
+ displayName: "ListMenu__Container",
15129
+ componentId: "sc-i9097t-0"
15130
+ })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
15131
+ return props.y || 0;
15132
+ }, function (props) {
15133
+ return props.x || 0;
15134
+ }, uiFonts.size.xsmall);
15135
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15136
+ displayName: "ListMenu__ListElement",
15137
+ componentId: "sc-i9097t-1"
15138
+ })(["margin-right:0.5rem;"]);
15418
15139
 
15419
- var ItemContainer$1 = function ItemContainer(_ref) {
15420
- var itemContainer = _ref.itemContainer,
15140
+ var Pager = function Pager(_ref) {
15141
+ var totalItems = _ref.totalItems,
15142
+ currentPage = _ref.currentPage,
15143
+ itemsPerPage = _ref.itemsPerPage,
15144
+ onPageChange = _ref.onPageChange;
15145
+ var totalPages = Math.ceil(totalItems / itemsPerPage);
15146
+ return React.createElement(Container$g, null, React.createElement("p", null, "Total items: ", totalItems), React.createElement(PagerContainer, null, React.createElement("button", {
15147
+ disabled: currentPage === 1,
15148
+ onPointerDown: function onPointerDown() {
15149
+ return onPageChange(Math.max(currentPage - 1, 1));
15150
+ }
15151
+ }, '<'), React.createElement("div", {
15152
+ className: "rpgui-container framed-grey"
15153
+ }, currentPage), React.createElement("button", {
15154
+ disabled: currentPage === totalPages,
15155
+ onPointerDown: function onPointerDown() {
15156
+ return onPageChange(Math.min(currentPage + 1, totalPages));
15157
+ }
15158
+ }, '>')));
15159
+ };
15160
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
15161
+ displayName: "Pager__Container",
15162
+ componentId: "sc-1ekmf50-0"
15163
+ })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
15164
+ var PagerContainer = /*#__PURE__*/styled.div.withConfig({
15165
+ displayName: "Pager__PagerContainer",
15166
+ componentId: "sc-1ekmf50-1"
15167
+ })(["display:flex;justify-content:center;align-items:center;gap:5px;p{margin:0;}div{color:white;}button{width:40px;height:40px;background-color:", ";border:none;border-radius:5px;color:white;:hover{background-color:", ";}:disabled{opacity:0.5;}&.active{background-color:", ";font-weight:bold;color:black;}}"], uiColors.darkGray, uiColors.lightGray, uiColors.orange);
15168
+
15169
+ var ConfirmModal = function ConfirmModal(_ref) {
15170
+ var onConfirm = _ref.onConfirm,
15421
15171
  onClose = _ref.onClose,
15422
- _onMouseOver = _ref.onMouseOver,
15423
- _onSelected = _ref.onSelected,
15424
- onItemClick = _ref.onItemClick,
15425
- type = _ref.type,
15426
- atlasJSON = _ref.atlasJSON,
15427
- atlasIMG = _ref.atlasIMG,
15428
- _ref$disableContextMe = _ref.disableContextMenu,
15429
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15430
- onItemDragEnd = _ref.onItemDragEnd,
15431
- onItemDragStart = _ref.onItemDragStart,
15432
- onItemPlaceDrop = _ref.onItemPlaceDrop,
15433
- _onOutsideDrop = _ref.onOutsideDrop,
15434
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15435
- initialPosition = _ref.initialPosition,
15436
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15437
- scale = _ref.scale,
15438
- shortcuts = _ref.shortcuts,
15439
- setItemShortcut = _ref.setItemShortcut,
15440
- removeShortcut = _ref.removeShortcut,
15441
- equipmentSet = _ref.equipmentSet,
15442
- isDepotSystem = _ref.isDepotSystem,
15443
- onPositionChangeEnd = _ref.onPositionChangeEnd,
15444
- onPositionChangeStart = _ref.onPositionChangeStart;
15445
- var _useState = useState({
15446
- isOpen: false,
15447
- maxQuantity: 1,
15448
- callback: function callback(_quantity) {}
15449
- }),
15450
- quantitySelect = _useState[0],
15451
- setQuantitySelect = _useState[1];
15452
- var _useState2 = useState(-1),
15453
- settingShortcutIndex = _useState2[0],
15454
- setSettingShortcutIndex = _useState2[1];
15455
- var handleSetShortcut = function handleSetShortcut(item, index) {
15456
- if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
15457
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15458
- }
15459
- };
15460
- var onRenderSlots = function onRenderSlots() {
15461
- var slots = [];
15462
- for (var i = 0; i < itemContainer.slotQty; i++) {
15463
- var _itemContainer$slots;
15464
- slots.push(React.createElement(ItemSlot, {
15465
- isContextMenuDisabled: disableContextMenu,
15466
- key: i,
15467
- slotIndex: i,
15468
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15469
- itemContainerType: type,
15470
- onMouseOver: function onMouseOver(event, slotIndex, item) {
15471
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15472
- },
15473
- onPointerDown: function onPointerDown(itemType, containerType, item) {
15474
- if (settingShortcutIndex !== -1) {
15475
- setSettingShortcutIndex(-1);
15476
- handleSetShortcut(item, settingShortcutIndex);
15477
- } else if (onItemClick) onItemClick(item, itemType, containerType);
15478
- },
15479
- onSelected: function onSelected(optionId, item) {
15480
- if (_onSelected) _onSelected(optionId, item);
15481
- },
15482
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15483
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15484
- },
15485
- onDragEnd: function onDragEnd(quantity) {
15486
- if (onItemDragEnd) onItemDragEnd(quantity);
15487
- },
15488
- dragScale: scale,
15489
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15490
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15491
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15492
- setQuantitySelect({
15493
- isOpen: true,
15494
- maxQuantity: maxQuantity,
15495
- callback: callback
15496
- });
15497
- },
15498
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15499
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15500
- },
15501
- onOutsideDrop: function onOutsideDrop(item, position) {
15502
- if (_onOutsideDrop) _onOutsideDrop(item, position);
15503
- },
15504
- atlasIMG: atlasIMG,
15505
- atlasJSON: atlasJSON,
15506
- isSelectingShortcut: settingShortcutIndex !== -1,
15507
- equipmentSet: equipmentSet,
15508
- setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
15509
- isDepotSystem: isDepotSystem
15510
- }));
15511
- }
15512
- return slots;
15513
- };
15514
- return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
15515
- title: itemContainer.name || 'Container',
15516
- onClose: onClose,
15517
- initialPosition: initialPosition,
15518
- scale: scale,
15519
- onPositionChangeEnd: onPositionChangeEnd,
15520
- onPositionChangeStart: onPositionChangeStart
15521
- }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
15522
- setSettingShortcutIndex: setSettingShortcutIndex,
15523
- settingShortcutIndex: settingShortcutIndex,
15524
- shortcuts: shortcuts,
15525
- removeShortcut: removeShortcut,
15526
- atlasIMG: atlasIMG,
15527
- atlasJSON: atlasJSON
15528
- }), React.createElement(ItemsContainer, {
15529
- className: "item-container-body"
15530
- }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
15531
- quantity: quantitySelect.maxQuantity,
15532
- onConfirm: function onConfirm(quantity) {
15533
- quantitySelect.callback(quantity);
15534
- setQuantitySelect({
15535
- isOpen: false,
15536
- maxQuantity: 1,
15537
- callback: function callback() {}
15538
- });
15539
- },
15540
- onClose: function onClose() {
15541
- quantitySelect.callback(-1);
15542
- setQuantitySelect({
15543
- isOpen: false,
15544
- maxQuantity: 1,
15545
- callback: function callback() {}
15546
- });
15547
- }
15548
- }))));
15549
- };
15550
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15551
- displayName: "ItemContainer__ItemsContainer",
15552
- componentId: "sc-15y5p9l-0"
15553
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15554
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15555
- displayName: "ItemContainer__QuantitySelectorContainer",
15556
- componentId: "sc-15y5p9l-1"
15557
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15558
-
15559
- var ItemSelector = function ItemSelector(_ref) {
15560
- var atlasIMG = _ref.atlasIMG,
15561
- atlasJSON = _ref.atlasJSON,
15562
- options = _ref.options,
15563
- onClose = _ref.onClose,
15564
- onSelect = _ref.onSelect;
15565
- var _useState = useState(),
15566
- selectedValue = _useState[0],
15567
- setSelectedValue = _useState[1];
15568
- var handleClick = function handleClick() {
15569
- var element = document.querySelector("input[name='test']:checked");
15570
- var elementValue = element.value;
15571
- setSelectedValue(elementValue);
15572
- };
15573
- useEffect(function () {
15574
- if (selectedValue) {
15575
- onSelect(selectedValue);
15576
- }
15577
- }, [selectedValue]);
15578
- return React.createElement(DraggableContainer, {
15579
- type: RPGUIContainerTypes.Framed,
15580
- width: "500px",
15581
- cancelDrag: ".equipment-container-body .arrow-selector",
15582
- onCloseButton: function onCloseButton() {
15583
- if (onClose) {
15584
- onClose();
15585
- }
15586
- }
15587
- }, React.createElement("div", {
15588
- style: {
15589
- width: '100%'
15172
+ message = _ref.message;
15173
+ return React.createElement(ModalPortal, null, React.createElement(Background, null), React.createElement(Container$h, {
15174
+ onPointerDown: onClose
15175
+ }, React.createElement(DraggableContainer, {
15176
+ width: "auto",
15177
+ dragDisabled: true
15178
+ }, React.createElement(Wrapper$1, {
15179
+ onPointerDown: function onPointerDown(e) {
15180
+ return e.stopPropagation();
15590
15181
  }
15591
- }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15592
- className: "golden"
15593
- })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15594
- return React.createElement(RadioOptionsWrapper$1, {
15595
- key: index
15596
- }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15597
- atlasIMG: atlasIMG,
15598
- atlasJSON: atlasJSON,
15599
- spriteKey: option.imageKey,
15600
- imgScale: 3
15601
- })), React.createElement("div", null, React.createElement("input", {
15602
- className: "rpgui-radio",
15603
- type: "radio",
15604
- value: option.name,
15605
- name: "test"
15606
- }), React.createElement("label", {
15607
- onPointerDown: handleClick,
15608
- style: {
15609
- display: 'flex',
15610
- alignItems: 'center'
15611
- }
15612
- }, option.name, " ", React.createElement("br", null), option.description)));
15613
- })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15182
+ }, React.createElement("p", null, message != null ? message : 'Are you sure?'), React.createElement(ButtonsWrapper, null, React.createElement("div", {
15183
+ className: "cancel-button"
15184
+ }, React.createElement(Button, {
15614
15185
  buttonType: ButtonTypes.RPGUIButton,
15615
15186
  onPointerDown: onClose
15616
- }, "Cancel"), React.createElement(Button, {
15617
- buttonType: ButtonTypes.RPGUIButton
15618
- }, "Select")));
15187
+ }, "No")), React.createElement(Button, {
15188
+ buttonType: ButtonTypes.RPGUIButton,
15189
+ onPointerDown: onConfirm
15190
+ }, "Yes"))))));
15619
15191
  };
15620
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15621
- displayName: "ItemSelector__Title",
15622
- componentId: "sc-gptoxp-0"
15623
- })(["font-size:0.6rem;color:yellow !important;"]);
15624
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15625
- displayName: "ItemSelector__Subtitle",
15626
- componentId: "sc-gptoxp-1"
15627
- })(["font-size:0.4rem;color:yellow !important;"]);
15628
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15629
- displayName: "ItemSelector__RadioInputScroller",
15630
- componentId: "sc-gptoxp-2"
15631
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15632
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15633
- displayName: "ItemSelector__SpriteAtlasWrapper",
15634
- componentId: "sc-gptoxp-3"
15635
- })(["margin-right:40px;"]);
15636
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15637
- displayName: "ItemSelector__RadioOptionsWrapper",
15638
- componentId: "sc-gptoxp-4"
15639
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15640
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15641
- displayName: "ItemSelector__ButtonWrapper",
15642
- componentId: "sc-gptoxp-5"
15643
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15644
-
15645
- var ListMenu = function ListMenu(_ref) {
15646
- var options = _ref.options,
15647
- onSelected = _ref.onSelected,
15648
- x = _ref.x,
15649
- y = _ref.y;
15650
- return React.createElement(Container$j, {
15651
- x: x,
15652
- y: y
15653
- }, React.createElement("ul", {
15654
- className: "rpgui-list-imp",
15655
- style: {
15656
- overflow: 'hidden'
15657
- }
15658
- }, options.map(function (params, index) {
15659
- return React.createElement(ListElement$1, {
15660
- key: (params == null ? void 0 : params.id) || index,
15661
- onPointerDown: function onPointerDown() {
15662
- onSelected(params == null ? void 0 : params.id);
15663
- }
15664
- }, (params == null ? void 0 : params.text) || 'No text');
15665
- })));
15666
- };
15667
- var Container$j = /*#__PURE__*/styled.div.withConfig({
15668
- displayName: "ListMenu__Container",
15669
- componentId: "sc-i9097t-0"
15670
- })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
15671
- return props.y || 0;
15672
- }, function (props) {
15673
- return props.x || 0;
15674
- }, uiFonts.size.xsmall);
15675
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15676
- displayName: "ListMenu__ListElement",
15677
- componentId: "sc-i9097t-1"
15678
- })(["margin-right:0.5rem;"]);
15679
-
15680
- var Pager = function Pager(_ref) {
15681
- var totalItems = _ref.totalItems,
15682
- currentPage = _ref.currentPage,
15683
- itemsPerPage = _ref.itemsPerPage,
15684
- onPageChange = _ref.onPageChange;
15685
- var totalPages = Math.ceil(totalItems / itemsPerPage);
15686
- return React.createElement(Container$k, null, React.createElement("p", null, "Total items: ", totalItems), React.createElement(PagerContainer, null, React.createElement("button", {
15687
- disabled: currentPage === 1,
15688
- onPointerDown: function onPointerDown() {
15689
- return onPageChange(Math.max(currentPage - 1, 1));
15690
- }
15691
- }, '<'), React.createElement("div", {
15692
- className: "rpgui-container framed-grey"
15693
- }, currentPage), React.createElement("button", {
15694
- disabled: currentPage === totalPages,
15695
- onPointerDown: function onPointerDown() {
15696
- return onPageChange(Math.min(currentPage + 1, totalPages));
15697
- }
15698
- }, '>')));
15699
- };
15700
- var Container$k = /*#__PURE__*/styled.div.withConfig({
15701
- displayName: "Pager__Container",
15702
- componentId: "sc-1ekmf50-0"
15703
- })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
15704
- var PagerContainer = /*#__PURE__*/styled.div.withConfig({
15705
- displayName: "Pager__PagerContainer",
15706
- componentId: "sc-1ekmf50-1"
15707
- })(["display:flex;justify-content:center;align-items:center;gap:5px;p{margin:0;}div{color:white;}button{width:40px;height:40px;background-color:", ";border:none;border-radius:5px;color:white;:hover{background-color:", ";}:disabled{opacity:0.5;}&.active{background-color:", ";font-weight:bold;color:black;}}"], uiColors.darkGray, uiColors.lightGray, uiColors.orange);
15708
-
15709
- var ConfirmModal = function ConfirmModal(_ref) {
15710
- var onConfirm = _ref.onConfirm,
15711
- onClose = _ref.onClose,
15712
- message = _ref.message;
15713
- return React.createElement(ModalPortal, null, React.createElement(Background, null), React.createElement(Container$l, {
15714
- onPointerDown: onClose
15715
- }, React.createElement(DraggableContainer, {
15716
- width: "auto",
15717
- dragDisabled: true
15718
- }, React.createElement(Wrapper$1, {
15719
- onPointerDown: function onPointerDown(e) {
15720
- return e.stopPropagation();
15721
- }
15722
- }, React.createElement("p", null, message != null ? message : 'Are you sure?'), React.createElement(ButtonsWrapper, null, React.createElement("div", {
15723
- className: "cancel-button"
15724
- }, React.createElement(Button, {
15725
- buttonType: ButtonTypes.RPGUIButton,
15726
- onPointerDown: onClose
15727
- }, "No")), React.createElement(Button, {
15728
- buttonType: ButtonTypes.RPGUIButton,
15729
- onPointerDown: onConfirm
15730
- }, "Yes"))))));
15731
- };
15732
- var Background = /*#__PURE__*/styled.div.withConfig({
15733
- displayName: "ConfirmModal__Background",
15734
- componentId: "sc-11qkyu1-0"
15735
- })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
15736
- var Container$l = /*#__PURE__*/styled.div.withConfig({
15737
- displayName: "ConfirmModal__Container",
15738
- componentId: "sc-11qkyu1-1"
15739
- })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
15740
- var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
15741
- displayName: "ConfirmModal__Wrapper",
15742
- componentId: "sc-11qkyu1-2"
15743
- })(["p{margin:0;}"]);
15744
- var ButtonsWrapper = /*#__PURE__*/styled.div.withConfig({
15745
- displayName: "ConfirmModal__ButtonsWrapper",
15746
- componentId: "sc-11qkyu1-3"
15747
- })(["display:flex;justify-content:flex-end;gap:5px;margin-top:5px;.cancel-button{filter:grayscale(0.7);}"]);
15192
+ var Background = /*#__PURE__*/styled.div.withConfig({
15193
+ displayName: "ConfirmModal__Background",
15194
+ componentId: "sc-11qkyu1-0"
15195
+ })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
15196
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15197
+ displayName: "ConfirmModal__Container",
15198
+ componentId: "sc-11qkyu1-1"
15199
+ })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
15200
+ var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
15201
+ displayName: "ConfirmModal__Wrapper",
15202
+ componentId: "sc-11qkyu1-2"
15203
+ })(["p{margin:0;}"]);
15204
+ var ButtonsWrapper = /*#__PURE__*/styled.div.withConfig({
15205
+ displayName: "ConfirmModal__ButtonsWrapper",
15206
+ componentId: "sc-11qkyu1-3"
15207
+ })(["display:flex;justify-content:flex-end;gap:5px;margin-top:5px;.cancel-button{filter:grayscale(0.7);}"]);
15748
15208
 
15749
15209
  var MarketplaceRows = function MarketplaceRows(_ref) {
15750
15210
  var atlasJSON = _ref.atlasJSON,
@@ -15756,13 +15216,15 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
15756
15216
  onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15757
15217
  onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15758
15218
  disabled = _ref.disabled;
15759
- return React.createElement(MarketplaceWrapper, null, React.createElement(ItemInfoWrapper, {
15219
+ return React.createElement(MarketplaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15760
15220
  item: item,
15761
15221
  atlasIMG: atlasIMG,
15762
15222
  atlasJSON: atlasJSON,
15763
15223
  equipmentSet: equipmentSet,
15764
15224
  scale: scale
15765
- }, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(SpriteFromAtlas, {
15225
+ }, React.createElement(RarityContainer, {
15226
+ item: item
15227
+ }, React.createElement(SpriteFromAtlas, {
15766
15228
  atlasIMG: atlasIMG,
15767
15229
  atlasJSON: atlasJSON,
15768
15230
  spriteKey: getItemTextureKeyPath({
@@ -15772,11 +15234,11 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
15772
15234
  isStackable: item.isStackable
15773
15235
  }, atlasJSON),
15774
15236
  imgScale: 2
15775
- }), React.createElement(QuantityContainer, null, item.stackQty && item.stackQty > 1 && "x" + Math.round(item.stackQty * 10) / 10)), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15237
+ })), React.createElement(QuantityContainer, null, item.stackQty && item.stackQty > 1 && "x" + Math.round(item.stackQty * 10) / 10))), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15776
15238
  maxLines: 1,
15777
15239
  maxWidth: "200px",
15778
15240
  fontSize: "10px"
15779
- }, item.name))))), React.createElement(Flex$1, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(SpriteFromAtlas, {
15241
+ }, item.name)))), React.createElement(Flex$1, null, React.createElement(ItemIconContainer, null, React.createElement(GoldContainer, null, React.createElement(SpriteFromAtlas, {
15780
15242
  atlasIMG: atlasIMG,
15781
15243
  atlasJSON: atlasJSON,
15782
15244
  spriteKey: "others/gold-coin-qty-5.png",
@@ -15811,18 +15273,35 @@ var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15811
15273
  displayName: "MarketplaceRows__ItemIconContainer",
15812
15274
  componentId: "sc-wmpr1o-3"
15813
15275
  })(["display:flex;justify-content:flex-start;align-items:center;"]);
15814
- var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15815
- displayName: "MarketplaceRows__SpriteContainer",
15276
+ var GoldContainer = /*#__PURE__*/styled.div.withConfig({
15277
+ displayName: "MarketplaceRows__GoldContainer",
15816
15278
  componentId: "sc-wmpr1o-4"
15817
15279
  })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15280
+ var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15281
+ displayName: "MarketplaceRows__SpriteContainer",
15282
+ componentId: "sc-wmpr1o-5"
15283
+ })(["position:relative;left:0.5rem;"]);
15818
15284
  var PriceValue = /*#__PURE__*/styled.div.withConfig({
15819
15285
  displayName: "MarketplaceRows__PriceValue",
15820
- componentId: "sc-wmpr1o-5"
15286
+ componentId: "sc-wmpr1o-6"
15821
15287
  })(["margin-left:40px;"]);
15822
15288
  var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15823
15289
  displayName: "MarketplaceRows__ButtonContainer",
15824
- componentId: "sc-wmpr1o-6"
15290
+ componentId: "sc-wmpr1o-7"
15825
15291
  })(["margin:auto;"]);
15292
+ var RarityContainer = /*#__PURE__*/styled.div.withConfig({
15293
+ displayName: "MarketplaceRows__RarityContainer",
15294
+ componentId: "sc-wmpr1o-8"
15295
+ })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref2) {
15296
+ var item = _ref2.item;
15297
+ return rarityColor(item);
15298
+ }, function (_ref3) {
15299
+ var item = _ref3.item;
15300
+ return "0 0 5px 8px " + rarityColor(item);
15301
+ }, function (_ref4) {
15302
+ var item = _ref4.item;
15303
+ return "0 0 8px 6px " + rarityColor(item);
15304
+ });
15826
15305
 
15827
15306
  var OrderByType;
15828
15307
  (function (OrderByType) {
@@ -15854,7 +15333,7 @@ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (o
15854
15333
  transform: 'translateY(-2px)',
15855
15334
  display: 'inline-block'
15856
15335
  }
15857
- }, "\u2193"))
15336
+ }, "\u2191"))
15858
15337
  }, {
15859
15338
  id: index * 2 + 2,
15860
15339
  value: '-' + orderBy.toLowerCase(),
@@ -15863,7 +15342,7 @@ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (o
15863
15342
  transform: 'translateY(-2px)',
15864
15343
  display: 'inline-block'
15865
15344
  }
15866
- }, "\u2191"))
15345
+ }, "\u2193"))
15867
15346
  }];
15868
15347
  });
15869
15348
 
@@ -15882,7 +15361,8 @@ var BuyPanel = function BuyPanel(_ref) {
15882
15361
  onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15883
15362
  characterId = _ref.characterId,
15884
15363
  enableHotkeys = _ref.enableHotkeys,
15885
- disableHotkeys = _ref.disableHotkeys;
15364
+ disableHotkeys = _ref.disableHotkeys,
15365
+ currentPage = _ref.currentPage;
15886
15366
  var _useState = useState(''),
15887
15367
  name = _useState[0],
15888
15368
  setName = _useState[1];
@@ -15898,6 +15378,11 @@ var BuyPanel = function BuyPanel(_ref) {
15898
15378
  var _useState5 = useState(null),
15899
15379
  buyingItemId = _useState5[0],
15900
15380
  setBuyingItemId = _useState5[1];
15381
+ var itemsContainer = useRef(null);
15382
+ useEffect(function () {
15383
+ var _itemsContainer$curre;
15384
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15385
+ }, [currentPage]);
15901
15386
  return React.createElement(React.Fragment, null, buyingItemId && React.createElement(ConfirmModal, {
15902
15387
  onClose: setBuyingItemId.bind(null, null),
15903
15388
  onConfirm: function onConfirm() {
@@ -15990,7 +15475,8 @@ var BuyPanel = function BuyPanel(_ref) {
15990
15475
  onChange: onChangeOrder,
15991
15476
  width: "100%"
15992
15477
  }))), React.createElement(ItemComponentScrollWrapper, {
15993
- id: "MarketContainer"
15478
+ id: "MarketContainer",
15479
+ ref: itemsContainer
15994
15480
  }, items == null ? void 0 : items.map(function (_ref2, index) {
15995
15481
  var item = _ref2.item,
15996
15482
  price = _ref2.price,
@@ -16046,7 +15532,8 @@ var ManagmentPanel = function ManagmentPanel(_ref) {
16046
15532
  onAddItemToMarketplace = _ref.onAddItemToMarketplace,
16047
15533
  enableHotkeys = _ref.enableHotkeys,
16048
15534
  disableHotkeys = _ref.disableHotkeys,
16049
- onMoneyWithdraw = _ref.onMoneyWithdraw;
15535
+ onMoneyWithdraw = _ref.onMoneyWithdraw,
15536
+ currentPage = _ref.currentPage;
16050
15537
  var _useState = useState(''),
16051
15538
  name = _useState[0],
16052
15539
  setName = _useState[1];
@@ -16059,6 +15546,11 @@ var ManagmentPanel = function ManagmentPanel(_ref) {
16059
15546
  var _useState4 = useState(null),
16060
15547
  removingItemId = _useState4[0],
16061
15548
  setRemovingItemId = _useState4[1];
15549
+ var itemsContainer = useRef(null);
15550
+ useEffect(function () {
15551
+ var _itemsContainer$curre;
15552
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15553
+ }, [currentPage]);
16062
15554
  return React.createElement(React.Fragment, null, isCreatingOffer && React.createElement(ConfirmModal, {
16063
15555
  onClose: setIsCreatingOffer.bind(null, false),
16064
15556
  onConfirm: function onConfirm() {
@@ -16125,7 +15617,8 @@ var ManagmentPanel = function ManagmentPanel(_ref) {
16125
15617
  return availableGold > 0 && onMoneyWithdraw();
16126
15618
  }
16127
15619
  }, "Withdraw")))), React.createElement(ItemComponentScrollWrapper$1, {
16128
- id: "MarketContainer"
15620
+ id: "MarketContainer",
15621
+ ref: itemsContainer
16129
15622
  }, items == null ? void 0 : items.map(function (_ref2, index) {
16130
15623
  var item = _ref2.item,
16131
15624
  price = _ref2.price,
@@ -16205,12 +15698,338 @@ var Marketplace = function Marketplace(props) {
16205
15698
  onYourPanelToggle(true);
16206
15699
  setIsYourPanel(true);
16207
15700
  }
16208
- }, "Go to your panel"), React.createElement(Pager, Object.assign({}, props)))));
15701
+ }, "Go to your panel"), React.createElement(Pager, Object.assign({}, props)))));
15702
+ };
15703
+ var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
15704
+ displayName: "Marketplace__PagerContainer",
15705
+ componentId: "sc-h904b1-0"
15706
+ })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
15707
+
15708
+ var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15709
+
15710
+ var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
15711
+
15712
+ var ImgSide;
15713
+ (function (ImgSide) {
15714
+ ImgSide["right"] = "right";
15715
+ ImgSide["left"] = "left";
15716
+ })(ImgSide || (ImgSide = {}));
15717
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
15718
+ var _textAndTypeArray$sli;
15719
+ var _onClose = _ref.onClose,
15720
+ textAndTypeArray = _ref.textAndTypeArray;
15721
+ var _useState = useState(false),
15722
+ showGoNextIndicator = _useState[0],
15723
+ setShowGoNextIndicator = _useState[1];
15724
+ var _useState2 = useState(0),
15725
+ slide = _useState2[0],
15726
+ setSlide = _useState2[1];
15727
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15728
+ if (event.code === 'Space') {
15729
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15730
+ setSlide(function (prev) {
15731
+ return prev + 1;
15732
+ });
15733
+ } else {
15734
+ // if there's no more text chunks, close the dialog
15735
+ _onClose();
15736
+ }
15737
+ }
15738
+ };
15739
+ useEffect(function () {
15740
+ document.addEventListener('keydown', onHandleSpacePress);
15741
+ return function () {
15742
+ return document.removeEventListener('keydown', onHandleSpacePress);
15743
+ };
15744
+ }, [slide]);
15745
+ return React.createElement(RPGUIContainer, {
15746
+ type: RPGUIContainerTypes.FramedGold,
15747
+ width: '50%',
15748
+ height: '180px'
15749
+ }, React.createElement(React.Fragment, null, React.createElement(Container$i, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
15750
+ flex: '70%'
15751
+ }, React.createElement(NPCDialogText, {
15752
+ onStartStep: function onStartStep() {
15753
+ return setShowGoNextIndicator(false);
15754
+ },
15755
+ onEndStep: function onEndStep() {
15756
+ return setShowGoNextIndicator(true);
15757
+ },
15758
+ text: textAndTypeArray[slide].text || 'No text provided.',
15759
+ onClose: function onClose() {
15760
+ if (_onClose) {
15761
+ _onClose();
15762
+ }
15763
+ }
15764
+ })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15765
+ src: textAndTypeArray[slide].imagePath || img$5
15766
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15767
+ right: '10.5rem',
15768
+ src: img$6
15769
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15770
+ src: textAndTypeArray[slide].imagePath || img$5
15771
+ })), React.createElement(TextContainer, {
15772
+ flex: '70%'
15773
+ }, React.createElement(NPCDialogText, {
15774
+ onStartStep: function onStartStep() {
15775
+ return setShowGoNextIndicator(false);
15776
+ },
15777
+ onEndStep: function onEndStep() {
15778
+ return setShowGoNextIndicator(true);
15779
+ },
15780
+ text: textAndTypeArray[slide].text || 'No text provided.',
15781
+ onClose: function onClose() {
15782
+ if (_onClose) {
15783
+ _onClose();
15784
+ }
15785
+ }
15786
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15787
+ right: '1rem',
15788
+ src: img$6
15789
+ }))), ")"));
15790
+ };
15791
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15792
+ displayName: "NPCMultiDialog__Container",
15793
+ componentId: "sc-rvu5wg-0"
15794
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15795
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
15796
+ displayName: "NPCMultiDialog__TextContainer",
15797
+ componentId: "sc-rvu5wg-1"
15798
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15799
+ var flex = _ref2.flex;
15800
+ return flex;
15801
+ });
15802
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15803
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15804
+ componentId: "sc-rvu5wg-2"
15805
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15806
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15807
+ displayName: "NPCMultiDialog__NPCThumbnail",
15808
+ componentId: "sc-rvu5wg-3"
15809
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15810
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15811
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15812
+ componentId: "sc-rvu5wg-4"
15813
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15814
+ var right = _ref3.right;
15815
+ return right;
15816
+ });
15817
+
15818
+ //@ts-ignore
15819
+ var useEventListener = function useEventListener(type, handler, el) {
15820
+ if (el === void 0) {
15821
+ el = window;
15822
+ }
15823
+ var savedHandler = React.useRef();
15824
+ React.useEffect(function () {
15825
+ savedHandler.current = handler;
15826
+ }, [handler]);
15827
+ React.useEffect(function () {
15828
+ //@ts-ignore
15829
+ var listener = function listener(e) {
15830
+ return savedHandler.current(e);
15831
+ };
15832
+ el.addEventListener(type, listener);
15833
+ return function () {
15834
+ el.removeEventListener(type, listener);
15835
+ };
15836
+ }, [type, el]);
15837
+ };
15838
+
15839
+ var DynamicText = function DynamicText(_ref) {
15840
+ var text = _ref.text,
15841
+ onFinish = _ref.onFinish,
15842
+ onStart = _ref.onStart;
15843
+ var _useState = useState(''),
15844
+ textState = _useState[0],
15845
+ setTextState = _useState[1];
15846
+ useEffect(function () {
15847
+ var i = 0;
15848
+ var interval = setInterval(function () {
15849
+ // on every interval, show one more character
15850
+ if (i === 0) {
15851
+ if (onStart) {
15852
+ onStart();
15853
+ }
15854
+ }
15855
+ if (i < text.length) {
15856
+ setTextState(text.substring(0, i + 1));
15857
+ i++;
15858
+ } else {
15859
+ clearInterval(interval);
15860
+ if (onFinish) {
15861
+ onFinish();
15862
+ }
15863
+ }
15864
+ }, 50);
15865
+ return function () {
15866
+ clearInterval(interval);
15867
+ };
15868
+ }, [text]);
15869
+ return React.createElement(TextContainer$1, null, textState);
15870
+ };
15871
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15872
+ displayName: "DynamicText__TextContainer",
15873
+ componentId: "sc-1ggl9nd-0"
15874
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15875
+
15876
+ var QuestionDialog = function QuestionDialog(_ref) {
15877
+ var questions = _ref.questions,
15878
+ answers = _ref.answers,
15879
+ onClose = _ref.onClose;
15880
+ var _useState = useState(questions[0]),
15881
+ currentQuestion = _useState[0],
15882
+ setCurrentQuestion = _useState[1];
15883
+ var _useState2 = useState(false),
15884
+ canShowAnswers = _useState2[0],
15885
+ setCanShowAnswers = _useState2[1];
15886
+ var onGetFirstAnswer = function onGetFirstAnswer() {
15887
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15888
+ return null;
15889
+ }
15890
+ var firstAnswerId = currentQuestion.answerIds[0];
15891
+ return answers.find(function (answer) {
15892
+ return answer.id === firstAnswerId;
15893
+ });
15894
+ };
15895
+ var _useState3 = useState(onGetFirstAnswer()),
15896
+ currentAnswer = _useState3[0],
15897
+ setCurrentAnswer = _useState3[1];
15898
+ useEffect(function () {
15899
+ setCurrentAnswer(onGetFirstAnswer());
15900
+ }, [currentQuestion]);
15901
+ var onGetAnswers = function onGetAnswers(answerIds) {
15902
+ return answerIds.map(function (answerId) {
15903
+ return answers.find(function (answer) {
15904
+ return answer.id === answerId;
15905
+ });
15906
+ });
15907
+ };
15908
+ var onKeyPress = function onKeyPress(e) {
15909
+ switch (e.key) {
15910
+ case 'ArrowDown':
15911
+ // select next answer, if any.
15912
+ // if no next answer, select first answer
15913
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15914
+ // (answer) => answer?.id === currentAnswer!.id + 1
15915
+ // );
15916
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15917
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15918
+ });
15919
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15920
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15921
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
15922
+ });
15923
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15924
+ break;
15925
+ case 'ArrowUp':
15926
+ // select previous answer, if any.
15927
+ // if no previous answer, select last answer
15928
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15929
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15930
+ });
15931
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15932
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15933
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
15934
+ });
15935
+ if (previousAnswer) {
15936
+ setCurrentAnswer(previousAnswer);
15937
+ } else {
15938
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15939
+ }
15940
+ break;
15941
+ case 'Enter':
15942
+ setCanShowAnswers(false);
15943
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15944
+ onClose();
15945
+ return;
15946
+ } else {
15947
+ setCurrentQuestion(questions.find(function (question) {
15948
+ return question.id === currentAnswer.nextQuestionId;
15949
+ }));
15950
+ }
15951
+ break;
15952
+ }
15953
+ };
15954
+ useEventListener('keydown', onKeyPress);
15955
+ var onAnswerClick = function onAnswerClick(answer) {
15956
+ setCanShowAnswers(false);
15957
+ if (answer.nextQuestionId) {
15958
+ // if there is a next question, go to it
15959
+ setCurrentQuestion(questions.find(function (question) {
15960
+ return question.id === answer.nextQuestionId;
15961
+ }));
15962
+ } else {
15963
+ // else, finish dialog!
15964
+ onClose();
15965
+ }
15966
+ };
15967
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15968
+ var answerIds = currentQuestion.answerIds;
15969
+ if (!answerIds) {
15970
+ return null;
15971
+ }
15972
+ var answers = onGetAnswers(answerIds);
15973
+ if (!answers) {
15974
+ return null;
15975
+ }
15976
+ return answers.map(function (answer) {
15977
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15978
+ var selectedColor = isSelected ? 'yellow' : 'white';
15979
+ if (answer) {
15980
+ return React.createElement(AnswerRow, {
15981
+ key: "answer_" + answer.id
15982
+ }, React.createElement(AnswerSelectedIcon, {
15983
+ color: selectedColor
15984
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
15985
+ key: answer.id,
15986
+ onPointerDown: function onPointerDown() {
15987
+ return onAnswerClick(answer);
15988
+ },
15989
+ color: selectedColor
15990
+ }, answer.text));
15991
+ }
15992
+ return null;
15993
+ });
15994
+ };
15995
+ return React.createElement(Container$j, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
15996
+ text: currentQuestion.text,
15997
+ onStart: function onStart() {
15998
+ return setCanShowAnswers(false);
15999
+ },
16000
+ onFinish: function onFinish() {
16001
+ return setCanShowAnswers(true);
16002
+ }
16003
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
16209
16004
  };
16210
- var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
16211
- displayName: "Marketplace__PagerContainer",
16212
- componentId: "sc-h904b1-0"
16213
- })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
16005
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
16006
+ displayName: "QuestionDialog__Container",
16007
+ componentId: "sc-bxc5u0-0"
16008
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
16009
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
16010
+ displayName: "QuestionDialog__QuestionContainer",
16011
+ componentId: "sc-bxc5u0-1"
16012
+ })(["flex:100%;width:100%;"]);
16013
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
16014
+ displayName: "QuestionDialog__AnswersContainer",
16015
+ componentId: "sc-bxc5u0-2"
16016
+ })(["flex:100%;"]);
16017
+ var Answer = /*#__PURE__*/styled.p.withConfig({
16018
+ displayName: "QuestionDialog__Answer",
16019
+ componentId: "sc-bxc5u0-3"
16020
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
16021
+ return props.color;
16022
+ });
16023
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
16024
+ displayName: "QuestionDialog__AnswerSelectedIcon",
16025
+ componentId: "sc-bxc5u0-4"
16026
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
16027
+ return props.color;
16028
+ });
16029
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
16030
+ displayName: "QuestionDialog__AnswerRow",
16031
+ componentId: "sc-bxc5u0-5"
16032
+ })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
16214
16033
 
16215
16034
  var ProgressBar = function ProgressBar(_ref) {
16216
16035
  var max = _ref.max,
@@ -16232,7 +16051,7 @@ var ProgressBar = function ProgressBar(_ref) {
16232
16051
  }
16233
16052
  return value * 100 / max;
16234
16053
  };
16235
- return React.createElement(Container$m, {
16054
+ return React.createElement(Container$k, {
16236
16055
  className: "rpgui-progress",
16237
16056
  "data-value": calculatePercentageValue(max, value) / 100,
16238
16057
  "data-rpguitype": "progress",
@@ -16262,7 +16081,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
16262
16081
  displayName: "ProgressBar__TextOverlay",
16263
16082
  componentId: "sc-qa6fzh-1"
16264
16083
  })(["width:100%;position:relative;"]);
16265
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16084
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
16266
16085
  displayName: "ProgressBar__Container",
16267
16086
  componentId: "sc-qa6fzh-2"
16268
16087
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", " @media (max-width:950px){transform:scale(", ");}"], function (props) {
@@ -16275,7 +16094,7 @@ var Container$m = /*#__PURE__*/styled.div.withConfig({
16275
16094
  return props.mobileScale;
16276
16095
  });
16277
16096
 
16278
- var img$8 = 'data:image/png;base64,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';
16097
+ var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAHcSURBVHja7Ji/agJBEId/K/cCdoKFFjZCbGxCekmVOunzCil8hhS+gr3WVmIvKbQxIILFKQjXhCPkASZN5tjd27ud9SRYOKV3u/ftN7P/VESEa4gariRuIHZEkpeUUkYhEZEKbeNrG0mJJ/MlOq0m9odTKRg/W+2OaDfqRh9xkmbPbaBIMrLJfInB/R0AoN2o4+v7B3GSAkAOzAXAwW0XH59QSpEOIzLCEHanuq31Zot+r1sIYcdwNDZgahIblww2GTxrXDb02B9OAIB+r4tOqymCYXtspRQkxMZ6s82lK8SG14jPBnccYmM6W6Df62ZWSkGkNjgt59p4eXyAt1h9NvSoasMJcs5MqWqj0IjEBncuNVdmIwcSYmN/OIlSUjZTnCD2Ui7pXLqK+tKSgTCEtOikBcrAvrQAQE2HkIwwTlJj2l7CBgBERKSUUrTaHQ3lcZI6t3G2IZ0pEhvZ7ssww9E4Wym5YUi6qoQioqDZwmB6emxDtg3ej97fXv0nNN64OHQrutbpbGG8o//2/DRwpsyXFsOI9DDjCv0j+oCkNowakR6iXSks+rjURtDhWS9q+1DtMiL5eC41lar9D8w2pQMVrR1nGym7p9hA/25EcrESXchu/wbcQDzxOwDLF0pIXBCe1wAAAABJRU5ErkJggg==';
16279
16098
 
16280
16099
  var QuestInfo = function QuestInfo(_ref) {
16281
16100
  var quests = _ref.quests,
@@ -16319,7 +16138,7 @@ var QuestInfo = function QuestInfo(_ref) {
16319
16138
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
16320
16139
  className: "drag-handler"
16321
16140
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
16322
- src: quests[currentIndex].thumbnail || img$8
16141
+ src: quests[currentIndex].thumbnail || img$7
16323
16142
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
16324
16143
  className: "golden"
16325
16144
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -16338,7 +16157,7 @@ var QuestInfo = function QuestInfo(_ref) {
16338
16157
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
16339
16158
  className: "drag-handler"
16340
16159
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
16341
- src: quests[0].thumbnail || img$8
16160
+ src: quests[0].thumbnail || img$7
16342
16161
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
16343
16162
  className: "golden"
16344
16163
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -16603,7 +16422,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16603
16422
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
16604
16423
  _ref$margin = _ref.margin,
16605
16424
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
16606
- return React.createElement(Container$n, {
16425
+ return React.createElement(Container$l, {
16607
16426
  className: "simple-progress-bar"
16608
16427
  }, React.createElement(ProgressBarContainer, {
16609
16428
  margin: margin
@@ -16612,7 +16431,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16612
16431
  bgColor: bgColor
16613
16432
  }))));
16614
16433
  };
16615
- var Container$n = /*#__PURE__*/styled.div.withConfig({
16434
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
16616
16435
  displayName: "SimpleProgressBar__Container",
16617
16436
  componentId: "sc-mbeil3-0"
16618
16437
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16650,8 +16469,16 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
16650
16469
  if (!skillPointsToNextLevel) {
16651
16470
  skillPointsToNextLevel = getSPForLevel(level + 1);
16652
16471
  }
16653
- var nextLevelSPWillbe = skillPoints + skillPointsToNextLevel;
16654
- var ratio = skillPoints / nextLevelSPWillbe * 100;
16472
+ var SPLevelActual = getSPForLevel(level + 1);
16473
+ var SPLevelBefore = getSPForLevel(level);
16474
+ var SPcalc = SPLevelActual - SPLevelBefore;
16475
+ var ratio = function ratio() {
16476
+ if (level === 1) {
16477
+ return skillPoints / SPLevelActual * 100;
16478
+ }
16479
+ return (skillPoints - SPLevelBefore) / SPcalc * 100;
16480
+ };
16481
+ //const ratio = ((skillPoints - SPLevelBefore) / SPcalc) * 100;
16655
16482
  var skillsBuffsCalc = function skillsBuffsCalc() {
16656
16483
  if (buffAndDebuff) {
16657
16484
  return 1 + buffAndDebuff / 100;
@@ -16666,9 +16493,9 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
16666
16493
  grayScale: true,
16667
16494
  opacity: 0.5
16668
16495
  }))) : React.createElement(React.Fragment, null)), React.createElement(ProgressBarContainer$1, null, React.createElement(SimpleProgressBar, {
16669
- value: ratio,
16496
+ value: ratio(),
16670
16497
  bgColor: bgColor
16671
- }))), showSkillPoints && React.createElement(SkillDisplayContainer, null, React.createElement(SkillPointsDisplay, null, skillPoints, "/", nextLevelSPWillbe)));
16498
+ }))), showSkillPoints && React.createElement(SkillDisplayContainer, null, React.createElement(SkillPointsDisplay, null, skillPoints, "/", getSPForLevel(level + 1))));
16672
16499
  };
16673
16500
  var ProgressBarContainer$1 = /*#__PURE__*/styled.div.withConfig({
16674
16501
  displayName: "SkillProgressBar__ProgressBarContainer",
@@ -16880,7 +16707,7 @@ var SpellInfo = function SpellInfo(_ref) {
16880
16707
  castingType = spell.castingType,
16881
16708
  cooldown = spell.cooldown,
16882
16709
  maxDistanceGrid = spell.maxDistanceGrid;
16883
- return React.createElement(Container$o, null, React.createElement(Header$1, null, React.createElement("div", null, React.createElement(Title$6, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
16710
+ return React.createElement(Container$m, null, React.createElement(Header$1, null, React.createElement("div", null, React.createElement(Title$6, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
16884
16711
  className: "label"
16885
16712
  }, "Casting Type:"), React.createElement("div", {
16886
16713
  className: "value"
@@ -16906,7 +16733,7 @@ var SpellInfo = function SpellInfo(_ref) {
16906
16733
  className: "value"
16907
16734
  }, requiredItem))), React.createElement(Description$1, null, description));
16908
16735
  };
16909
- var Container$o = /*#__PURE__*/styled.div.withConfig({
16736
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16910
16737
  displayName: "SpellInfo__Container",
16911
16738
  componentId: "sc-4hbw3q-0"
16912
16739
  })(["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);
@@ -16960,7 +16787,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16960
16787
  var _ref$current;
16961
16788
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16962
16789
  };
16963
- return React.createElement(ModalPortal, null, React.createElement(Container$p, {
16790
+ return React.createElement(ModalPortal, null, React.createElement(Container$n, {
16964
16791
  ref: ref,
16965
16792
  onTouchEnd: function onTouchEnd() {
16966
16793
  handleFadeOut();
@@ -16985,7 +16812,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16985
16812
  }, option.text);
16986
16813
  }))));
16987
16814
  };
16988
- var Container$p = /*#__PURE__*/styled.div.withConfig({
16815
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
16989
16816
  displayName: "MobileSpellTooltip__Container",
16990
16817
  componentId: "sc-6p7uvr-0"
16991
16818
  })(["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;}"]);
@@ -17026,13 +16853,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
17026
16853
  }
17027
16854
  return;
17028
16855
  }, []);
17029
- return React.createElement(ModalPortal, null, React.createElement(Container$q, {
16856
+ return React.createElement(ModalPortal, null, React.createElement(Container$o, {
17030
16857
  ref: ref
17031
16858
  }, React.createElement(SpellInfoDisplay, {
17032
16859
  spell: spell
17033
16860
  })));
17034
16861
  };
17035
- var Container$q = /*#__PURE__*/styled.div.withConfig({
16862
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
17036
16863
  displayName: "SpellTooltip__Container",
17037
16864
  componentId: "sc-1go0gwg-0"
17038
16865
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -17084,7 +16911,7 @@ var Spell = function Spell(_ref) {
17084
16911
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
17085
16912
  return React.createElement(SpellInfoWrapper, {
17086
16913
  spell: spell
17087
- }, React.createElement(Container$r, {
16914
+ }, React.createElement(Container$p, {
17088
16915
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
17089
16916
  isSettingShortcut: isSettingShortcut && !disabled,
17090
16917
  className: "spell"
@@ -17098,7 +16925,7 @@ var Spell = function Spell(_ref) {
17098
16925
  className: "mana"
17099
16926
  }, manaCost))));
17100
16927
  };
17101
- var Container$r = /*#__PURE__*/styled.button.withConfig({
16928
+ var Container$p = /*#__PURE__*/styled.button.withConfig({
17102
16929
  displayName: "Spell__Container",
17103
16930
  componentId: "sc-j96fa2-0"
17104
16931
  })(["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) {
@@ -17175,7 +17002,7 @@ var Spellbook = function Spellbook(_ref) {
17175
17002
  height: "inherit",
17176
17003
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
17177
17004
  scale: scale
17178
- }, React.createElement(Container$s, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
17005
+ }, React.createElement(Container$q, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
17179
17006
  setSettingShortcutIndex: setSettingShortcutIndex,
17180
17007
  settingShortcutIndex: settingShortcutIndex,
17181
17008
  shortcuts: shortcuts,
@@ -17209,7 +17036,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
17209
17036
  displayName: "Spellbook__Title",
17210
17037
  componentId: "sc-r02nfq-0"
17211
17038
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
17212
- var Container$s = /*#__PURE__*/styled.div.withConfig({
17039
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
17213
17040
  displayName: "Spellbook__Container",
17214
17041
  componentId: "sc-r02nfq-1"
17215
17042
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -17223,16 +17050,16 @@ var TextArea = function TextArea(_ref) {
17223
17050
  return React.createElement("textarea", Object.assign({}, props));
17224
17051
  };
17225
17052
 
17226
- var img$9 = 'data:image/gif;base64,R0lGODlhTgBNAPMAAAAAALcIL7ObdNGqnf3vnP/wl93Goerfx/Xx3vr6+vn49QAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlAMFm5ybmZV2KHh0naWcepYlo22mradzqUUClK61nJSxIJiMrgm+v664oSKrXqa/yMmmbrkexVXHydK+y2bNULON0dPTppLXGs9UpdzlCaVt4FpsZuTm5ejWwx3iU53v753p89jtnPj49JVRZ2ELgoMHoP0DaE6gF4JjBByciCChEncMucV7yC+DQYoI/y8uzAjvFUddEkGGRHKPZMlN8lCqXGmgpctuJs90XDdzpc2bynJWgSjh40yLP4ECE1pHZs8DB5MqPcd0ClEARlVCjTpy6kadTrWC7KpU4NaDVndeyNqTa4GpSzedBblHbcGUbSmSddlprsokV7HizYtAKsO+hBEYCCw48UTD+RAnZsw2L0aApfy2pTw48eWGczX3ZNzYsdtNAf2KVkm6tOnC2+JqXg2ytWBStiSLzWv7dh5XBHS/Pti7nj9TW2kT7u1bT03dB5SPtuuMnfMkqqXXpl79uhLR2icyj+gdSfjN3FF6Pz89kXU3itnPHO/xfXlm6VXZv3+ShnH+gOUnikAUAFpFny7/XYeGGBOssR8qQjBYQRQPpoOGgHc4WOEeYGAYB4VBBDGEhMTkYCKJKKao4oostujiizDGKOOMF0QAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6BaChoHpMdieec6KqoXqcRQKaq7Khmq4gmI2zurSUth6oZbMJw8Szc74dwF2rxM3Oq27IG7iGzM7Xw6uT0hnKVNbY2NBm3Bfe36Lh6gmq0aa/bGaq6+vt5O/J8cGh9PSibeUqbEGA4MAyfv38sSoTcMJAggQNTkmXsN5Chvg0PIRYcMm8iur/7HlpCGAjR4lIKIIMefFMxm4COEJEaUDlSnEtq5A0eTKJzZvPcta5FVNmRJ8IgV77h5Go0YgEayZV2ozpyJdaiho9APEnVXZCp+zUepLjx69gF3KFuGTsU6Negf5bazSJ27dmp1IVRfdpqRA838YFyRcvRJISAj89e1NV37eIS5I1zLiiY8OHscLEnFevP7oFHkPWvJkzwcohH4s2GjnxZMyol4peLbO161SyloKiTZug7du4dREobLo26Wn6gs9a29vwb+B5ls9s/vS5w+R0Lp+kztH6dVJTVnP3ffzDOTrjR7c43yZ99fIi2FdBYMA9a/ivwIP3jlx/Hv5QYOefQUtxSDGgTgCaJx8paIhxnYH+geGgQEYIGA0a+NFQIYRngJGhGlEEIeIQE8aXw4klpqjiiiy26OKLMMYo44w0XhABACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6n2d2J555BaanpqCcRQKaf6iwp64DqyCYk7G5spq1HqRmusGndL0dv166CcrLunPFG7eLscvU1bGUzxnHVdPV3sqxbtkX21Td39/hbeMV5VOw6PEJsOKivmzAqPLy9GbsYwIQHCijbx+/Yf7sQQmIoOFAc6cMGkS1TqGGLQ0zPlxSUGI8ign/bTHMKJBjR4/pQHr5BwAjyZJKTqJMmaoMS5cvNxqQOdMawpUWtY0kqZNnT2Y/Q4l86bAhEqNH5yWtcnOoxow7I0b1plLpB5xXSUI9qvIAyT1BtVhligDeVqTDzLJlkpbcWrZjUVKUyxaBAZYt777M6xEV376AA/cdrHXr3sUNE4Nd7JasYciR66rFnLGyXr4GDiPWvJnzOYkFRItmmljCZMqe+a1e/bK1a3z5CM+jLXCx7dtzklFTcJlzbdIXcbcRVpw35N/A6TDne8A5W+gT3HXRpdo6SezZlUuHRdt75hriQZkf3UJ7m/XXkYtwX8UvfNbyWYFSlZ8E/f1LgGdMRXoAUtXfKFIUSJWAtvyXBxpihJcggGBE2I4RBK6DxoF9rDHhGWBwSEQPQZQ4hIXz5aAiiiy26OKLMMYo44w01mjjjRdEAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeeQWmp6agnEUCmn+osKeuA6sgmJOxubKatR6kZrrBp3S9Hb9eugnKy7pzxRu3i7HL1NWxlM8Zx1XT1d7KsW7ZF9tU3d/f4W3jFeVTsOjxCbDior5swKjy8vRm7GMCEBwoo28fv2H+7EEJiKDhQHOnDBpEtU6hhi0NMz5cUlBiPIoJ/20xzCiQY0eP6UB6+QcAI8mSSk6iTJmqDEuXLzcakDnTGsKVFrWNJKmTZ09mP0OJfOmwIRKjR+clrXJzqMaMOyNG9aZS6QecV0lCParyAMk9QbVYZYoA3lakw8yyZZKW3Fq2Y1FSlMsWgQGWLe++zOsRFd++gAP3Hax1697FDRODXeyWrGHIkeuqxZyxsl6+Bg4j1ryZ8zmJBUSLZppYwmTKnvmtXv2ytWt8+QjPoy1wse3bc5JRU3CZc23SF3G3EVacN+TfwOkw53vAOVvoE9x10aXaOkns2ZVLh0Xbe+Ya4kGZH91Ce5v115GLcF/FL3zW8lmBUpWfBP39S4BnTEV6AFLV3yhSFEiVgLb8lwcaYoSXIIBgRNiOEQSug8aBfawx4RlgcEhED0GUOISF8+WgIoostujiizDGKOOMNNZo440XRAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZSZjZYmeHoFoKGgekx2J55zoqqhepxFApqrsqGariCYjbO6tJS2HqhlswnDxLNzvh3AXavEzc6rbsgbuIbMztfDq5PSGcpU1tjY0GbcF97fouHqCarRpr9sZqrr6+3k78nxwaH09KJt5SpsQYDgwDJ+/fyxKhNwwkCCBA1OSZew3kKG+DQ8hFhwybyK6v/seWkIYCNHiUgoggx58UzGbgI4QkRpQOVKcS2rkDR5MonNm89y1rkVU2ZEnwiBXvuHkajRiARrJlXajOnIl1qKGj0A8SdVdkKn7NR6kuPHr2AXcoW4ZOxTo16B/ltrNInbt2anUhVF92mpEDzfxgXJFy9EkhICPz17U1Xft4hLkjXMuKJjw4exwsTctbI/ugUeQ9a8mTMCcJ9lijYaOfFkyp6Xil4ts7XrVLKWgqJNm6Dt27h1EShsujbpafqCz1rb2/Bv4HmWz2z+9LnD5HQun6TO0fp1UlNWc/d9/MM5OuNHtzjfJn318iLYV0FgwD1r+K/Ag/eOXH8e/lBg559BS3FIMaBOAJonHyloiHGdgf6B4aBARggYDRr40VAhhGeAkaEaUQQh4hATxpfDiSWmqOKKLLbo4oswxijjjDReEAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZQDBZucm5mVdih4dJ2lnHqWJaNtpq2nc6lFApSutZyUsSCYjK4Jvr+uuKEiq16mv8jJpm65HsVVx8nSvstmzVCzjdHT06aS1xrPVKXc5QmlbeBabGbk5uXo1sMd4lOd7++d6fPY7Zz4+PSVUWdhC4KDB6D9A2hOoBeCYwQcnIggoRJ3DLnFe8gvg0GKCP8vLswI7xVHXRJBhkRyj2TJTfJQqlxpoKXLbibPdFw3c6XNm8pyVoEo4eNMiz+BAhNaR2bPAweTKj3HdApRAEZVQo06cupGnU61guyqVODWg1Z3Xsjak2uBqUs3nQW5R23BlG0pknXZaa7KJFex4s2LQCrDvoQRGAgsOPFEw/kQJ2bMNi9GgKX8tqU8OPHlhnM192Tc2LHbTQH9ilZJurTpwtvial4NsrVgUrYki81r+3YeVwR0vz7Yu54/U1tpE+7tW09N3QeUj7brjJ3zJKql16Ze/boS0donMo/oHUn4zdxRej8/PZF1N4rZzxzv8X15ZulV2b9/koZx/oDlJ4pAFABaRZ8u/12HhhgTrLEfKkIwWEEUD6aDhoB3OFjhHmBgGAeFQQQxhITE5GAiiSimqOKKLLbo4oswxijjjBdEAAA7';
17053
+ var img$8 = 'data:image/gif;base64,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';
17227
17054
 
17228
- var img$a = 'data:image/gif;base64,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';
17055
+ var img$9 = 'data:image/gif;base64,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';
17229
17056
 
17230
- var img$b = 'data:image/gif;base64,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';
17057
+ var img$a = 'data:image/gif;base64,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';
17231
17058
 
17232
17059
  var DayNightPeriod = function DayNightPeriod(_ref) {
17233
17060
  var _periodOfDaySrcFiles;
17234
17061
  var periodOfDay = _ref.periodOfDay;
17235
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
17062
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
17236
17063
  return React.createElement(GifContainer, null, React.createElement("img", {
17237
17064
  src: periodOfDaySrcFiles[periodOfDay]
17238
17065
  }));
@@ -17242,7 +17069,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
17242
17069
  componentId: "sc-10t97fw-0"
17243
17070
  })(["width:100%;img{width:67%;}"]);
17244
17071
 
17245
- var img$c = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
17072
+ var img$b = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
17246
17073
 
17247
17074
  var TimeWidget = function TimeWidget(_ref) {
17248
17075
  var onClose = _ref.onClose,
@@ -17260,7 +17087,7 @@ var TimeWidget = function TimeWidget(_ref) {
17260
17087
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
17261
17088
  displayName: "TimeWidget__WidgetContainer",
17262
17089
  componentId: "sc-1ja236h-0"
17263
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
17090
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
17264
17091
  var Time = /*#__PURE__*/styled.div.withConfig({
17265
17092
  displayName: "TimeWidget__Time",
17266
17093
  componentId: "sc-1ja236h-1"
@@ -17510,16 +17337,230 @@ var Truncate = function Truncate(_ref) {
17510
17337
  var _ref$maxLines = _ref.maxLines,
17511
17338
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
17512
17339
  children = _ref.children;
17513
- return React.createElement(Container$t, {
17340
+ return React.createElement(Container$r, {
17514
17341
  maxLines: maxLines
17515
17342
  }, children);
17516
17343
  };
17517
- var Container$t = /*#__PURE__*/styled.div.withConfig({
17344
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
17518
17345
  displayName: "Truncate__Container",
17519
17346
  componentId: "sc-6x00qb-0"
17520
17347
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
17521
17348
  return props.maxLines;
17522
17349
  });
17523
17350
 
17351
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
17352
+
17353
+ var chunkString = function chunkString(str, length) {
17354
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
17355
+ };
17356
+
17357
+ var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
17358
+
17359
+ var NPCDialogText = function NPCDialogText(_ref) {
17360
+ var text = _ref.text,
17361
+ onClose = _ref.onClose,
17362
+ onEndStep = _ref.onEndStep,
17363
+ onStartStep = _ref.onStartStep,
17364
+ type = _ref.type;
17365
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
17366
+ function maxCharacters(width) {
17367
+ // Set the font size to 16 pixels
17368
+ var fontSize = 11.2;
17369
+ // Calculate the number of characters that can fit in one line
17370
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
17371
+ // Calculate the number of lines that can fit in the div
17372
+ var linesPerDiv = Math.floor(180 / fontSize);
17373
+ // Calculate the maximum number of characters that can fit in the div
17374
+ var maxCharacters = charactersPerLine * linesPerDiv;
17375
+ // Return the maximum number of characters
17376
+ return Math.round(maxCharacters / 5);
17377
+ }
17378
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
17379
+ var _useState = useState(0),
17380
+ chunkIndex = _useState[0],
17381
+ setChunkIndex = _useState[1];
17382
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17383
+ if (event.code === 'Space') {
17384
+ goToNextStep();
17385
+ }
17386
+ };
17387
+ var goToNextStep = function goToNextStep() {
17388
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
17389
+ if (hasNextChunk) {
17390
+ setChunkIndex(function (prev) {
17391
+ return prev + 1;
17392
+ });
17393
+ } else {
17394
+ // if there's no more text chunks, close the dialog
17395
+ onClose();
17396
+ }
17397
+ };
17398
+ useEffect(function () {
17399
+ document.addEventListener('keydown', onHandleSpacePress);
17400
+ return function () {
17401
+ return document.removeEventListener('keydown', onHandleSpacePress);
17402
+ };
17403
+ }, [chunkIndex]);
17404
+ var _useState2 = useState(false),
17405
+ showGoNextIndicator = _useState2[0],
17406
+ setShowGoNextIndicator = _useState2[1];
17407
+ return React.createElement(Container$s, null, React.createElement(DynamicText, {
17408
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
17409
+ onFinish: function onFinish() {
17410
+ setShowGoNextIndicator(true);
17411
+ onEndStep && onEndStep();
17412
+ },
17413
+ onStart: function onStart() {
17414
+ setShowGoNextIndicator(false);
17415
+ onStartStep && onStartStep();
17416
+ }
17417
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
17418
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
17419
+ src: IS_MOBILE_OR_TABLET ? img$c : img$6,
17420
+ onPointerDown: function onPointerDown() {
17421
+ goToNextStep();
17422
+ }
17423
+ }));
17424
+ };
17425
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
17426
+ displayName: "NPCDialogText__Container",
17427
+ componentId: "sc-1cxkdh9-0"
17428
+ })([""]);
17429
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
17430
+ displayName: "NPCDialogText__PressSpaceIndicator",
17431
+ componentId: "sc-1cxkdh9-1"
17432
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
17433
+ var right = _ref2.right;
17434
+ return right;
17435
+ });
17436
+
17437
+ var NPCDialogType;
17438
+ (function (NPCDialogType) {
17439
+ NPCDialogType["TextOnly"] = "TextOnly";
17440
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
17441
+ })(NPCDialogType || (NPCDialogType = {}));
17442
+ var NPCDialog = function NPCDialog(_ref) {
17443
+ var text = _ref.text,
17444
+ type = _ref.type,
17445
+ _onClose = _ref.onClose,
17446
+ imagePath = _ref.imagePath,
17447
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
17448
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
17449
+ questions = _ref.questions,
17450
+ answers = _ref.answers;
17451
+ return React.createElement(RPGUIContainer, {
17452
+ type: RPGUIContainerTypes.FramedGold,
17453
+ width: isQuestionDialog ? '600px' : '80%',
17454
+ height: '180px'
17455
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
17456
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17457
+ }, React.createElement(QuestionDialog, {
17458
+ questions: questions,
17459
+ answers: answers,
17460
+ onClose: function onClose() {
17461
+ if (_onClose) {
17462
+ _onClose();
17463
+ }
17464
+ }
17465
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17466
+ src: imagePath || img$5
17467
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$t, null, React.createElement(TextContainer$2, {
17468
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17469
+ }, React.createElement(NPCDialogText, {
17470
+ type: type,
17471
+ text: text || 'No text provided.',
17472
+ onClose: function onClose() {
17473
+ if (_onClose) {
17474
+ _onClose();
17475
+ }
17476
+ }
17477
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17478
+ src: imagePath || img$5
17479
+ })))));
17480
+ };
17481
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
17482
+ displayName: "NPCDialog__Container",
17483
+ componentId: "sc-1b4aw74-0"
17484
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17485
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17486
+ displayName: "NPCDialog__TextContainer",
17487
+ componentId: "sc-1b4aw74-1"
17488
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17489
+ var flex = _ref2.flex;
17490
+ return flex;
17491
+ });
17492
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17493
+ displayName: "NPCDialog__ThumbnailContainer",
17494
+ componentId: "sc-1b4aw74-2"
17495
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17496
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17497
+ displayName: "NPCDialog__NPCThumbnail",
17498
+ componentId: "sc-1b4aw74-3"
17499
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
17500
+
17501
+ var HistoryDialog = function HistoryDialog(_ref) {
17502
+ var backgroundImgPath = _ref.backgroundImgPath,
17503
+ fullCoverBackground = _ref.fullCoverBackground,
17504
+ questions = _ref.questions,
17505
+ answers = _ref.answers,
17506
+ text = _ref.text,
17507
+ imagePath = _ref.imagePath,
17508
+ textAndTypeArray = _ref.textAndTypeArray,
17509
+ onClose = _ref.onClose;
17510
+ var _useState = useState(0),
17511
+ img = _useState[0],
17512
+ setImage = _useState[1];
17513
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17514
+ if (event.code === 'Space') {
17515
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17516
+ setImage(function (prev) {
17517
+ return prev + 1;
17518
+ });
17519
+ } else {
17520
+ // if there's no more text chunks, close the dialog
17521
+ onClose();
17522
+ }
17523
+ }
17524
+ };
17525
+ useEffect(function () {
17526
+ document.addEventListener('keydown', onHandleSpacePress);
17527
+ return function () {
17528
+ return document.removeEventListener('keydown', onHandleSpacePress);
17529
+ };
17530
+ }, [backgroundImgPath]);
17531
+ return React.createElement(BackgroundContainer, {
17532
+ imgPath: backgroundImgPath[img],
17533
+ fullImg: fullCoverBackground
17534
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
17535
+ textAndTypeArray: textAndTypeArray,
17536
+ onClose: onClose
17537
+ }) : questions && answers ? React.createElement(QuestionDialog, {
17538
+ questions: questions,
17539
+ answers: answers,
17540
+ onClose: onClose
17541
+ }) : text && imagePath ? React.createElement(NPCDialog, {
17542
+ text: text,
17543
+ imagePath: imagePath,
17544
+ onClose: onClose,
17545
+ type: NPCDialogType.TextAndThumbnail
17546
+ }) : React.createElement(NPCDialog, {
17547
+ text: text,
17548
+ onClose: onClose,
17549
+ type: NPCDialogType.TextOnly
17550
+ })));
17551
+ };
17552
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17553
+ displayName: "HistoryDialog__BackgroundContainer",
17554
+ componentId: "sc-u6oe75-0"
17555
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17556
+ return props.imgPath;
17557
+ }, function (props) {
17558
+ return props.imgPath ? 'cover' : 'auto';
17559
+ });
17560
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17561
+ displayName: "HistoryDialog__DialogContainer",
17562
+ componentId: "sc-u6oe75-1"
17563
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
17564
+
17524
17565
  export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio$1 as InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, Marketplace, MarketplaceRows, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, rarityColor, useEventListener };
17525
17566
  //# sourceMappingURL=long-bow.esm.js.map