@rpg-engine/long-bow 0.4.2 → 0.4.3

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