@rpg-engine/long-bow 0.3.54 → 0.3.55

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/components/Arrow/SelectArrow.d.ts +1 -1
  4. package/dist/components/Button.d.ts +2 -2
  5. package/dist/components/CircularController/CircularController.d.ts +4 -7
  6. package/dist/components/Item/Inventory/ItemContainer.d.ts +1 -4
  7. package/dist/components/Item/Inventory/ItemSlot.d.ts +1 -2
  8. package/dist/components/Multitab/Tab.d.ts +1 -1
  9. package/dist/components/QuestInfo/QuestInfo.d.ts +1 -1
  10. package/dist/components/Spellbook/QuickSpells.d.ts +10 -0
  11. package/dist/components/Spellbook/Spell.d.ts +1 -1
  12. package/dist/components/Spellbook/Spellbook.d.ts +3 -5
  13. package/dist/components/Spellbook/SpellbookShortcuts.d.ts +10 -0
  14. package/dist/components/Spellbook/constants.d.ts +3 -3
  15. package/dist/components/shared/SpriteFromAtlas.d.ts +1 -1
  16. package/dist/index.d.ts +1 -1
  17. package/dist/long-bow.cjs.development.js +734 -913
  18. package/dist/long-bow.cjs.development.js.map +1 -1
  19. package/dist/long-bow.cjs.production.min.js +1 -1
  20. package/dist/long-bow.cjs.production.min.js.map +1 -1
  21. package/dist/long-bow.esm.js +736 -916
  22. package/dist/long-bow.esm.js.map +1 -1
  23. package/dist/stories/{Shortcuts.stories.d.ts → QuickSpells.stories.d.ts} +2 -2
  24. package/package.json +100 -100
  25. package/src/components/Abstractions/SlotsContainer.tsx +45 -45
  26. package/src/components/Arrow/SelectArrow.tsx +69 -65
  27. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  28. package/src/components/Arrow/img/arrow01-left.png +0 -0
  29. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  30. package/src/components/Arrow/img/arrow01-right.png +0 -0
  31. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  32. package/src/components/Arrow/img/arrow02-left.png +0 -0
  33. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  34. package/src/components/Arrow/img/arrow02-right.png +0 -0
  35. package/src/components/Button.tsx +40 -41
  36. package/src/components/Character/CharacterSelection.tsx +96 -96
  37. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  38. package/src/components/Chat/Chat.tsx +195 -195
  39. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -200
  40. package/src/components/CheckButton.tsx +65 -65
  41. package/src/components/CircularController/CircularController.tsx +162 -245
  42. package/src/components/CraftBook/CraftBook.tsx +224 -235
  43. package/src/components/CraftBook/MockItems.ts +46 -46
  44. package/src/components/DraggableContainer.tsx +153 -154
  45. package/src/components/Dropdown.tsx +90 -96
  46. package/src/components/DropdownSelectorContainer.tsx +42 -42
  47. package/src/components/Equipment/EquipmentSet.tsx +190 -190
  48. package/src/components/HistoryDialog.tsx +104 -104
  49. package/src/components/Input.tsx +15 -15
  50. package/src/components/Item/Cards/ItemTooltip.tsx +33 -33
  51. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  52. package/src/components/Item/Inventory/ItemContainer.tsx +175 -210
  53. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  54. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -142
  55. package/src/components/Item/Inventory/ItemSlot.tsx +467 -501
  56. package/src/components/Item/Inventory/itemContainerHelper.ts +156 -156
  57. package/src/components/ListMenu.tsx +63 -63
  58. package/src/components/Multitab/Tab.tsx +66 -57
  59. package/src/components/Multitab/TabBody.tsx +13 -13
  60. package/src/components/Multitab/TabsContainer.tsx +97 -97
  61. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  62. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  63. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  64. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  65. package/src/components/ProgressBar.tsx +92 -92
  66. package/src/components/PropertySelect/PropertySelect.tsx +106 -114
  67. package/src/components/QuestInfo/QuestInfo.tsx +230 -232
  68. package/src/components/QuestList.tsx +129 -129
  69. package/src/components/RPGUIContainer.tsx +47 -47
  70. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  71. package/src/components/RPGUIRoot.tsx +14 -14
  72. package/src/components/RadioButton.tsx +53 -53
  73. package/src/components/RadioInput/RadioButton.tsx +96 -98
  74. package/src/components/RadioInput/RadioInput.tsx +102 -99
  75. package/src/components/RadioInput/instruments.ts +15 -15
  76. package/src/components/RangeSlider.tsx +78 -78
  77. package/src/components/RelativeListMenu.tsx +83 -83
  78. package/src/components/ScrollList.tsx +79 -79
  79. package/src/components/SimpleProgressBar.tsx +62 -62
  80. package/src/components/SkillProgressBar.tsx +133 -133
  81. package/src/components/SkillsContainer.tsx +198 -200
  82. package/src/components/Spellbook/QuickSpells.tsx +120 -0
  83. package/src/components/Spellbook/Spell.tsx +201 -201
  84. package/src/components/Spellbook/Spellbook.tsx +144 -150
  85. package/src/components/Spellbook/SpellbookShortcuts.tsx +77 -0
  86. package/src/components/Spellbook/constants.ts +12 -8
  87. package/src/components/Spellbook/mockSpells.ts +60 -60
  88. package/src/components/StaticBook/StaticBook.tsx +103 -105
  89. package/src/components/TextArea.tsx +11 -11
  90. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  91. package/src/components/TimeWidget/TimeWidget.tsx +63 -63
  92. package/src/components/TradingMenu/TradingItemRow.tsx +193 -197
  93. package/src/components/TradingMenu/TradingMenu.tsx +203 -203
  94. package/src/components/TradingMenu/items.mock.ts +96 -96
  95. package/src/components/Truncate.tsx +25 -25
  96. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  97. package/src/components/shared/Column.tsx +16 -16
  98. package/src/components/shared/Ellipsis.tsx +65 -65
  99. package/src/components/shared/SpriteFromAtlas.tsx +102 -102
  100. package/src/components/typography/DynamicText.tsx +49 -49
  101. package/src/constants/uiColors.ts +20 -20
  102. package/src/constants/uiDevices.ts +3 -3
  103. package/src/constants/uiFonts.ts +12 -12
  104. package/src/hooks/useEventListener.ts +21 -21
  105. package/src/hooks/useOutsideAlerter.ts +25 -25
  106. package/src/index.tsx +40 -40
  107. package/src/libs/StringHelpers.ts +3 -3
  108. package/src/mocks/atlas/entities/entities.json +20215 -20215
  109. package/src/mocks/atlas/icons/icons.json +735 -735
  110. package/src/mocks/atlas/items/items.json +12086 -12086
  111. package/src/mocks/equipmentSet.mocks.ts +393 -393
  112. package/src/mocks/itemContainer.mocks.ts +560 -562
  113. package/src/mocks/skills.mocks.ts +128 -128
  114. package/src/stories/Arrow.stories.tsx +26 -26
  115. package/src/stories/Button.stories.tsx +36 -36
  116. package/src/stories/CharacterSelection.stories.tsx +45 -45
  117. package/src/stories/CharacterStatus.stories.tsx +29 -29
  118. package/src/stories/Chat.stories.tsx +187 -187
  119. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  120. package/src/stories/CheckButton.stories.tsx +48 -48
  121. package/src/stories/CircullarController.stories.tsx +33 -37
  122. package/src/stories/CraftBook.stories.tsx +40 -40
  123. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  124. package/src/stories/DraggableContainer.stories.tsx +28 -28
  125. package/src/stories/Dropdown.stories.tsx +46 -46
  126. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  127. package/src/stories/EquipmentSet.stories.tsx +65 -65
  128. package/src/stories/HistoryDialog.stories.tsx +61 -61
  129. package/src/stories/ItemContainer.stories.tsx +124 -198
  130. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  131. package/src/stories/ItemSelector.stories.tsx +77 -77
  132. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  133. package/src/stories/ListMenu.stories.tsx +56 -56
  134. package/src/stories/Multitab.stories.tsx +51 -51
  135. package/src/stories/NPCDialog.stories.tsx +130 -130
  136. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  137. package/src/stories/ProgressBar.stories.tsx +23 -23
  138. package/src/stories/PropertySelect.stories.tsx +40 -40
  139. package/src/stories/QuestInfo.stories.tsx +110 -107
  140. package/src/stories/QuestList.stories.tsx +82 -82
  141. package/src/stories/QuickSpells.stories.tsx +38 -0
  142. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  143. package/src/stories/RadioButton.stories.tsx +49 -49
  144. package/src/stories/RadioInput.stories.tsx +34 -34
  145. package/src/stories/RangeSlider.stories.tsx +64 -64
  146. package/src/stories/ScrollList.stories.tsx +85 -85
  147. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  148. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  149. package/src/stories/SkillsContainer.stories.tsx +35 -35
  150. package/src/stories/Spellbook.stories.tsx +107 -104
  151. package/src/stories/StaticBook.stories.tsx +32 -32
  152. package/src/stories/Text.stories.tsx +42 -42
  153. package/src/stories/TimeWidget.stories.tsx +27 -27
  154. package/src/stories/TradingMenu.stories.tsx +45 -45
  155. package/src/types/eventTypes.ts +4 -4
  156. package/src/types/index.d.ts +2 -2
  157. package/dist/components/Shortcuts/Shortcuts.d.ts +0 -12
  158. package/dist/components/Shortcuts/ShortcutsSetter.d.ts +0 -12
  159. package/dist/components/Shortcuts/SingleShortcut.d.ts +0 -1
  160. package/src/components/Shortcuts/Shortcuts.tsx +0 -129
  161. package/src/components/Shortcuts/ShortcutsSetter.tsx +0 -132
  162. package/src/components/Shortcuts/SingleShortcut.ts +0 -61
  163. package/src/stories/Shortcuts.stories.tsx +0 -39
@@ -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, ItemSubType, ItemContainerType, ItemType, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSlotType, getSPForLevel, PeriodOfDay, isMobileOrTablet } from '@rpg-engine/shared';
3
+ import { GRID_WIDTH, GRID_HEIGHT, ItemSubType, ItemContainerType, ItemType, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, getItemTextureKeyPath, ItemSlotType, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
5
5
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
6
6
  import { RxPaperPlane } from 'react-icons/rx';
@@ -66,7 +66,7 @@ var uiFonts = {
66
66
  }
67
67
  };
68
68
 
69
- var _excluded = ["disabled", "children", "buttonType", "onClick"];
69
+ var _excluded = ["disabled", "children", "buttonType", "onPointerDown"];
70
70
  var ButtonTypes;
71
71
  (function (ButtonTypes) {
72
72
  ButtonTypes["RPGUIButton"] = "rpgui-button";
@@ -77,14 +77,13 @@ var Button = function Button(_ref) {
77
77
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
78
78
  children = _ref.children,
79
79
  buttonType = _ref.buttonType,
80
- onClick = _ref.onClick,
80
+ onPointerDown = _ref.onPointerDown,
81
81
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
82
82
  return React.createElement(ButtonContainer, Object.assign({
83
83
  className: "" + buttonType,
84
84
  disabled: disabled
85
85
  }, props, {
86
- onTouchStart: onClick,
87
- onClick: onClick
86
+ onPointerDown: onPointerDown
88
87
  }), React.createElement("p", null, children));
89
88
  };
90
89
  var ButtonContainer = /*#__PURE__*/styled.button.withConfig({
@@ -103,7 +102,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
103
102
  _ref$imgScale = _ref.imgScale,
104
103
  imgScale = _ref$imgScale === void 0 ? 2 : _ref$imgScale,
105
104
  imgStyle = _ref.imgStyle,
106
- onClick = _ref.onClick,
105
+ onPointerDown = _ref.onPointerDown,
107
106
  containerStyle = _ref.containerStyle,
108
107
  _ref$grayScale = _ref.grayScale,
109
108
  grayScale = _ref$grayScale === void 0 ? false : _ref$grayScale,
@@ -117,7 +116,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
117
116
  width: width,
118
117
  height: height,
119
118
  hasHover: grayScale,
120
- onClick: onClick,
119
+ onPointerDown: onPointerDown,
121
120
  style: containerStyle
122
121
  }, React.createElement(ImgSprite, {
123
122
  className: "sprite-from-atlas-img",
@@ -32517,22 +32516,22 @@ var img$4 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0A
32517
32516
 
32518
32517
  var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAS5JREFUWIXtl7Fqw0AMhv8LLmTI4KFk8pJAtkKJpzRDCoasHZvnyJP0OZqx3Y90KZ3OdM7qKfHgIUNpAu1U+TA654YGUXr/JGRx/vmEdDbw36UA4P4upYTW2y+ucJzG6ifOTXXy4HJfeBnoeFWdUeIGFABc9hLC/vqWsYXTiT55mE+bmq0RJyBuIGp7+PFoKNbLmOLuIuXKMZ1odoKyrE+t0VYny30hT0DcgAKA+eyKErmpCKON3UctraHYbsfqycgTEDcQAX673Uf21Niyl1tjUpQ4AXEDEQBcJ/U+ei+Ov/4S9xSERcRcx67l85y3XhsAgId1yeZvRxeE/WVzoHy4CwDmOnahduG1lcQ16qKqUTex2xInIG5AAcDNYEiJze6T/apx4XUp/BcE/Rl9A77uW6caXAGtAAAAAElFTkSuQmCC';
32519
32518
 
32520
- var _excluded$1 = ["direction", "size", "onClick"];
32519
+ var _excluded$1 = ["direction", "size", "onPointerDown"];
32521
32520
  var SelectArrow = function SelectArrow(_ref) {
32522
32521
  var _ref$direction = _ref.direction,
32523
32522
  direction = _ref$direction === void 0 ? 'left' : _ref$direction,
32524
32523
  size = _ref.size,
32525
- _onClick = _ref.onClick,
32524
+ _onPointerDown = _ref.onPointerDown,
32526
32525
  props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
32527
32526
  return React.createElement(React.Fragment, null, direction === 'left' ? React.createElement(LeftArrow, Object.assign({
32528
32527
  size: size,
32529
- onClick: function onClick() {
32530
- return _onClick();
32528
+ onPointerDown: function onPointerDown() {
32529
+ return _onPointerDown();
32531
32530
  }
32532
32531
  }, props)) : React.createElement(RightArrow, Object.assign({
32533
32532
  size: size,
32534
- onClick: function onClick() {
32535
- return _onClick();
32533
+ onPointerDown: function onPointerDown() {
32534
+ return _onPointerDown();
32536
32535
  }
32537
32536
  }, props)));
32538
32537
  };
@@ -32618,12 +32617,10 @@ var PropertySelect = function PropertySelect(_ref) {
32618
32617
  className: "rpgui-progress-track"
32619
32618
  }), React.createElement(SelectArrow, {
32620
32619
  direction: "left",
32621
- onClick: onLeftClick,
32622
- onTouchStart: onLeftClick
32620
+ onPointerDown: onLeftClick
32623
32621
  }), React.createElement(SelectArrow, {
32624
32622
  direction: "right",
32625
- onClick: onRightClick,
32626
- onTouchStart: onRightClick
32623
+ onPointerDown: onRightClick
32627
32624
  }));
32628
32625
  };
32629
32626
  var Item = /*#__PURE__*/styled.span.withConfig({
@@ -32784,7 +32781,7 @@ var Chat = function Chat(_ref) {
32784
32781
  autoComplete: "off",
32785
32782
  onFocus: onFocus,
32786
32783
  onBlur: onBlur,
32787
- onTouchStart: onFocus,
32784
+ onPointerDown: onFocus,
32788
32785
  autoFocus: true
32789
32786
  })), React.createElement(Column, {
32790
32787
  justifyContent: "flex-end"
@@ -32956,8 +32953,7 @@ var ChatDeprecated = function ChatDeprecated(_ref) {
32956
32953
  }, React.createElement(ErrorBoundary$1, {
32957
32954
  fallback: React.createElement("p", null, "Oops! Your chat has crashed.")
32958
32955
  }, onCloseButton && React.createElement(CloseButton, {
32959
- onClick: onCloseButton,
32960
- onTouchStart: onCloseButton
32956
+ onPointerDown: onCloseButton
32961
32957
  }, "X"), React.createElement(RPGUIContainer, {
32962
32958
  type: RPGUIContainerTypes.FramedGrey,
32963
32959
  width: '100%',
@@ -33046,27 +33042,69 @@ var CheckButton = function CheckButton(_ref) {
33046
33042
  checked: selectedValues[element.label],
33047
33043
  onChange: function onChange() {}
33048
33044
  }), React.createElement("label", {
33049
- onClick: function onClick() {
33045
+ onPointerDown: function onPointerDown() {
33050
33046
  return handleClick(element.label);
33051
33047
  }
33052
33048
  }, element.label), React.createElement("br", null));
33053
33049
  }));
33054
33050
  };
33055
33051
 
33056
- var SingleShortcut = /*#__PURE__*/styled.button.withConfig({
33057
- displayName: "SingleShortcut",
33058
- componentId: "sc-vz5ev8-0"
33059
- })(["width:3rem;height:3rem;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;position:relative;span{pointer-events:none;}.mana{position:absolute;top:-5px;right:0;font-size:0.65rem;color:", ";}.qty{position:absolute;top:-5px;right:0;font-size:0.65rem;}.magicWords{margin-top:4px;}.keyboard{position:absolute;bottom:-5px;left:0;font-size:0.65rem;color:", ";}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.darkGray, uiColors.gray);
33052
+ var QuickSpells = function QuickSpells(_ref) {
33053
+ var quickSpells = _ref.quickSpells,
33054
+ onSpellCast = _ref.onSpellCast,
33055
+ mana = _ref.mana,
33056
+ _ref$isBlockedCasting = _ref.isBlockedCastingByKeyboard,
33057
+ isBlockedCastingByKeyboard = _ref$isBlockedCasting === void 0 ? false : _ref$isBlockedCasting;
33058
+ useEffect(function () {
33059
+ var handleKeyDown = function handleKeyDown(e) {
33060
+ if (isBlockedCastingByKeyboard) return;
33061
+ var shortcutIndex = Number(e.key) - 1;
33062
+ if (shortcutIndex >= 0 && shortcutIndex <= 3) {
33063
+ var shortcut = quickSpells[shortcutIndex];
33064
+ if (shortcut != null && shortcut.key && mana >= (shortcut == null ? void 0 : shortcut.manaCost)) {
33065
+ onSpellCast(shortcut.key);
33066
+ }
33067
+ }
33068
+ };
33069
+ window.addEventListener('keydown', handleKeyDown);
33070
+ return function () {
33071
+ window.removeEventListener('keydown', handleKeyDown);
33072
+ };
33073
+ }, [quickSpells, isBlockedCastingByKeyboard]);
33074
+ return React.createElement(List, null, Array.from({
33075
+ length: 4
33076
+ }).map(function (_, i) {
33077
+ var _quickSpells$i, _quickSpells$i2, _quickSpells$i3, _quickSpells$i4, _quickSpells$i5;
33078
+ return React.createElement(SpellShortcut, {
33079
+ key: i,
33080
+ onPointerDown: onSpellCast.bind(null, (_quickSpells$i = quickSpells[i]) == null ? void 0 : _quickSpells$i.key),
33081
+ disabled: mana < ((_quickSpells$i2 = quickSpells[i]) == null ? void 0 : _quickSpells$i2.manaCost)
33082
+ }, React.createElement("span", {
33083
+ className: "mana"
33084
+ }, ((_quickSpells$i3 = quickSpells[i]) == null ? void 0 : _quickSpells$i3.key) && ((_quickSpells$i4 = quickSpells[i]) == null ? void 0 : _quickSpells$i4.manaCost)), React.createElement("span", {
33085
+ className: "magicWords"
33086
+ }, (_quickSpells$i5 = quickSpells[i]) == null ? void 0 : _quickSpells$i5.magicWords.split(' ').map(function (word) {
33087
+ return word[0];
33088
+ })), React.createElement("span", {
33089
+ className: "keyboard"
33090
+ }, i + 1));
33091
+ }));
33092
+ };
33093
+ var SpellShortcut = /*#__PURE__*/styled.button.withConfig({
33094
+ displayName: "QuickSpells__SpellShortcut",
33095
+ componentId: "sc-41yq7s-0"
33096
+ })(["width:3rem;height:3rem;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;position:relative;span{pointer-events:none;}.mana{position:absolute;top:-5px;right:0;font-size:0.65rem;color:", ";}.magicWords{margin-top:4px;}.keyboard{position:absolute;bottom:-5px;left:0;font-size:0.65rem;color:", ";}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.darkGray, uiColors.gray);
33097
+ var List = /*#__PURE__*/styled.p.withConfig({
33098
+ displayName: "QuickSpells__List",
33099
+ componentId: "sc-41yq7s-1"
33100
+ })(["width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;box-sizing:border-box;margin:0 !important;"]);
33060
33101
 
33061
33102
  var CircularController = function CircularController(_ref) {
33062
- var onActionClick = _ref.onActionClick,
33103
+ var onActionPointerDown = _ref.onActionPointerDown,
33063
33104
  onCancelClick = _ref.onCancelClick,
33064
- onShortcutClick = _ref.onShortcutClick,
33105
+ onSpellClick = _ref.onSpellClick,
33065
33106
  mana = _ref.mana,
33066
- shortcuts = _ref.shortcuts,
33067
- inventory = _ref.inventory,
33068
- atlasIMG = _ref.atlasIMG,
33069
- atlasJSON = _ref.atlasJSON;
33107
+ spells = _ref.spells;
33070
33108
  var onTouchStart = function onTouchStart(e) {
33071
33109
  var target = e.target;
33072
33110
  target == null ? void 0 : target.classList.add('active');
@@ -33078,73 +33116,28 @@ var CircularController = function CircularController(_ref) {
33078
33116
  }, 100);
33079
33117
  action();
33080
33118
  };
33081
- var renderShortcut = function renderShortcut(i) {
33082
- var _shortcuts$i, _shortcuts$i2, _shortcuts$i4, _payload$manaCost;
33083
- var variant = '';
33084
- if (i === 0) variant = 'top';else if (i >= 3) variant = "bottom-" + (i - 3);
33085
- var onShortcutClickBinded = ((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) !== ShortcutType.None ? onShortcutClick.bind(null, i) : function () {};
33086
- if (((_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.type) === ShortcutType.Item) {
33087
- var _shortcuts$i3;
33088
- var _payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
33089
- var itemsFromEquipment = [];
33090
- if (inventory) {
33091
- Object.keys(inventory.slots).forEach(function (i) {
33092
- var _inventory$slots$inde;
33093
- var index = parseInt(i);
33094
- if (((_inventory$slots$inde = inventory.slots[index]) == null ? void 0 : _inventory$slots$inde.key) === (_payload == null ? void 0 : _payload.key)) {
33095
- itemsFromEquipment.push(inventory.slots[index]);
33096
- }
33097
- });
33098
- }
33099
- var totalQty = itemsFromEquipment.reduce(function (acc, item) {
33100
- return acc + ((item == null ? void 0 : item.stackQty) || 1);
33101
- }, 0);
33102
- return React.createElement(StyledShortcut, {
33103
- key: i,
33104
- onTouchStart: onTouchStart,
33105
- onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
33106
- disabled: false,
33107
- className: variant
33108
- }, _payload && React.createElement(SpriteFromAtlas, {
33109
- atlasIMG: atlasIMG,
33110
- atlasJSON: atlasJSON,
33111
- spriteKey: getItemTextureKeyPath({
33112
- key: _payload.texturePath,
33113
- texturePath: _payload.texturePath,
33114
- stackQty: _payload.stackQty || 1
33115
- }, atlasJSON),
33116
- width: 32,
33117
- height: 32,
33118
- imgScale: 1.4,
33119
- imgStyle: {
33120
- left: '4px'
33121
- }
33122
- }), React.createElement("span", {
33123
- className: "qty"
33124
- }, totalQty));
33125
- }
33126
- var payload = (_shortcuts$i4 = shortcuts[i]) == null ? void 0 : _shortcuts$i4.payload;
33119
+ return React.createElement(ButtonsContainer, null, React.createElement(SpellsContainer, null, Array.from({
33120
+ length: 4
33121
+ }).map(function (_, i) {
33122
+ var variant = i === 0 ? 'top' : i === 3 ? 'bottom' : '';
33123
+ var spell = spells[i];
33124
+ var onSpellClickBinded = spell ? onSpellClick.bind(null, spell.key) : function () {};
33127
33125
  return React.createElement(StyledShortcut, {
33128
33126
  key: i,
33127
+ disabled: mana < (spell == null ? void 0 : spell.manaCost),
33129
33128
  onTouchStart: onTouchStart,
33130
- onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
33131
- disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0),
33129
+ onTouchEnd: onTouchEnd.bind(null, onSpellClickBinded),
33132
33130
  className: variant
33133
33131
  }, React.createElement("span", {
33134
33132
  className: "mana"
33135
- }, payload && payload.manaCost), React.createElement("span", {
33133
+ }, (spell == null ? void 0 : spell.key) && (spell == null ? void 0 : spell.manaCost)), React.createElement("span", {
33136
33134
  className: "magicWords"
33137
- }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
33135
+ }, spell == null ? void 0 : spell.magicWords.split(' ').map(function (word) {
33138
33136
  return word[0];
33139
33137
  })));
33140
- };
33141
- return React.createElement(ButtonsContainer, null, React.createElement(ShortcutsContainer, null, Array.from({
33142
- length: 6
33143
- }).map(function (_, i) {
33144
- return renderShortcut(i);
33145
33138
  })), React.createElement(Button$2, {
33146
33139
  onTouchStart: onTouchStart,
33147
- onTouchEnd: onTouchEnd.bind(null, onActionClick)
33140
+ onTouchEnd: onTouchEnd.bind(null, onActionPointerDown)
33148
33141
  }, React.createElement("div", {
33149
33142
  className: "rpgui-icon sword"
33150
33143
  })), React.createElement(CancelButton, {
@@ -33155,7 +33148,7 @@ var CircularController = function CircularController(_ref) {
33155
33148
  var Button$2 = /*#__PURE__*/styled.button.withConfig({
33156
33149
  displayName: "CircularController__Button",
33157
33150
  componentId: "sc-1fewf3h-0"
33158
- })(["width:4.3rem;height:4.3rem;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;position:relative;transition:background-color 0.1s;margin-top:-3rem;&.active{background-color:", ";}.sword{transform:rotate(-45deg);height:2.5rem;width:1.9rem;pointer-events:none;}"], uiColors.lightGray, uiColors.darkGray, uiColors.gray);
33151
+ })(["width:4.3rem;height:4.3rem;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;position:relative;transition:background-color 0.1s;&.active{background-color:", ";}.sword{transform:rotate(-45deg);height:2.5rem;width:1.9rem;pointer-events:none;}"], uiColors.lightGray, uiColors.darkGray, uiColors.gray);
33159
33152
  var CancelButton = /*#__PURE__*/styled(Button$2).withConfig({
33160
33153
  displayName: "CircularController__CancelButton",
33161
33154
  componentId: "sc-1fewf3h-1"
@@ -33164,14 +33157,14 @@ var ButtonsContainer = /*#__PURE__*/styled.div.withConfig({
33164
33157
  displayName: "CircularController__ButtonsContainer",
33165
33158
  componentId: "sc-1fewf3h-2"
33166
33159
  })(["display:flex;align-items:center;justify-content:center;gap:0.5rem;"]);
33167
- var ShortcutsContainer = /*#__PURE__*/styled.div.withConfig({
33168
- displayName: "CircularController__ShortcutsContainer",
33160
+ var SpellsContainer = /*#__PURE__*/styled.div.withConfig({
33161
+ displayName: "CircularController__SpellsContainer",
33169
33162
  componentId: "sc-1fewf3h-3"
33170
- })(["display:flex;align-items:center;justify-content:center;gap:0.5rem;flex-direction:column;margin-top:3rem;.top{transform:translate(93%,25%);}.bottom-0{transform:translate(93%,-25%);}.bottom-1{transform:translate(-120%,calc(-5.5rem));}.bottom-2{transform:translate(-30%,calc(-5.5rem - 25%));}"]);
33171
- var StyledShortcut = /*#__PURE__*/styled(SingleShortcut).withConfig({
33163
+ })(["display:flex;align-items:center;justify-content:center;gap:0.4rem;flex-direction:column;.top{transform:translate(93%,25%);}.bottom{transform:translate(93%,-25%);}"]);
33164
+ var StyledShortcut = /*#__PURE__*/styled(SpellShortcut).withConfig({
33172
33165
  displayName: "CircularController__StyledShortcut",
33173
33166
  componentId: "sc-1fewf3h-4"
33174
- })(["width:2.5rem;height:2.5rem;transition:background-color 0.1s;.mana,.qty{font-size:0.5rem;}&:hover,&:focus,&:active{background-color:", ";}&.active{background-color:", ";}"], uiColors.lightGray, uiColors.gray);
33167
+ })(["width:2.5rem;height:2.5rem;transition:background-color 0.1s;.mana{font-size:0.5rem;}&:hover,&:focus,&:active{background-color:", ";}&.active{background-color:", ";}"], uiColors.lightGray, uiColors.gray);
33175
33168
 
33176
33169
  function useOutsideClick(ref, id) {
33177
33170
  useEffect(function () {
@@ -33256,8 +33249,7 @@ var DraggableContainer = function DraggableContainer(_ref) {
33256
33249
  width: imgWidth
33257
33250
  }), title)), onCloseButton && React.createElement(CloseButton$1, {
33258
33251
  className: "container-close",
33259
- onClick: onCloseButton,
33260
- onTouchStart: onCloseButton
33252
+ onPointerDown: onCloseButton
33261
33253
  }, "X"), children));
33262
33254
  };
33263
33255
  var Container$6 = /*#__PURE__*/styled.div.withConfig({
@@ -33322,12 +33314,7 @@ var Dropdown = function Dropdown(_ref) {
33322
33314
  }, React.createElement(DropdownSelect, {
33323
33315
  id: "dropdown-" + dropdownId,
33324
33316
  className: "rpgui-dropdown-imp rpgui-dropdown-imp-header",
33325
- onClick: function onClick() {
33326
- return setOpened(function (prev) {
33327
- return !prev;
33328
- });
33329
- },
33330
- onTouchStart: function onTouchStart() {
33317
+ onPointerDown: function onPointerDown() {
33331
33318
  return setOpened(function (prev) {
33332
33319
  return !prev;
33333
33320
  });
@@ -33338,12 +33325,7 @@ var Dropdown = function Dropdown(_ref) {
33338
33325
  }, options.map(function (option) {
33339
33326
  return React.createElement("li", {
33340
33327
  key: option.id,
33341
- onClick: function onClick() {
33342
- setSelectedValue(option.value);
33343
- setSelectedOption(option.option);
33344
- setOpened(false);
33345
- },
33346
- onTouchStart: function onTouchStart() {
33328
+ onPointerDown: function onPointerDown() {
33347
33329
  setSelectedValue(option.value);
33348
33330
  setSelectedOption(option.option);
33349
33331
  setOpened(false);
@@ -33449,10 +33431,7 @@ var CraftBook = function CraftBook(_ref) {
33449
33431
  imgScale: 3,
33450
33432
  grayScale: !option.canCraft
33451
33433
  })), React.createElement("div", null, React.createElement("div", {
33452
- onClick: function onClick() {
33453
- return handleClick(option.key);
33454
- },
33455
- onTouchStart: function onTouchStart() {
33434
+ onPointerDown: function onPointerDown() {
33456
33435
  return handleClick(option.key);
33457
33436
  }
33458
33437
  }, React.createElement("input", {
@@ -33466,15 +33445,9 @@ var CraftBook = function CraftBook(_ref) {
33466
33445
  return handleClick(option.key);
33467
33446
  }
33468
33447
  }), React.createElement("label", {
33469
- onClick: function onClick() {
33448
+ onPointerDown: function onPointerDown() {
33470
33449
  handleClick(option.key);
33471
33450
  },
33472
- onTouchStart: function onTouchStart() {
33473
- setIsShown({
33474
- show: true,
33475
- index: index
33476
- });
33477
- },
33478
33451
  style: {
33479
33452
  display: 'flex',
33480
33453
  alignItems: 'center'
@@ -33503,14 +33476,10 @@ var CraftBook = function CraftBook(_ref) {
33503
33476
  })));
33504
33477
  })), React.createElement(ButtonWrapper, null, React.createElement(Button, {
33505
33478
  buttonType: ButtonTypes.RPGUIButton,
33506
- onClick: onClose,
33507
- onTouchStart: onClose
33479
+ onPointerDown: onClose
33508
33480
  }, "Cancel"), React.createElement(Button, {
33509
33481
  buttonType: ButtonTypes.RPGUIButton,
33510
- onClick: function onClick() {
33511
- return onCraftItem(craftItem);
33512
- },
33513
- onTouchStart: function onTouchStart() {
33482
+ onPointerDown: function onPointerDown() {
33514
33483
  return onCraftItem(craftItem);
33515
33484
  }
33516
33485
  }, "Craft")));
@@ -33601,7 +33570,7 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
33601
33570
  }, options.map(function (params, index) {
33602
33571
  return React.createElement(ListElement, {
33603
33572
  key: (params == null ? void 0 : params.id) || index,
33604
- onClick: function onClick() {
33573
+ onPointerDown: function onPointerDown() {
33605
33574
  onSelected(params == null ? void 0 : params.id);
33606
33575
  }
33607
33576
  }, (params == null ? void 0 : params.text) || 'No text');
@@ -33747,7 +33716,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33747
33716
  slotSpriteMask = _ref.slotSpriteMask,
33748
33717
  _onMouseOver = _ref.onMouseOver,
33749
33718
  _onMouseOut = _ref.onMouseOut,
33750
- onClick = _ref.onClick,
33719
+ onPointerDown = _ref.onPointerDown,
33751
33720
  _onSelected = _ref.onSelected,
33752
33721
  atlasJSON = _ref.atlasJSON,
33753
33722
  atlasIMG = _ref.atlasIMG,
@@ -33760,8 +33729,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33760
33729
  checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
33761
33730
  openQuantitySelector = _ref.openQuantitySelector,
33762
33731
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
33763
- dragScale = _ref.dragScale,
33764
- isSelectingShortcut = _ref.isSelectingShortcut;
33732
+ dragScale = _ref.dragScale;
33765
33733
  var _useState = useState(false),
33766
33734
  isTooltipVisible = _useState[0],
33767
33735
  setTooltipVisible = _useState[1];
@@ -33925,14 +33893,12 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33925
33893
  bubbles: true
33926
33894
  });
33927
33895
  (_document$elementFrom = document.elementFromPoint(clientX, clientY)) == null ? void 0 : _document$elementFrom.dispatchEvent(simulatedEvent);
33928
- },
33929
- isSelectingShortcut: isSelectingShortcut && ((item == null ? void 0 : item.type) === ItemType.Consumable || (item == null ? void 0 : item.type) === ItemType.Tool)
33896
+ }
33930
33897
  }, React.createElement(Draggable, {
33931
- axis: isSelectingShortcut ? 'none' : 'both',
33932
33898
  defaultClassName: item ? 'draggable' : 'empty-slot',
33933
33899
  scale: dragScale,
33934
33900
  onStop: function onStop(e, data) {
33935
- if (wasDragged && item && !isSelectingShortcut) {
33901
+ if (wasDragged && item) {
33936
33902
  var _e$target;
33937
33903
  //@ts-ignore
33938
33904
  var classes = Array.from((_e$target = e.target) == null ? void 0 : _e$target.classList);
@@ -33970,12 +33936,12 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33970
33936
  }
33971
33937
  }, 100);
33972
33938
  } else if (item) {
33973
- if (!isContextMenuDisabled && !isSelectingShortcut) setIsContextMenuVisible(!isContextMenuVisible);
33974
- onClick(item.type, containerType, item);
33939
+ if (!isContextMenuDisabled) setIsContextMenuVisible(!isContextMenuVisible);
33940
+ onPointerDown(item.type, containerType, item);
33975
33941
  }
33976
33942
  },
33977
33943
  onStart: function onStart() {
33978
- if (!item || isSelectingShortcut) {
33944
+ if (!item) {
33979
33945
  return;
33980
33946
  }
33981
33947
  if (onDragStart) {
@@ -34037,7 +34003,7 @@ var rarityColor = function rarityColor(item) {
34037
34003
  var Container$a = /*#__PURE__*/styled.div.withConfig({
34038
34004
  displayName: "ItemSlot__Container",
34039
34005
  componentId: "sc-l2j5ef-0"
34040
- })(["margin:0.1rem;.sprite-from-atlas-img{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}position:relative;&::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-radius:12px;pointer-events:none;animation:", ";@keyframes bg-color-change{0%{background-color:rgba(255 255 255 / 0.5);}50%{background-color:transparent;}100%{background-color:rgba(255 255 255 / 0.5);}}}"], function (_ref2) {
34006
+ })(["margin:0.1rem;.sprite-from-atlas-img{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}position:relative;"], function (_ref2) {
34041
34007
  var item = _ref2.item;
34042
34008
  return rarityColor(item);
34043
34009
  }, function (_ref3) {
@@ -34046,9 +34012,6 @@ var Container$a = /*#__PURE__*/styled.div.withConfig({
34046
34012
  }, function (_ref4) {
34047
34013
  var item = _ref4.item;
34048
34014
  return "0 0 4px 3px " + rarityColor(item);
34049
- }, function (_ref5) {
34050
- var isSelectingShortcut = _ref5.isSelectingShortcut;
34051
- return isSelectingShortcut ? 'bg-color-change 1s infinite' : 'none';
34052
34015
  });
34053
34016
  var ItemContainer = /*#__PURE__*/styled.div.withConfig({
34054
34017
  displayName: "ItemSlot__ItemContainer",
@@ -34109,7 +34072,7 @@ var EquipmentSet = function EquipmentSet(_ref) {
34109
34072
  onMouseOver: function onMouseOver(event, slotIndex, item) {
34110
34073
  if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34111
34074
  },
34112
- onClick: function onClick(itemType, ContainerType) {
34075
+ onPointerDown: function onPointerDown(itemType, ContainerType) {
34113
34076
  if (onItemClick) onItemClick(itemType, item, ContainerType);
34114
34077
  },
34115
34078
  onSelected: function onSelected(optionId) {
@@ -34159,6 +34122,546 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34159
34122
  componentId: "sc-1wuddg2-1"
34160
34123
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34161
34124
 
34125
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
34126
+
34127
+ var chunkString = function chunkString(str, length) {
34128
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
34129
+ };
34130
+
34131
+ var DynamicText = function DynamicText(_ref) {
34132
+ var text = _ref.text,
34133
+ onFinish = _ref.onFinish,
34134
+ onStart = _ref.onStart;
34135
+ var _useState = useState(''),
34136
+ textState = _useState[0],
34137
+ setTextState = _useState[1];
34138
+ useEffect(function () {
34139
+ var i = 0;
34140
+ var interval = setInterval(function () {
34141
+ // on every interval, show one more character
34142
+ if (i === 0) {
34143
+ if (onStart) {
34144
+ onStart();
34145
+ }
34146
+ }
34147
+ if (i < text.length) {
34148
+ setTextState(text.substring(0, i + 1));
34149
+ i++;
34150
+ } else {
34151
+ clearInterval(interval);
34152
+ if (onFinish) {
34153
+ onFinish();
34154
+ }
34155
+ }
34156
+ }, 50);
34157
+ return function () {
34158
+ clearInterval(interval);
34159
+ };
34160
+ }, [text]);
34161
+ return React.createElement(TextContainer, null, textState);
34162
+ };
34163
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
34164
+ displayName: "DynamicText__TextContainer",
34165
+ componentId: "sc-1ggl9nd-0"
34166
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34167
+
34168
+ var img$6 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
34169
+
34170
+ var img$7 = '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';
34171
+
34172
+ var NPCDialogText = function NPCDialogText(_ref) {
34173
+ var text = _ref.text,
34174
+ onClose = _ref.onClose,
34175
+ onEndStep = _ref.onEndStep,
34176
+ onStartStep = _ref.onStartStep,
34177
+ type = _ref.type;
34178
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
34179
+ function maxCharacters(width) {
34180
+ // Set the font size to 16 pixels
34181
+ var fontSize = 11.2;
34182
+ // Calculate the number of characters that can fit in one line
34183
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
34184
+ // Calculate the number of lines that can fit in the div
34185
+ var linesPerDiv = Math.floor(180 / fontSize);
34186
+ // Calculate the maximum number of characters that can fit in the div
34187
+ var maxCharacters = charactersPerLine * linesPerDiv;
34188
+ // Return the maximum number of characters
34189
+ return Math.round(maxCharacters / 5);
34190
+ }
34191
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
34192
+ var _useState = useState(0),
34193
+ chunkIndex = _useState[0],
34194
+ setChunkIndex = _useState[1];
34195
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34196
+ if (event.code === 'Space') {
34197
+ goToNextStep();
34198
+ }
34199
+ };
34200
+ var goToNextStep = function goToNextStep() {
34201
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
34202
+ if (hasNextChunk) {
34203
+ setChunkIndex(function (prev) {
34204
+ return prev + 1;
34205
+ });
34206
+ } else {
34207
+ // if there's no more text chunks, close the dialog
34208
+ onClose();
34209
+ }
34210
+ };
34211
+ useEffect(function () {
34212
+ document.addEventListener('keydown', onHandleSpacePress);
34213
+ return function () {
34214
+ return document.removeEventListener('keydown', onHandleSpacePress);
34215
+ };
34216
+ }, [chunkIndex]);
34217
+ var _useState2 = useState(false),
34218
+ showGoNextIndicator = _useState2[0],
34219
+ setShowGoNextIndicator = _useState2[1];
34220
+ return React.createElement(Container$b, null, React.createElement(DynamicText, {
34221
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
34222
+ onFinish: function onFinish() {
34223
+ setShowGoNextIndicator(true);
34224
+ onEndStep && onEndStep();
34225
+ },
34226
+ onStart: function onStart() {
34227
+ setShowGoNextIndicator(false);
34228
+ onStartStep && onStartStep();
34229
+ }
34230
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34231
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
34232
+ src: IS_MOBILE_OR_TABLET ? img$6 : img$7,
34233
+ onPointerDown: function onPointerDown() {
34234
+ goToNextStep();
34235
+ }
34236
+ }));
34237
+ };
34238
+ var Container$b = /*#__PURE__*/styled.div.withConfig({
34239
+ displayName: "NPCDialogText__Container",
34240
+ componentId: "sc-1cxkdh9-0"
34241
+ })([""]);
34242
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34243
+ displayName: "NPCDialogText__PressSpaceIndicator",
34244
+ componentId: "sc-1cxkdh9-1"
34245
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
34246
+ var right = _ref2.right;
34247
+ return right;
34248
+ });
34249
+
34250
+ //@ts-ignore
34251
+ var useEventListener = function useEventListener(type, handler, el) {
34252
+ if (el === void 0) {
34253
+ el = window;
34254
+ }
34255
+ var savedHandler = React.useRef();
34256
+ React.useEffect(function () {
34257
+ savedHandler.current = handler;
34258
+ }, [handler]);
34259
+ React.useEffect(function () {
34260
+ //@ts-ignore
34261
+ var listener = function listener(e) {
34262
+ return savedHandler.current(e);
34263
+ };
34264
+ el.addEventListener(type, listener);
34265
+ return function () {
34266
+ el.removeEventListener(type, listener);
34267
+ };
34268
+ }, [type, el]);
34269
+ };
34270
+
34271
+ var QuestionDialog = function QuestionDialog(_ref) {
34272
+ var questions = _ref.questions,
34273
+ answers = _ref.answers,
34274
+ onClose = _ref.onClose;
34275
+ var _useState = useState(questions[0]),
34276
+ currentQuestion = _useState[0],
34277
+ setCurrentQuestion = _useState[1];
34278
+ var _useState2 = useState(false),
34279
+ canShowAnswers = _useState2[0],
34280
+ setCanShowAnswers = _useState2[1];
34281
+ var onGetFirstAnswer = function onGetFirstAnswer() {
34282
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34283
+ return null;
34284
+ }
34285
+ var firstAnswerId = currentQuestion.answerIds[0];
34286
+ return answers.find(function (answer) {
34287
+ return answer.id === firstAnswerId;
34288
+ });
34289
+ };
34290
+ var _useState3 = useState(onGetFirstAnswer()),
34291
+ currentAnswer = _useState3[0],
34292
+ setCurrentAnswer = _useState3[1];
34293
+ useEffect(function () {
34294
+ setCurrentAnswer(onGetFirstAnswer());
34295
+ }, [currentQuestion]);
34296
+ var onGetAnswers = function onGetAnswers(answerIds) {
34297
+ return answerIds.map(function (answerId) {
34298
+ return answers.find(function (answer) {
34299
+ return answer.id === answerId;
34300
+ });
34301
+ });
34302
+ };
34303
+ var onKeyPress = function onKeyPress(e) {
34304
+ switch (e.key) {
34305
+ case 'ArrowDown':
34306
+ // select next answer, if any.
34307
+ // if no next answer, select first answer
34308
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34309
+ // (answer) => answer?.id === currentAnswer!.id + 1
34310
+ // );
34311
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34312
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34313
+ });
34314
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34315
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34316
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
34317
+ });
34318
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34319
+ break;
34320
+ case 'ArrowUp':
34321
+ // select previous answer, if any.
34322
+ // if no previous answer, select last answer
34323
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34324
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34325
+ });
34326
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34327
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34328
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
34329
+ });
34330
+ if (previousAnswer) {
34331
+ setCurrentAnswer(previousAnswer);
34332
+ } else {
34333
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34334
+ }
34335
+ break;
34336
+ case 'Enter':
34337
+ setCanShowAnswers(false);
34338
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34339
+ onClose();
34340
+ return;
34341
+ } else {
34342
+ setCurrentQuestion(questions.find(function (question) {
34343
+ return question.id === currentAnswer.nextQuestionId;
34344
+ }));
34345
+ }
34346
+ break;
34347
+ }
34348
+ };
34349
+ useEventListener('keydown', onKeyPress);
34350
+ var onAnswerClick = function onAnswerClick(answer) {
34351
+ setCanShowAnswers(false);
34352
+ if (answer.nextQuestionId) {
34353
+ // if there is a next question, go to it
34354
+ setCurrentQuestion(questions.find(function (question) {
34355
+ return question.id === answer.nextQuestionId;
34356
+ }));
34357
+ } else {
34358
+ // else, finish dialog!
34359
+ onClose();
34360
+ }
34361
+ };
34362
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34363
+ var answerIds = currentQuestion.answerIds;
34364
+ if (!answerIds) {
34365
+ return null;
34366
+ }
34367
+ var answers = onGetAnswers(answerIds);
34368
+ if (!answers) {
34369
+ return null;
34370
+ }
34371
+ return answers.map(function (answer) {
34372
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34373
+ var selectedColor = isSelected ? 'yellow' : 'white';
34374
+ if (answer) {
34375
+ return React.createElement(AnswerRow, {
34376
+ key: "answer_" + answer.id
34377
+ }, React.createElement(AnswerSelectedIcon, {
34378
+ color: selectedColor
34379
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
34380
+ key: answer.id,
34381
+ onPointerDown: function onPointerDown() {
34382
+ return onAnswerClick(answer);
34383
+ },
34384
+ color: selectedColor
34385
+ }, answer.text));
34386
+ }
34387
+ return null;
34388
+ });
34389
+ };
34390
+ return React.createElement(Container$c, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
34391
+ text: currentQuestion.text,
34392
+ onStart: function onStart() {
34393
+ return setCanShowAnswers(false);
34394
+ },
34395
+ onFinish: function onFinish() {
34396
+ return setCanShowAnswers(true);
34397
+ }
34398
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34399
+ };
34400
+ var Container$c = /*#__PURE__*/styled.div.withConfig({
34401
+ displayName: "QuestionDialog__Container",
34402
+ componentId: "sc-bxc5u0-0"
34403
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34404
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34405
+ displayName: "QuestionDialog__QuestionContainer",
34406
+ componentId: "sc-bxc5u0-1"
34407
+ })(["flex:100%;width:100%;"]);
34408
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34409
+ displayName: "QuestionDialog__AnswersContainer",
34410
+ componentId: "sc-bxc5u0-2"
34411
+ })(["flex:100%;"]);
34412
+ var Answer = /*#__PURE__*/styled.p.withConfig({
34413
+ displayName: "QuestionDialog__Answer",
34414
+ componentId: "sc-bxc5u0-3"
34415
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34416
+ return props.color;
34417
+ });
34418
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34419
+ displayName: "QuestionDialog__AnswerSelectedIcon",
34420
+ componentId: "sc-bxc5u0-4"
34421
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
34422
+ return props.color;
34423
+ });
34424
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34425
+ displayName: "QuestionDialog__AnswerRow",
34426
+ componentId: "sc-bxc5u0-5"
34427
+ })(["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;}"]);
34428
+
34429
+ var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34430
+
34431
+ var NPCDialogType;
34432
+ (function (NPCDialogType) {
34433
+ NPCDialogType["TextOnly"] = "TextOnly";
34434
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
34435
+ })(NPCDialogType || (NPCDialogType = {}));
34436
+ var NPCDialog = function NPCDialog(_ref) {
34437
+ var text = _ref.text,
34438
+ type = _ref.type,
34439
+ _onClose = _ref.onClose,
34440
+ imagePath = _ref.imagePath,
34441
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
34442
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
34443
+ questions = _ref.questions,
34444
+ answers = _ref.answers;
34445
+ return React.createElement(RPGUIContainer, {
34446
+ type: RPGUIContainerTypes.FramedGold,
34447
+ width: isQuestionDialog ? '600px' : '80%',
34448
+ height: '180px'
34449
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
34450
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34451
+ }, React.createElement(QuestionDialog, {
34452
+ questions: questions,
34453
+ answers: answers,
34454
+ onClose: function onClose() {
34455
+ if (_onClose) {
34456
+ _onClose();
34457
+ }
34458
+ }
34459
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34460
+ src: imagePath || img$8
34461
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$d, null, React.createElement(TextContainer$1, {
34462
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34463
+ }, React.createElement(NPCDialogText, {
34464
+ type: type,
34465
+ text: text || 'No text provided.',
34466
+ onClose: function onClose() {
34467
+ if (_onClose) {
34468
+ _onClose();
34469
+ }
34470
+ }
34471
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34472
+ src: imagePath || img$8
34473
+ })))));
34474
+ };
34475
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34476
+ displayName: "NPCDialog__Container",
34477
+ componentId: "sc-1b4aw74-0"
34478
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34479
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
34480
+ displayName: "NPCDialog__TextContainer",
34481
+ componentId: "sc-1b4aw74-1"
34482
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34483
+ var flex = _ref2.flex;
34484
+ return flex;
34485
+ });
34486
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34487
+ displayName: "NPCDialog__ThumbnailContainer",
34488
+ componentId: "sc-1b4aw74-2"
34489
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34490
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34491
+ displayName: "NPCDialog__NPCThumbnail",
34492
+ componentId: "sc-1b4aw74-3"
34493
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34494
+
34495
+ var ImgSide;
34496
+ (function (ImgSide) {
34497
+ ImgSide["right"] = "right";
34498
+ ImgSide["left"] = "left";
34499
+ })(ImgSide || (ImgSide = {}));
34500
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
34501
+ var _textAndTypeArray$sli;
34502
+ var _onClose = _ref.onClose,
34503
+ textAndTypeArray = _ref.textAndTypeArray;
34504
+ var _useState = useState(false),
34505
+ showGoNextIndicator = _useState[0],
34506
+ setShowGoNextIndicator = _useState[1];
34507
+ var _useState2 = useState(0),
34508
+ slide = _useState2[0],
34509
+ setSlide = _useState2[1];
34510
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34511
+ if (event.code === 'Space') {
34512
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34513
+ setSlide(function (prev) {
34514
+ return prev + 1;
34515
+ });
34516
+ } else {
34517
+ // if there's no more text chunks, close the dialog
34518
+ _onClose();
34519
+ }
34520
+ }
34521
+ };
34522
+ useEffect(function () {
34523
+ document.addEventListener('keydown', onHandleSpacePress);
34524
+ return function () {
34525
+ return document.removeEventListener('keydown', onHandleSpacePress);
34526
+ };
34527
+ }, [slide]);
34528
+ return React.createElement(RPGUIContainer, {
34529
+ type: RPGUIContainerTypes.FramedGold,
34530
+ width: '50%',
34531
+ height: '180px'
34532
+ }, React.createElement(React.Fragment, null, React.createElement(Container$e, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
34533
+ flex: '70%'
34534
+ }, React.createElement(NPCDialogText, {
34535
+ onStartStep: function onStartStep() {
34536
+ return setShowGoNextIndicator(false);
34537
+ },
34538
+ onEndStep: function onEndStep() {
34539
+ return setShowGoNextIndicator(true);
34540
+ },
34541
+ text: textAndTypeArray[slide].text || 'No text provided.',
34542
+ onClose: function onClose() {
34543
+ if (_onClose) {
34544
+ _onClose();
34545
+ }
34546
+ }
34547
+ })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34548
+ src: textAndTypeArray[slide].imagePath || img$8
34549
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34550
+ right: '10.5rem',
34551
+ src: img$7
34552
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34553
+ src: textAndTypeArray[slide].imagePath || img$8
34554
+ })), React.createElement(TextContainer$2, {
34555
+ flex: '70%'
34556
+ }, React.createElement(NPCDialogText, {
34557
+ onStartStep: function onStartStep() {
34558
+ return setShowGoNextIndicator(false);
34559
+ },
34560
+ onEndStep: function onEndStep() {
34561
+ return setShowGoNextIndicator(true);
34562
+ },
34563
+ text: textAndTypeArray[slide].text || 'No text provided.',
34564
+ onClose: function onClose() {
34565
+ if (_onClose) {
34566
+ _onClose();
34567
+ }
34568
+ }
34569
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34570
+ right: '1rem',
34571
+ src: img$7
34572
+ }))), ")"));
34573
+ };
34574
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
34575
+ displayName: "NPCMultiDialog__Container",
34576
+ componentId: "sc-rvu5wg-0"
34577
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34578
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
34579
+ displayName: "NPCMultiDialog__TextContainer",
34580
+ componentId: "sc-rvu5wg-1"
34581
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34582
+ var flex = _ref2.flex;
34583
+ return flex;
34584
+ });
34585
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
34586
+ displayName: "NPCMultiDialog__ThumbnailContainer",
34587
+ componentId: "sc-rvu5wg-2"
34588
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34589
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
34590
+ displayName: "NPCMultiDialog__NPCThumbnail",
34591
+ componentId: "sc-rvu5wg-3"
34592
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34593
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
34594
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
34595
+ componentId: "sc-rvu5wg-4"
34596
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34597
+ var right = _ref3.right;
34598
+ return right;
34599
+ });
34600
+
34601
+ var HistoryDialog = function HistoryDialog(_ref) {
34602
+ var backgroundImgPath = _ref.backgroundImgPath,
34603
+ fullCoverBackground = _ref.fullCoverBackground,
34604
+ questions = _ref.questions,
34605
+ answers = _ref.answers,
34606
+ text = _ref.text,
34607
+ imagePath = _ref.imagePath,
34608
+ textAndTypeArray = _ref.textAndTypeArray,
34609
+ onClose = _ref.onClose;
34610
+ var _useState = useState(0),
34611
+ img = _useState[0],
34612
+ setImage = _useState[1];
34613
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34614
+ if (event.code === 'Space') {
34615
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
34616
+ setImage(function (prev) {
34617
+ return prev + 1;
34618
+ });
34619
+ } else {
34620
+ // if there's no more text chunks, close the dialog
34621
+ onClose();
34622
+ }
34623
+ }
34624
+ };
34625
+ useEffect(function () {
34626
+ document.addEventListener('keydown', onHandleSpacePress);
34627
+ return function () {
34628
+ return document.removeEventListener('keydown', onHandleSpacePress);
34629
+ };
34630
+ }, [backgroundImgPath]);
34631
+ return React.createElement(BackgroundContainer, {
34632
+ imgPath: backgroundImgPath[img],
34633
+ fullImg: fullCoverBackground
34634
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
34635
+ textAndTypeArray: textAndTypeArray,
34636
+ onClose: onClose
34637
+ }) : questions && answers ? React.createElement(QuestionDialog, {
34638
+ questions: questions,
34639
+ answers: answers,
34640
+ onClose: onClose
34641
+ }) : text && imagePath ? React.createElement(NPCDialog, {
34642
+ text: text,
34643
+ imagePath: imagePath,
34644
+ onClose: onClose,
34645
+ type: NPCDialogType.TextAndThumbnail
34646
+ }) : React.createElement(NPCDialog, {
34647
+ text: text,
34648
+ onClose: onClose,
34649
+ type: NPCDialogType.TextOnly
34650
+ })));
34651
+ };
34652
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
34653
+ displayName: "HistoryDialog__BackgroundContainer",
34654
+ componentId: "sc-u6oe75-0"
34655
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
34656
+ return props.imgPath;
34657
+ }, function (props) {
34658
+ return props.imgPath ? 'cover' : 'auto';
34659
+ });
34660
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
34661
+ displayName: "HistoryDialog__DialogContainer",
34662
+ componentId: "sc-u6oe75-1"
34663
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
34664
+
34162
34665
  var SlotsContainer = function SlotsContainer(_ref) {
34163
34666
  var children = _ref.children,
34164
34667
  title = _ref.title,
@@ -34174,8 +34677,8 @@ var SlotsContainer = function SlotsContainer(_ref) {
34174
34677
  onClose();
34175
34678
  }
34176
34679
  },
34177
- width: "400px",
34178
- cancelDrag: ".item-container-body, #shortcuts_list",
34680
+ width: "330px",
34681
+ cancelDrag: ".item-container-body",
34179
34682
  onPositionChange: function onPositionChange(_ref2) {
34180
34683
  var x = _ref2.x,
34181
34684
  y = _ref2.y;
@@ -34285,8 +34788,7 @@ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
34285
34788
  width: "25rem"
34286
34789
  }, React.createElement(CloseButton$2, {
34287
34790
  className: "container-close",
34288
- onClick: onClose,
34289
- onTouchStart: onClose
34791
+ onPointerDown: onClose
34290
34792
  }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
34291
34793
  style: {
34292
34794
  width: '100%'
@@ -34347,72 +34849,6 @@ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
34347
34849
  componentId: "sc-yfdtpn-3"
34348
34850
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
34349
34851
 
34350
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
34351
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
34352
- settingShortcutIndex = _ref.settingShortcutIndex,
34353
- shortcuts = _ref.shortcuts,
34354
- removeShortcut = _ref.removeShortcut,
34355
- atlasJSON = _ref.atlasJSON,
34356
- atlasIMG = _ref.atlasIMG;
34357
- var getContent = function getContent(index) {
34358
- var _shortcuts$index, _shortcuts$index3;
34359
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
34360
- var _shortcuts$index2;
34361
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
34362
- if (!_payload) return null;
34363
- return React.createElement(SpriteFromAtlas, {
34364
- atlasIMG: atlasIMG,
34365
- atlasJSON: atlasJSON,
34366
- spriteKey: getItemTextureKeyPath({
34367
- key: _payload.texturePath,
34368
- texturePath: _payload.texturePath,
34369
- stackQty: _payload.stackQty || 1
34370
- }, atlasJSON),
34371
- width: 32,
34372
- height: 32,
34373
- imgScale: 1.6,
34374
- imgStyle: {
34375
- left: '5px'
34376
- }
34377
- });
34378
- }
34379
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
34380
- return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
34381
- return word[0];
34382
- }));
34383
- };
34384
- return React.createElement(Container$b, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
34385
- id: "shortcuts_list"
34386
- }, Array.from({
34387
- length: 6
34388
- }).map(function (_, i) {
34389
- return React.createElement(Shortcut, {
34390
- key: i,
34391
- onClick: function onClick() {
34392
- removeShortcut(i);
34393
- if (!shortcuts[i] || shortcuts[i].type === ShortcutType.None) setSettingShortcutIndex(i);
34394
- },
34395
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
34396
- isBeingSet: settingShortcutIndex === i
34397
- }, getContent(i));
34398
- })));
34399
- };
34400
- var Container$b = /*#__PURE__*/styled.div.withConfig({
34401
- displayName: "ShortcutsSetter__Container",
34402
- componentId: "sc-xuouuf-0"
34403
- })(["p{margin:0;margin-left:0.5rem;}"]);
34404
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
34405
- displayName: "ShortcutsSetter__Shortcut",
34406
- componentId: "sc-xuouuf-1"
34407
- })(["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) {
34408
- var isBeingSet = _ref2.isBeingSet;
34409
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
34410
- }, uiColors.darkGray, uiColors.gray);
34411
- var List = /*#__PURE__*/styled.div.withConfig({
34412
- displayName: "ShortcutsSetter__List",
34413
- componentId: "sc-xuouuf-2"
34414
- })(["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;"]);
34415
-
34416
34852
  var ItemContainer$1 = function ItemContainer(_ref) {
34417
34853
  var itemContainer = _ref.itemContainer,
34418
34854
  onClose = _ref.onClose,
@@ -34431,10 +34867,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34431
34867
  checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34432
34868
  initialPosition = _ref.initialPosition,
34433
34869
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34434
- dragScale = _ref.dragScale,
34435
- shortcuts = _ref.shortcuts,
34436
- setItemShortcut = _ref.setItemShortcut,
34437
- removeShortcut = _ref.removeShortcut;
34870
+ dragScale = _ref.dragScale;
34438
34871
  var _useState = useState({
34439
34872
  isOpen: false,
34440
34873
  maxQuantity: 1,
@@ -34442,9 +34875,6 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34442
34875
  }),
34443
34876
  quantitySelect = _useState[0],
34444
34877
  setQuantitySelect = _useState[1];
34445
- var _useState2 = useState(-1),
34446
- settingShortcutIndex = _useState2[0],
34447
- setSettingShortcutIndex = _useState2[1];
34448
34878
  var onRenderSlots = function onRenderSlots() {
34449
34879
  var slots = [];
34450
34880
  for (var i = 0; i < itemContainer.slotQty; i++) {
@@ -34458,13 +34888,8 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34458
34888
  onMouseOver: function onMouseOver(event, slotIndex, item) {
34459
34889
  if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34460
34890
  },
34461
- onClick: function onClick(itemType, containerType, item) {
34462
- if (settingShortcutIndex !== -1) {
34463
- setSettingShortcutIndex(-1);
34464
- if (itemType === ItemType.Consumable || itemType === ItemType.Tool) {
34465
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, settingShortcutIndex);
34466
- }
34467
- } else if (onItemClick) onItemClick(item, itemType, containerType);
34891
+ onPointerDown: function onPointerDown(ItemType, ContainerType, item) {
34892
+ if (onItemClick) onItemClick(item, ItemType, ContainerType);
34468
34893
  },
34469
34894
  onSelected: function onSelected(optionId, item) {
34470
34895
  if (_onSelected) _onSelected(optionId, item);
@@ -34492,8 +34917,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34492
34917
  if (_onOutsideDrop) _onOutsideDrop(item, position);
34493
34918
  },
34494
34919
  atlasIMG: atlasIMG,
34495
- atlasJSON: atlasJSON,
34496
- isSelectingShortcut: settingShortcutIndex !== -1
34920
+ atlasJSON: atlasJSON
34497
34921
  }));
34498
34922
  }
34499
34923
  return slots;
@@ -34502,14 +34926,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34502
34926
  title: itemContainer.name || 'Container',
34503
34927
  onClose: onClose,
34504
34928
  initialPosition: initialPosition
34505
- }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
34506
- setSettingShortcutIndex: setSettingShortcutIndex,
34507
- settingShortcutIndex: settingShortcutIndex,
34508
- shortcuts: shortcuts,
34509
- removeShortcut: removeShortcut,
34510
- atlasIMG: atlasIMG,
34511
- atlasJSON: atlasJSON
34512
- }), React.createElement(ItemsContainer, {
34929
+ }, React.createElement(ItemsContainer, {
34513
34930
  className: "item-container-body"
34514
34931
  }, onRenderSlots())), quantitySelect.isOpen && React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
34515
34932
  quantity: quantitySelect.maxQuantity,
@@ -34534,7 +34951,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34534
34951
  var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
34535
34952
  displayName: "ItemContainer__ItemsContainer",
34536
34953
  componentId: "sc-15y5p9l-0"
34537
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
34954
+ })(["max-width:280px;display:flex;justify-content:center;flex-wrap:wrap;"]);
34538
34955
  var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
34539
34956
  displayName: "ItemContainer__QuantitySelectorContainer",
34540
34957
  componentId: "sc-15y5p9l-1"
@@ -34588,7 +35005,7 @@ var ItemSelector = function ItemSelector(_ref) {
34588
35005
  value: option.name,
34589
35006
  name: "test"
34590
35007
  }), React.createElement("label", {
34591
- onClick: handleClick,
35008
+ onPointerDown: handleClick,
34592
35009
  style: {
34593
35010
  display: 'flex',
34594
35011
  alignItems: 'center'
@@ -34596,7 +35013,7 @@ var ItemSelector = function ItemSelector(_ref) {
34596
35013
  }, option.name, " ", React.createElement("br", null), option.description)));
34597
35014
  })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
34598
35015
  buttonType: ButtonTypes.RPGUIButton,
34599
- onClick: onClose
35016
+ onPointerDown: onClose
34600
35017
  }, "Cancel"), React.createElement(Button, {
34601
35018
  buttonType: ButtonTypes.RPGUIButton
34602
35019
  }, "Select")));
@@ -34631,7 +35048,7 @@ var ListMenu = function ListMenu(_ref) {
34631
35048
  onSelected = _ref.onSelected,
34632
35049
  x = _ref.x,
34633
35050
  y = _ref.y;
34634
- return React.createElement(Container$c, {
35051
+ return React.createElement(Container$f, {
34635
35052
  x: x,
34636
35053
  y: y
34637
35054
  }, React.createElement("ul", {
@@ -34642,13 +35059,13 @@ var ListMenu = function ListMenu(_ref) {
34642
35059
  }, options.map(function (params, index) {
34643
35060
  return React.createElement(ListElement$1, {
34644
35061
  key: (params == null ? void 0 : params.id) || index,
34645
- onClick: function onClick() {
35062
+ onPointerDown: function onPointerDown() {
34646
35063
  onSelected(params == null ? void 0 : params.id);
34647
35064
  }
34648
35065
  }, (params == null ? void 0 : params.text) || 'No text');
34649
35066
  })));
34650
35067
  };
34651
- var Container$c = /*#__PURE__*/styled.div.withConfig({
35068
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
34652
35069
  displayName: "ListMenu__Container",
34653
35070
  componentId: "sc-i9097t-0"
34654
35071
  })(["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) {
@@ -34661,332 +35078,6 @@ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
34661
35078
  componentId: "sc-i9097t-1"
34662
35079
  })(["margin-right:0.5rem;"]);
34663
35080
 
34664
- var img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34665
-
34666
- var img$7 = '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';
34667
-
34668
- var ImgSide;
34669
- (function (ImgSide) {
34670
- ImgSide["right"] = "right";
34671
- ImgSide["left"] = "left";
34672
- })(ImgSide || (ImgSide = {}));
34673
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
34674
- var _textAndTypeArray$sli;
34675
- var _onClose = _ref.onClose,
34676
- textAndTypeArray = _ref.textAndTypeArray;
34677
- var _useState = useState(false),
34678
- showGoNextIndicator = _useState[0],
34679
- setShowGoNextIndicator = _useState[1];
34680
- var _useState2 = useState(0),
34681
- slide = _useState2[0],
34682
- setSlide = _useState2[1];
34683
- var onHandleSpacePress = function onHandleSpacePress(event) {
34684
- if (event.code === 'Space') {
34685
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34686
- setSlide(function (prev) {
34687
- return prev + 1;
34688
- });
34689
- } else {
34690
- // if there's no more text chunks, close the dialog
34691
- _onClose();
34692
- }
34693
- }
34694
- };
34695
- useEffect(function () {
34696
- document.addEventListener('keydown', onHandleSpacePress);
34697
- return function () {
34698
- return document.removeEventListener('keydown', onHandleSpacePress);
34699
- };
34700
- }, [slide]);
34701
- return React.createElement(RPGUIContainer, {
34702
- type: RPGUIContainerTypes.FramedGold,
34703
- width: '50%',
34704
- height: '180px'
34705
- }, React.createElement(React.Fragment, null, React.createElement(Container$d, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
34706
- flex: '70%'
34707
- }, React.createElement(NPCDialogText, {
34708
- onStartStep: function onStartStep() {
34709
- return setShowGoNextIndicator(false);
34710
- },
34711
- onEndStep: function onEndStep() {
34712
- return setShowGoNextIndicator(true);
34713
- },
34714
- text: textAndTypeArray[slide].text || 'No text provided.',
34715
- onClose: function onClose() {
34716
- if (_onClose) {
34717
- _onClose();
34718
- }
34719
- }
34720
- })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34721
- src: textAndTypeArray[slide].imagePath || img$6
34722
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34723
- right: '10.5rem',
34724
- src: img$7
34725
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34726
- src: textAndTypeArray[slide].imagePath || img$6
34727
- })), React.createElement(TextContainer, {
34728
- flex: '70%'
34729
- }, React.createElement(NPCDialogText, {
34730
- onStartStep: function onStartStep() {
34731
- return setShowGoNextIndicator(false);
34732
- },
34733
- onEndStep: function onEndStep() {
34734
- return setShowGoNextIndicator(true);
34735
- },
34736
- text: textAndTypeArray[slide].text || 'No text provided.',
34737
- onClose: function onClose() {
34738
- if (_onClose) {
34739
- _onClose();
34740
- }
34741
- }
34742
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34743
- right: '1rem',
34744
- src: img$7
34745
- }))), ")"));
34746
- };
34747
- var Container$d = /*#__PURE__*/styled.div.withConfig({
34748
- displayName: "NPCMultiDialog__Container",
34749
- componentId: "sc-rvu5wg-0"
34750
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34751
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
34752
- displayName: "NPCMultiDialog__TextContainer",
34753
- componentId: "sc-rvu5wg-1"
34754
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34755
- var flex = _ref2.flex;
34756
- return flex;
34757
- });
34758
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34759
- displayName: "NPCMultiDialog__ThumbnailContainer",
34760
- componentId: "sc-rvu5wg-2"
34761
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34762
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34763
- displayName: "NPCMultiDialog__NPCThumbnail",
34764
- componentId: "sc-rvu5wg-3"
34765
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34766
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34767
- displayName: "NPCMultiDialog__PressSpaceIndicator",
34768
- componentId: "sc-rvu5wg-4"
34769
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34770
- var right = _ref3.right;
34771
- return right;
34772
- });
34773
-
34774
- //@ts-ignore
34775
- var useEventListener = function useEventListener(type, handler, el) {
34776
- if (el === void 0) {
34777
- el = window;
34778
- }
34779
- var savedHandler = React.useRef();
34780
- React.useEffect(function () {
34781
- savedHandler.current = handler;
34782
- }, [handler]);
34783
- React.useEffect(function () {
34784
- //@ts-ignore
34785
- var listener = function listener(e) {
34786
- return savedHandler.current(e);
34787
- };
34788
- el.addEventListener(type, listener);
34789
- return function () {
34790
- el.removeEventListener(type, listener);
34791
- };
34792
- }, [type, el]);
34793
- };
34794
-
34795
- var DynamicText = function DynamicText(_ref) {
34796
- var text = _ref.text,
34797
- onFinish = _ref.onFinish,
34798
- onStart = _ref.onStart;
34799
- var _useState = useState(''),
34800
- textState = _useState[0],
34801
- setTextState = _useState[1];
34802
- useEffect(function () {
34803
- var i = 0;
34804
- var interval = setInterval(function () {
34805
- // on every interval, show one more character
34806
- if (i === 0) {
34807
- if (onStart) {
34808
- onStart();
34809
- }
34810
- }
34811
- if (i < text.length) {
34812
- setTextState(text.substring(0, i + 1));
34813
- i++;
34814
- } else {
34815
- clearInterval(interval);
34816
- if (onFinish) {
34817
- onFinish();
34818
- }
34819
- }
34820
- }, 50);
34821
- return function () {
34822
- clearInterval(interval);
34823
- };
34824
- }, [text]);
34825
- return React.createElement(TextContainer$1, null, textState);
34826
- };
34827
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
34828
- displayName: "DynamicText__TextContainer",
34829
- componentId: "sc-1ggl9nd-0"
34830
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34831
-
34832
- var QuestionDialog = function QuestionDialog(_ref) {
34833
- var questions = _ref.questions,
34834
- answers = _ref.answers,
34835
- onClose = _ref.onClose;
34836
- var _useState = useState(questions[0]),
34837
- currentQuestion = _useState[0],
34838
- setCurrentQuestion = _useState[1];
34839
- var _useState2 = useState(false),
34840
- canShowAnswers = _useState2[0],
34841
- setCanShowAnswers = _useState2[1];
34842
- var onGetFirstAnswer = function onGetFirstAnswer() {
34843
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34844
- return null;
34845
- }
34846
- var firstAnswerId = currentQuestion.answerIds[0];
34847
- return answers.find(function (answer) {
34848
- return answer.id === firstAnswerId;
34849
- });
34850
- };
34851
- var _useState3 = useState(onGetFirstAnswer()),
34852
- currentAnswer = _useState3[0],
34853
- setCurrentAnswer = _useState3[1];
34854
- useEffect(function () {
34855
- setCurrentAnswer(onGetFirstAnswer());
34856
- }, [currentQuestion]);
34857
- var onGetAnswers = function onGetAnswers(answerIds) {
34858
- return answerIds.map(function (answerId) {
34859
- return answers.find(function (answer) {
34860
- return answer.id === answerId;
34861
- });
34862
- });
34863
- };
34864
- var onKeyPress = function onKeyPress(e) {
34865
- switch (e.key) {
34866
- case 'ArrowDown':
34867
- // select next answer, if any.
34868
- // if no next answer, select first answer
34869
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34870
- // (answer) => answer?.id === currentAnswer!.id + 1
34871
- // );
34872
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34873
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34874
- });
34875
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34876
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34877
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
34878
- });
34879
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34880
- break;
34881
- case 'ArrowUp':
34882
- // select previous answer, if any.
34883
- // if no previous answer, select last answer
34884
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34885
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34886
- });
34887
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34888
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34889
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
34890
- });
34891
- if (previousAnswer) {
34892
- setCurrentAnswer(previousAnswer);
34893
- } else {
34894
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34895
- }
34896
- break;
34897
- case 'Enter':
34898
- setCanShowAnswers(false);
34899
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34900
- onClose();
34901
- return;
34902
- } else {
34903
- setCurrentQuestion(questions.find(function (question) {
34904
- return question.id === currentAnswer.nextQuestionId;
34905
- }));
34906
- }
34907
- break;
34908
- }
34909
- };
34910
- useEventListener('keydown', onKeyPress);
34911
- var onAnswerClick = function onAnswerClick(answer) {
34912
- setCanShowAnswers(false);
34913
- if (answer.nextQuestionId) {
34914
- // if there is a next question, go to it
34915
- setCurrentQuestion(questions.find(function (question) {
34916
- return question.id === answer.nextQuestionId;
34917
- }));
34918
- } else {
34919
- // else, finish dialog!
34920
- onClose();
34921
- }
34922
- };
34923
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34924
- var answerIds = currentQuestion.answerIds;
34925
- if (!answerIds) {
34926
- return null;
34927
- }
34928
- var answers = onGetAnswers(answerIds);
34929
- if (!answers) {
34930
- return null;
34931
- }
34932
- return answers.map(function (answer) {
34933
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34934
- var selectedColor = isSelected ? 'yellow' : 'white';
34935
- if (answer) {
34936
- return React.createElement(AnswerRow, {
34937
- key: "answer_" + answer.id
34938
- }, React.createElement(AnswerSelectedIcon, {
34939
- color: selectedColor
34940
- }, isSelected ? 'X' : null), React.createElement(Answer, {
34941
- key: answer.id,
34942
- onClick: function onClick() {
34943
- return onAnswerClick(answer);
34944
- },
34945
- color: selectedColor
34946
- }, answer.text));
34947
- }
34948
- return null;
34949
- });
34950
- };
34951
- return React.createElement(Container$e, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
34952
- text: currentQuestion.text,
34953
- onStart: function onStart() {
34954
- return setCanShowAnswers(false);
34955
- },
34956
- onFinish: function onFinish() {
34957
- return setCanShowAnswers(true);
34958
- }
34959
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34960
- };
34961
- var Container$e = /*#__PURE__*/styled.div.withConfig({
34962
- displayName: "QuestionDialog__Container",
34963
- componentId: "sc-bxc5u0-0"
34964
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34965
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34966
- displayName: "QuestionDialog__QuestionContainer",
34967
- componentId: "sc-bxc5u0-1"
34968
- })(["flex:100%;width:100%;"]);
34969
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34970
- displayName: "QuestionDialog__AnswersContainer",
34971
- componentId: "sc-bxc5u0-2"
34972
- })(["flex:100%;"]);
34973
- var Answer = /*#__PURE__*/styled.p.withConfig({
34974
- displayName: "QuestionDialog__Answer",
34975
- componentId: "sc-bxc5u0-3"
34976
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34977
- return props.color;
34978
- });
34979
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34980
- displayName: "QuestionDialog__AnswerSelectedIcon",
34981
- componentId: "sc-bxc5u0-4"
34982
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
34983
- return props.color;
34984
- });
34985
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34986
- displayName: "QuestionDialog__AnswerRow",
34987
- componentId: "sc-bxc5u0-5"
34988
- })(["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;}"]);
34989
-
34990
35081
  var ProgressBar = function ProgressBar(_ref) {
34991
35082
  var max = _ref.max,
34992
35083
  value = _ref.value,
@@ -35004,7 +35095,7 @@ var ProgressBar = function ProgressBar(_ref) {
35004
35095
  }
35005
35096
  return value * 100 / max;
35006
35097
  };
35007
- return React.createElement(Container$f, {
35098
+ return React.createElement(Container$g, {
35008
35099
  className: "rpgui-progress",
35009
35100
  "data-value": calculatePercentageValue(max, value) / 100,
35010
35101
  "data-rpguitype": "progress",
@@ -35033,7 +35124,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
35033
35124
  displayName: "ProgressBar__TextOverlay",
35034
35125
  componentId: "sc-qa6fzh-1"
35035
35126
  })(["width:100%;position:relative;"]);
35036
- var Container$f = /*#__PURE__*/styled.div.withConfig({
35127
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
35037
35128
  displayName: "ProgressBar__Container",
35038
35129
  componentId: "sc-qa6fzh-2"
35039
35130
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -35044,7 +35135,7 @@ var Container$f = /*#__PURE__*/styled.div.withConfig({
35044
35135
  return props.style;
35045
35136
  });
35046
35137
 
35047
- var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAHcSURBVHja7Ji/agJBEId/K/cCdoKFFjZCbGxCekmVOunzCil8hhS+gr3WVmIvKbQxIILFKQjXhCPkASZN5tjd27ud9SRYOKV3u/ftN7P/VESEa4gariRuIHZEkpeUUkYhEZEKbeNrG0mJJ/MlOq0m9odTKRg/W+2OaDfqRh9xkmbPbaBIMrLJfInB/R0AoN2o4+v7B3GSAkAOzAXAwW0XH59QSpEOIzLCEHanuq31Zot+r1sIYcdwNDZgahIblww2GTxrXDb02B9OAIB+r4tOqymCYXtspRQkxMZ6s82lK8SG14jPBnccYmM6W6Df62ZWSkGkNjgt59p4eXyAt1h9NvSoasMJcs5MqWqj0IjEBncuNVdmIwcSYmN/OIlSUjZTnCD2Ui7pXLqK+tKSgTCEtOikBcrAvrQAQE2HkIwwTlJj2l7CBgBERKSUUrTaHQ3lcZI6t3G2IZ0pEhvZ7ssww9E4Wym5YUi6qoQioqDZwmB6emxDtg3ej97fXv0nNN64OHQrutbpbGG8o//2/DRwpsyXFsOI9DDjCv0j+oCkNowakR6iXSks+rjURtDhWS9q+1DtMiL5eC41lar9D8w2pQMVrR1nGym7p9hA/25EcrESXchu/wbcQDzxOwDLF0pIXBCe1wAAAABJRU5ErkJggg==';
35138
+ var img$9 = 'data:image/png;base64,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';
35048
35139
 
35049
35140
  var QuestInfo = function QuestInfo(_ref) {
35050
35141
  var quests = _ref.quests,
@@ -35079,16 +35170,14 @@ var QuestInfo = function QuestInfo(_ref) {
35079
35170
  cancelDrag: ".equipment-container-body .arrow-selector"
35080
35171
  }, quests.length >= 2 ? React.createElement(QuestsContainer, null, currentIndex !== 0 && React.createElement(SelectArrow, {
35081
35172
  direction: "left",
35082
- onClick: onLeftClick,
35083
- onTouchStart: onLeftClick
35173
+ onPointerDown: onLeftClick
35084
35174
  }), currentIndex !== quests.length - 1 && React.createElement(SelectArrow, {
35085
35175
  direction: "right",
35086
- onClick: onRightClick,
35087
- onTouchStart: onRightClick
35176
+ onPointerDown: onRightClick
35088
35177
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35089
35178
  className: "drag-handler"
35090
35179
  }, React.createElement(Title$3, null, React.createElement(Thumbnail, {
35091
- src: quests[currentIndex].thumbnail || img$8
35180
+ src: quests[currentIndex].thumbnail || img$9
35092
35181
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35093
35182
  className: "golden"
35094
35183
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -35097,8 +35186,8 @@ var QuestInfo = function QuestInfo(_ref) {
35097
35186
  }, buttons && buttons.map(function (button, index) {
35098
35187
  return React.createElement(Button, {
35099
35188
  key: index,
35100
- onClick: function onClick() {
35101
- return button.onClick(quests[currentIndex]._id, quests[currentIndex].npcId);
35189
+ onPointerDown: function onPointerDown() {
35190
+ return button.onPointerDown(quests[currentIndex]._id, quests[currentIndex].npcId);
35102
35191
  },
35103
35192
  disabled: button.disabled,
35104
35193
  buttonType: ButtonTypes.RPGUIButton,
@@ -35107,7 +35196,7 @@ var QuestInfo = function QuestInfo(_ref) {
35107
35196
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35108
35197
  className: "drag-handler"
35109
35198
  }, React.createElement(Title$3, null, React.createElement(Thumbnail, {
35110
- src: quests[0].thumbnail || img$8
35199
+ src: quests[0].thumbnail || img$9
35111
35200
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35112
35201
  className: "golden"
35113
35202
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -35116,8 +35205,8 @@ var QuestInfo = function QuestInfo(_ref) {
35116
35205
  }, buttons && buttons.map(function (button, index) {
35117
35206
  return React.createElement(Button, {
35118
35207
  key: index,
35119
- onClick: function onClick() {
35120
- return button.onClick(quests[0]._id, quests[0].npcId);
35208
+ onPointerDown: function onPointerDown() {
35209
+ return button.onPointerDown(quests[0]._id, quests[0].npcId);
35121
35210
  },
35122
35211
  disabled: button.disabled,
35123
35212
  buttonType: ButtonTypes.RPGUIButton,
@@ -35236,7 +35325,7 @@ var InputRadio = function InputRadio(_ref) {
35236
35325
  name: name,
35237
35326
  type: "radio"
35238
35327
  }), React.createElement("label", {
35239
- onClick: handleClick
35328
+ onPointerDown: handleClick
35240
35329
  }, element.label), React.createElement("br", null));
35241
35330
  }));
35242
35331
  };
@@ -35250,96 +35339,13 @@ var RPGUIRoot = function RPGUIRoot(_ref) {
35250
35339
  }, children);
35251
35340
  };
35252
35341
 
35253
- var Shortcuts = function Shortcuts(_ref) {
35254
- var shortcuts = _ref.shortcuts,
35255
- onShortcutCast = _ref.onShortcutCast,
35256
- mana = _ref.mana,
35257
- _ref$isBlockedCasting = _ref.isBlockedCastingByKeyboard,
35258
- isBlockedCastingByKeyboard = _ref$isBlockedCasting === void 0 ? false : _ref$isBlockedCasting,
35259
- atlasJSON = _ref.atlasJSON,
35260
- atlasIMG = _ref.atlasIMG,
35261
- inventory = _ref.inventory;
35262
- useEffect(function () {
35263
- var handleKeyDown = function handleKeyDown(e) {
35264
- if (isBlockedCastingByKeyboard) return;
35265
- var shortcutIndex = Number(e.key) - 1;
35266
- if (shortcutIndex >= 0 && shortcutIndex <= 5) {
35267
- onShortcutCast(shortcutIndex);
35268
- }
35269
- };
35270
- window.addEventListener('keydown', handleKeyDown);
35271
- return function () {
35272
- window.removeEventListener('keydown', handleKeyDown);
35273
- };
35274
- }, [shortcuts, isBlockedCastingByKeyboard]);
35275
- return React.createElement(List$1, null, Array.from({
35276
- length: 6
35277
- }).map(function (_, i) {
35278
- var _shortcuts$i, _shortcuts$i3, _payload$manaCost;
35279
- if (((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) === ShortcutType.Item) {
35280
- var _shortcuts$i2;
35281
- var _payload = (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.payload;
35282
- var itemsFromEquipment = [];
35283
- if (inventory) {
35284
- Object.keys(inventory.slots).forEach(function (i) {
35285
- var _inventory$slots$inde;
35286
- var index = parseInt(i);
35287
- if (((_inventory$slots$inde = inventory.slots[index]) == null ? void 0 : _inventory$slots$inde.key) === (_payload == null ? void 0 : _payload.key)) {
35288
- itemsFromEquipment.push(inventory.slots[index]);
35289
- }
35290
- });
35291
- }
35292
- var totalQty = itemsFromEquipment.reduce(function (acc, item) {
35293
- return acc + ((item == null ? void 0 : item.stackQty) || 1);
35294
- }, 0);
35295
- return React.createElement(SingleShortcut, {
35296
- key: i,
35297
- onClick: onShortcutCast.bind(null, i),
35298
- disabled: false
35299
- }, _payload && React.createElement(SpriteFromAtlas, {
35300
- atlasIMG: atlasIMG,
35301
- atlasJSON: atlasJSON,
35302
- spriteKey: getItemTextureKeyPath({
35303
- key: _payload.texturePath,
35304
- texturePath: _payload.texturePath,
35305
- stackQty: _payload.stackQty || 1
35306
- }, atlasJSON),
35307
- width: 32,
35308
- height: 32
35309
- }), React.createElement("span", {
35310
- className: "qty"
35311
- }, totalQty), React.createElement("span", {
35312
- className: "keyboard"
35313
- }, i + 1));
35314
- }
35315
- var payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
35316
- return React.createElement(SingleShortcut, {
35317
- key: i,
35318
- onClick: onShortcutCast.bind(null, i),
35319
- disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0)
35320
- }, React.createElement("span", {
35321
- className: "mana"
35322
- }, payload && payload.manaCost), React.createElement("span", {
35323
- className: "magicWords"
35324
- }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
35325
- return word[0];
35326
- })), React.createElement("span", {
35327
- className: "keyboard"
35328
- }, i + 1));
35329
- }));
35330
- };
35331
- var List$1 = /*#__PURE__*/styled.p.withConfig({
35332
- displayName: "Shortcuts__List",
35333
- componentId: "sc-kgtsi7-0"
35334
- })(["width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;box-sizing:border-box;margin:0 !important;"]);
35335
-
35336
35342
  var SimpleProgressBar = function SimpleProgressBar(_ref) {
35337
35343
  var value = _ref.value,
35338
35344
  _ref$bgColor = _ref.bgColor,
35339
35345
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
35340
35346
  _ref$margin = _ref.margin,
35341
35347
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
35342
- return React.createElement(Container$g, {
35348
+ return React.createElement(Container$h, {
35343
35349
  className: "simple-progress-bar"
35344
35350
  }, React.createElement(ProgressBarContainer, {
35345
35351
  margin: margin
@@ -35348,7 +35354,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35348
35354
  bgColor: bgColor
35349
35355
  }))));
35350
35356
  };
35351
- var Container$g = /*#__PURE__*/styled.div.withConfig({
35357
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
35352
35358
  displayName: "SimpleProgressBar__Container",
35353
35359
  componentId: "sc-mbeil3-0"
35354
35360
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -35524,8 +35530,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
35524
35530
  title: "Skills",
35525
35531
  cancelDrag: "#skillsDiv"
35526
35532
  }, onCloseButton && React.createElement(CloseButton$3, {
35527
- onClick: onCloseButton,
35528
- onTouchStart: onCloseButton
35533
+ onPointerDown: onCloseButton
35529
35534
  }, "X"), React.createElement(SkillsContainerDiv, {
35530
35535
  id: "skillsDiv"
35531
35536
  }, React.createElement(SkillSplitDiv, null, React.createElement("p", null, "General"), React.createElement("hr", {
@@ -35572,13 +35577,13 @@ var Spell = function Spell(_ref) {
35572
35577
  manaCost = _ref.manaCost,
35573
35578
  charMana = _ref.charMana,
35574
35579
  charMagicLevel = _ref.charMagicLevel,
35575
- onClick = _ref.onClick,
35580
+ onPointerDown = _ref.onPointerDown,
35576
35581
  isSettingShortcut = _ref.isSettingShortcut,
35577
35582
  minMagicLevelRequired = _ref.minMagicLevelRequired;
35578
35583
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
35579
- return React.createElement(Container$h, {
35584
+ return React.createElement(Container$i, {
35580
35585
  disabled: disabled,
35581
- onClick: onClick == null ? void 0 : onClick.bind(null, spellKey),
35586
+ onPointerDown: onPointerDown == null ? void 0 : onPointerDown.bind(null, spellKey),
35582
35587
  isSettingShortcut: isSettingShortcut && !disabled,
35583
35588
  className: "spell"
35584
35589
  }, disabled && React.createElement(Overlay, null, charMagicLevel < minMagicLevelRequired ? 'Low magic level' : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, magicWords.split(' ').map(function (word) {
@@ -35589,7 +35594,7 @@ var Spell = function Spell(_ref) {
35589
35594
  className: "mana"
35590
35595
  }, manaCost)));
35591
35596
  };
35592
- var Container$h = /*#__PURE__*/styled.button.withConfig({
35597
+ var Container$i = /*#__PURE__*/styled.button.withConfig({
35593
35598
  displayName: "Spell__Container",
35594
35599
  componentId: "sc-j96fa2-0"
35595
35600
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;height:5rem;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -35625,6 +35630,43 @@ var Overlay = /*#__PURE__*/styled.p.withConfig({
35625
35630
  componentId: "sc-j96fa2-7"
35626
35631
  })(["margin:0 !important;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:1rem;display:flex;justify-content:center;align-items:center;color:", ";font-size:", " !important;font-weight:bold;z-index:10;background-color:rgba(0 0 0 / 0.2);"], uiColors.yellow, uiFonts.size.large);
35627
35632
 
35633
+ var SpellbookShortcuts = function SpellbookShortcuts(_ref) {
35634
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
35635
+ settingShortcutIndex = _ref.settingShortcutIndex,
35636
+ shortcuts = _ref.shortcuts,
35637
+ removeShortcut = _ref.removeShortcut;
35638
+ return React.createElement(List$1, {
35639
+ id: "shortcuts_list"
35640
+ }, "Spells shortcuts:", Array.from({
35641
+ length: 4
35642
+ }).map(function (_, i) {
35643
+ var _shortcuts$i2;
35644
+ return React.createElement(SpellShortcut$1, {
35645
+ key: i,
35646
+ onPointerDown: function onPointerDown() {
35647
+ var _shortcuts$i;
35648
+ removeShortcut(i);
35649
+ if (!((_shortcuts$i = shortcuts[i]) != null && _shortcuts$i.key)) setSettingShortcutIndex(i);
35650
+ },
35651
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
35652
+ isBeingSet: settingShortcutIndex === i
35653
+ }, React.createElement("span", null, (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.magicWords.split(' ').map(function (word) {
35654
+ return word[0];
35655
+ })));
35656
+ }));
35657
+ };
35658
+ var SpellShortcut$1 = /*#__PURE__*/styled.button.withConfig({
35659
+ displayName: "SpellbookShortcuts__SpellShortcut",
35660
+ componentId: "sc-fr4a0d-0"
35661
+ })(["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) {
35662
+ var isBeingSet = _ref2.isBeingSet;
35663
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
35664
+ }, uiColors.darkGray, uiColors.gray);
35665
+ var List$1 = /*#__PURE__*/styled.p.withConfig({
35666
+ displayName: "SpellbookShortcuts__List",
35667
+ componentId: "sc-fr4a0d-1"
35668
+ })(["width:100%;display:flex;align-items:center;justify-content:flex-end;gap:0.5rem;padding:0.5rem;box-sizing:border-box;margin:0 !important;"]);
35669
+
35628
35670
  var Spellbook = function Spellbook(_ref) {
35629
35671
  var onClose = _ref.onClose,
35630
35672
  onInputFocus = _ref.onInputFocus,
@@ -35634,10 +35676,8 @@ var Spellbook = function Spellbook(_ref) {
35634
35676
  mana = _ref.mana,
35635
35677
  onSpellClick = _ref.onSpellClick,
35636
35678
  setSpellShortcut = _ref.setSpellShortcut,
35637
- shortcuts = _ref.shortcuts,
35638
- removeShortcut = _ref.removeShortcut,
35639
- atlasIMG = _ref.atlasIMG,
35640
- atlasJSON = _ref.atlasJSON;
35679
+ spellShortcuts = _ref.spellShortcuts,
35680
+ removeSpellShortcut = _ref.removeSpellShortcut;
35641
35681
  var _useState = useState(''),
35642
35682
  search = _useState[0],
35643
35683
  setSearch = _useState[1];
@@ -35674,13 +35714,11 @@ var Spellbook = function Spellbook(_ref) {
35674
35714
  width: "inherit",
35675
35715
  height: "inherit",
35676
35716
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
35677
- }, React.createElement(Container$i, null, React.createElement(Title$6, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
35717
+ }, React.createElement(Container$j, null, React.createElement(Title$6, null, "Learned Spells"), React.createElement(SpellbookShortcuts, {
35678
35718
  setSettingShortcutIndex: setSettingShortcutIndex,
35679
35719
  settingShortcutIndex: settingShortcutIndex,
35680
- shortcuts: shortcuts,
35681
- removeShortcut: removeShortcut,
35682
- atlasIMG: atlasIMG,
35683
- atlasJSON: atlasJSON
35720
+ shortcuts: spellShortcuts,
35721
+ removeShortcut: removeSpellShortcut
35684
35722
  }), React.createElement(Input, {
35685
35723
  placeholder: "Search for spell",
35686
35724
  value: search,
@@ -35696,7 +35734,7 @@ var Spellbook = function Spellbook(_ref) {
35696
35734
  }, React.createElement(Spell, Object.assign({
35697
35735
  charMana: mana,
35698
35736
  charMagicLevel: magicLevel,
35699
- onClick: settingShortcutIndex !== -1 ? setShortcut : onSpellClick,
35737
+ onPointerDown: settingShortcutIndex !== -1 ? setShortcut : onSpellClick,
35700
35738
  spellKey: spell.key,
35701
35739
  isSettingShortcut: settingShortcutIndex !== -1
35702
35740
  }, spell)));
@@ -35706,7 +35744,7 @@ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
35706
35744
  displayName: "Spellbook__Title",
35707
35745
  componentId: "sc-r02nfq-0"
35708
35746
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
35709
- var Container$i = /*#__PURE__*/styled.div.withConfig({
35747
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
35710
35748
  displayName: "Spellbook__Container",
35711
35749
  componentId: "sc-r02nfq-1"
35712
35750
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -35720,16 +35758,16 @@ var TextArea = function TextArea(_ref) {
35720
35758
  return React.createElement("textarea", Object.assign({}, props));
35721
35759
  };
35722
35760
 
35723
- var img$9 = 'data:image/gif;base64,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';
35761
+ var img$a = 'data:image/gif;base64,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';
35724
35762
 
35725
- var img$a = 'data:image/gif;base64,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';
35763
+ var img$b = 'data:image/gif;base64,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';
35726
35764
 
35727
- var img$b = 'data:image/gif;base64,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';
35765
+ var img$c = 'data:image/gif;base64,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';
35728
35766
 
35729
35767
  var DayNightPeriod = function DayNightPeriod(_ref) {
35730
35768
  var _periodOfDaySrcFiles;
35731
35769
  var periodOfDay = _ref.periodOfDay;
35732
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
35770
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
35733
35771
  return React.createElement(GifContainer, null, React.createElement("img", {
35734
35772
  src: periodOfDaySrcFiles[periodOfDay]
35735
35773
  }));
@@ -35739,14 +35777,14 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
35739
35777
  componentId: "sc-10t97fw-0"
35740
35778
  })(["width:100%;img{width:67%;}"]);
35741
35779
 
35742
- 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';
35780
+ var img$d = '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';
35743
35781
 
35744
35782
  var TimeWidget = function TimeWidget(_ref) {
35745
35783
  var onClose = _ref.onClose,
35746
35784
  TimeClock = _ref.TimeClock,
35747
35785
  periodOfDay = _ref.periodOfDay;
35748
35786
  return React.createElement(Draggable, null, React.createElement(WidgetContainer, null, React.createElement(CloseButton$4, {
35749
- onClick: onClose
35787
+ onPointerDown: onClose
35750
35788
  }, "X"), React.createElement(DayNightContainer, null, React.createElement(DayNightPeriod, {
35751
35789
  periodOfDay: periodOfDay
35752
35790
  })), React.createElement(Time, null, TimeClock)));
@@ -35754,7 +35792,7 @@ var TimeWidget = function TimeWidget(_ref) {
35754
35792
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
35755
35793
  displayName: "TimeWidget__WidgetContainer",
35756
35794
  componentId: "sc-1ja236h-0"
35757
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
35795
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
35758
35796
  var Time = /*#__PURE__*/styled.div.withConfig({
35759
35797
  displayName: "TimeWidget__Time",
35760
35798
  componentId: "sc-1ja236h-1"
@@ -35816,26 +35854,22 @@ var TradingItemRow = function TradingItemRow(_ref) {
35816
35854
  size: 32,
35817
35855
  className: "arrow-selector",
35818
35856
  direction: "left",
35819
- onClick: onLeftOutClick,
35820
- onTouchStart: onLeftOutClick
35857
+ onPointerDown: onLeftOutClick
35821
35858
  }), React.createElement(StyledArrow, {
35822
35859
  size: 32,
35823
35860
  className: "arrow-selector",
35824
35861
  direction: "left",
35825
- onClick: onLeftClick,
35826
- onTouchStart: onLeftClick
35862
+ onPointerDown: onLeftClick
35827
35863
  }), React.createElement(QuantityDisplay, null, React.createElement(TextOverlay$2, null, React.createElement(Item$1, null, selectedQty))), React.createElement(StyledArrow, {
35828
35864
  size: 32,
35829
35865
  className: "arrow-selector",
35830
35866
  direction: "right",
35831
- onClick: onRightClick,
35832
- onTouchStart: onRightClick
35867
+ onPointerDown: onRightClick
35833
35868
  }), React.createElement(SelectArrow, {
35834
35869
  size: 32,
35835
35870
  className: "arrow-selector",
35836
35871
  direction: "right",
35837
- onClick: onRightOutClick,
35838
- onTouchStart: onRightOutClick
35872
+ onPointerDown: onRightOutClick
35839
35873
  })));
35840
35874
  };
35841
35875
  var StyledArrow = /*#__PURE__*/styled(SelectArrow).withConfig({
@@ -35962,12 +35996,12 @@ var TradingMenu = function TradingMenu(_ref) {
35962
35996
  })), React.createElement(GoldWrapper, null, React.createElement("p", null, "Available Gold:"), React.createElement("p", null, "$", characterAvailableGold)), React.createElement(TotalWrapper, null, React.createElement("p", null, "Total:"), React.createElement("p", null, "$", sum)), !hasGoldForSale() ? React.createElement(AlertWrapper, null, React.createElement("p", null, " Sorry, not enough money.")) : React.createElement(GoldWrapper, null, React.createElement("p", null, "Final Gold:"), React.createElement("p", null, "$", getFinalGold())), React.createElement(ButtonWrapper$2, null, React.createElement(Button, {
35963
35997
  buttonType: ButtonTypes.RPGUIButton,
35964
35998
  disabled: !hasGoldForSale(),
35965
- onClick: function onClick() {
35999
+ onPointerDown: function onPointerDown() {
35966
36000
  return onConfirmClick();
35967
36001
  }
35968
36002
  }, "Confirm"), React.createElement(Button, {
35969
36003
  buttonType: ButtonTypes.RPGUIButton,
35970
- onClick: function onClick() {
36004
+ onPointerDown: function onPointerDown() {
35971
36005
  return onClose();
35972
36006
  }
35973
36007
  }, "Cancel"))));
@@ -36006,230 +36040,16 @@ var Truncate = function Truncate(_ref) {
36006
36040
  var _ref$maxLines = _ref.maxLines,
36007
36041
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
36008
36042
  children = _ref.children;
36009
- return React.createElement(Container$j, {
36043
+ return React.createElement(Container$k, {
36010
36044
  maxLines: maxLines
36011
36045
  }, children);
36012
36046
  };
36013
- var Container$j = /*#__PURE__*/styled.div.withConfig({
36047
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
36014
36048
  displayName: "Truncate__Container",
36015
36049
  componentId: "sc-6x00qb-0"
36016
36050
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
36017
36051
  return props.maxLines;
36018
36052
  });
36019
36053
 
36020
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
36021
-
36022
- var chunkString = function chunkString(str, length) {
36023
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
36024
- };
36025
-
36026
- var img$d = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
36027
-
36028
- var NPCDialogText = function NPCDialogText(_ref) {
36029
- var text = _ref.text,
36030
- onClose = _ref.onClose,
36031
- onEndStep = _ref.onEndStep,
36032
- onStartStep = _ref.onStartStep,
36033
- type = _ref.type;
36034
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
36035
- function maxCharacters(width) {
36036
- // Set the font size to 16 pixels
36037
- var fontSize = 11.2;
36038
- // Calculate the number of characters that can fit in one line
36039
- var charactersPerLine = Math.floor(width / 2 / fontSize);
36040
- // Calculate the number of lines that can fit in the div
36041
- var linesPerDiv = Math.floor(180 / fontSize);
36042
- // Calculate the maximum number of characters that can fit in the div
36043
- var maxCharacters = charactersPerLine * linesPerDiv;
36044
- // Return the maximum number of characters
36045
- return Math.round(maxCharacters / 5);
36046
- }
36047
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
36048
- var _useState = useState(0),
36049
- chunkIndex = _useState[0],
36050
- setChunkIndex = _useState[1];
36051
- var onHandleSpacePress = function onHandleSpacePress(event) {
36052
- if (event.code === 'Space') {
36053
- goToNextStep();
36054
- }
36055
- };
36056
- var goToNextStep = function goToNextStep() {
36057
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
36058
- if (hasNextChunk) {
36059
- setChunkIndex(function (prev) {
36060
- return prev + 1;
36061
- });
36062
- } else {
36063
- // if there's no more text chunks, close the dialog
36064
- onClose();
36065
- }
36066
- };
36067
- useEffect(function () {
36068
- document.addEventListener('keydown', onHandleSpacePress);
36069
- return function () {
36070
- return document.removeEventListener('keydown', onHandleSpacePress);
36071
- };
36072
- }, [chunkIndex]);
36073
- var _useState2 = useState(false),
36074
- showGoNextIndicator = _useState2[0],
36075
- setShowGoNextIndicator = _useState2[1];
36076
- return React.createElement(Container$k, null, React.createElement(DynamicText, {
36077
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
36078
- onFinish: function onFinish() {
36079
- setShowGoNextIndicator(true);
36080
- onEndStep && onEndStep();
36081
- },
36082
- onStart: function onStart() {
36083
- setShowGoNextIndicator(false);
36084
- onStartStep && onStartStep();
36085
- }
36086
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
36087
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
36088
- src: IS_MOBILE_OR_TABLET ? img$d : img$7,
36089
- onClick: function onClick() {
36090
- goToNextStep();
36091
- }
36092
- }));
36093
- };
36094
- var Container$k = /*#__PURE__*/styled.div.withConfig({
36095
- displayName: "NPCDialogText__Container",
36096
- componentId: "sc-1cxkdh9-0"
36097
- })([""]);
36098
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
36099
- displayName: "NPCDialogText__PressSpaceIndicator",
36100
- componentId: "sc-1cxkdh9-1"
36101
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
36102
- var right = _ref2.right;
36103
- return right;
36104
- });
36105
-
36106
- var NPCDialogType;
36107
- (function (NPCDialogType) {
36108
- NPCDialogType["TextOnly"] = "TextOnly";
36109
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
36110
- })(NPCDialogType || (NPCDialogType = {}));
36111
- var NPCDialog = function NPCDialog(_ref) {
36112
- var text = _ref.text,
36113
- type = _ref.type,
36114
- _onClose = _ref.onClose,
36115
- imagePath = _ref.imagePath,
36116
- _ref$isQuestionDialog = _ref.isQuestionDialog,
36117
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
36118
- questions = _ref.questions,
36119
- answers = _ref.answers;
36120
- return React.createElement(RPGUIContainer, {
36121
- type: RPGUIContainerTypes.FramedGold,
36122
- width: isQuestionDialog ? '600px' : '80%',
36123
- height: '180px'
36124
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
36125
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36126
- }, React.createElement(QuestionDialog, {
36127
- questions: questions,
36128
- answers: answers,
36129
- onClose: function onClose() {
36130
- if (_onClose) {
36131
- _onClose();
36132
- }
36133
- }
36134
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36135
- src: imagePath || img$6
36136
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$l, null, React.createElement(TextContainer$2, {
36137
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36138
- }, React.createElement(NPCDialogText, {
36139
- type: type,
36140
- text: text || 'No text provided.',
36141
- onClose: function onClose() {
36142
- if (_onClose) {
36143
- _onClose();
36144
- }
36145
- }
36146
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36147
- src: imagePath || img$6
36148
- })))));
36149
- };
36150
- var Container$l = /*#__PURE__*/styled.div.withConfig({
36151
- displayName: "NPCDialog__Container",
36152
- componentId: "sc-1b4aw74-0"
36153
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
36154
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
36155
- displayName: "NPCDialog__TextContainer",
36156
- componentId: "sc-1b4aw74-1"
36157
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
36158
- var flex = _ref2.flex;
36159
- return flex;
36160
- });
36161
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
36162
- displayName: "NPCDialog__ThumbnailContainer",
36163
- componentId: "sc-1b4aw74-2"
36164
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
36165
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
36166
- displayName: "NPCDialog__NPCThumbnail",
36167
- componentId: "sc-1b4aw74-3"
36168
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
36169
-
36170
- var HistoryDialog = function HistoryDialog(_ref) {
36171
- var backgroundImgPath = _ref.backgroundImgPath,
36172
- fullCoverBackground = _ref.fullCoverBackground,
36173
- questions = _ref.questions,
36174
- answers = _ref.answers,
36175
- text = _ref.text,
36176
- imagePath = _ref.imagePath,
36177
- textAndTypeArray = _ref.textAndTypeArray,
36178
- onClose = _ref.onClose;
36179
- var _useState = useState(0),
36180
- img = _useState[0],
36181
- setImage = _useState[1];
36182
- var onHandleSpacePress = function onHandleSpacePress(event) {
36183
- if (event.code === 'Space') {
36184
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
36185
- setImage(function (prev) {
36186
- return prev + 1;
36187
- });
36188
- } else {
36189
- // if there's no more text chunks, close the dialog
36190
- onClose();
36191
- }
36192
- }
36193
- };
36194
- useEffect(function () {
36195
- document.addEventListener('keydown', onHandleSpacePress);
36196
- return function () {
36197
- return document.removeEventListener('keydown', onHandleSpacePress);
36198
- };
36199
- }, [backgroundImgPath]);
36200
- return React.createElement(BackgroundContainer, {
36201
- imgPath: backgroundImgPath[img],
36202
- fullImg: fullCoverBackground
36203
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
36204
- textAndTypeArray: textAndTypeArray,
36205
- onClose: onClose
36206
- }) : questions && answers ? React.createElement(QuestionDialog, {
36207
- questions: questions,
36208
- answers: answers,
36209
- onClose: onClose
36210
- }) : text && imagePath ? React.createElement(NPCDialog, {
36211
- text: text,
36212
- imagePath: imagePath,
36213
- onClose: onClose,
36214
- type: NPCDialogType.TextAndThumbnail
36215
- }) : React.createElement(NPCDialog, {
36216
- text: text,
36217
- onClose: onClose,
36218
- type: NPCDialogType.TextOnly
36219
- })));
36220
- };
36221
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
36222
- displayName: "HistoryDialog__BackgroundContainer",
36223
- componentId: "sc-u6oe75-0"
36224
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
36225
- return props.imgPath;
36226
- }, function (props) {
36227
- return props.imgPath ? 'cover' : 'auto';
36228
- });
36229
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
36230
- displayName: "HistoryDialog__DialogContainer",
36231
- componentId: "sc-u6oe75-1"
36232
- })(["display:flex;justify-content:center;padding-top:200px;"]);
36233
-
36234
- export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, useEventListener };
36054
+ export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, QuickSpells, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SkillProgressBar, SkillsContainer, SpellShortcut, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, useEventListener };
36235
36055
  //# sourceMappingURL=long-bow.esm.js.map