@rpg-engine/long-bow 0.3.53 → 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 -914
  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 -917
  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 -502
  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
@@ -73,7 +73,7 @@ var uiFonts = {
73
73
  }
74
74
  };
75
75
 
76
- var _excluded = ["disabled", "children", "buttonType", "onClick"];
76
+ var _excluded = ["disabled", "children", "buttonType", "onPointerDown"];
77
77
  (function (ButtonTypes) {
78
78
  ButtonTypes["RPGUIButton"] = "rpgui-button";
79
79
  ButtonTypes["RPGUIGoldButton"] = "rpgui-button golden";
@@ -83,14 +83,13 @@ var Button = function Button(_ref) {
83
83
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
84
84
  children = _ref.children,
85
85
  buttonType = _ref.buttonType,
86
- onClick = _ref.onClick,
86
+ onPointerDown = _ref.onPointerDown,
87
87
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
88
88
  return React__default.createElement(ButtonContainer, Object.assign({
89
89
  className: "" + buttonType,
90
90
  disabled: disabled
91
91
  }, props, {
92
- onTouchStart: onClick,
93
- onClick: onClick
92
+ onPointerDown: onPointerDown
94
93
  }), React__default.createElement("p", null, children));
95
94
  };
96
95
  var ButtonContainer = /*#__PURE__*/styled.button.withConfig({
@@ -109,7 +108,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
109
108
  _ref$imgScale = _ref.imgScale,
110
109
  imgScale = _ref$imgScale === void 0 ? 2 : _ref$imgScale,
111
110
  imgStyle = _ref.imgStyle,
112
- onClick = _ref.onClick,
111
+ onPointerDown = _ref.onPointerDown,
113
112
  containerStyle = _ref.containerStyle,
114
113
  _ref$grayScale = _ref.grayScale,
115
114
  grayScale = _ref$grayScale === void 0 ? false : _ref$grayScale,
@@ -123,7 +122,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
123
122
  width: width,
124
123
  height: height,
125
124
  hasHover: grayScale,
126
- onClick: onClick,
125
+ onPointerDown: onPointerDown,
127
126
  style: containerStyle
128
127
  }, React__default.createElement(ImgSprite, {
129
128
  className: "sprite-from-atlas-img",
@@ -32523,22 +32522,22 @@ var img$4 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0A
32523
32522
 
32524
32523
  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';
32525
32524
 
32526
- var _excluded$1 = ["direction", "size", "onClick"];
32525
+ var _excluded$1 = ["direction", "size", "onPointerDown"];
32527
32526
  var SelectArrow = function SelectArrow(_ref) {
32528
32527
  var _ref$direction = _ref.direction,
32529
32528
  direction = _ref$direction === void 0 ? 'left' : _ref$direction,
32530
32529
  size = _ref.size,
32531
- _onClick = _ref.onClick,
32530
+ _onPointerDown = _ref.onPointerDown,
32532
32531
  props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
32533
32532
  return React__default.createElement(React__default.Fragment, null, direction === 'left' ? React__default.createElement(LeftArrow, Object.assign({
32534
32533
  size: size,
32535
- onClick: function onClick() {
32536
- return _onClick();
32534
+ onPointerDown: function onPointerDown() {
32535
+ return _onPointerDown();
32537
32536
  }
32538
32537
  }, props)) : React__default.createElement(RightArrow, Object.assign({
32539
32538
  size: size,
32540
- onClick: function onClick() {
32541
- return _onClick();
32539
+ onPointerDown: function onPointerDown() {
32540
+ return _onPointerDown();
32542
32541
  }
32543
32542
  }, props)));
32544
32543
  };
@@ -32624,12 +32623,10 @@ var PropertySelect = function PropertySelect(_ref) {
32624
32623
  className: "rpgui-progress-track"
32625
32624
  }), React__default.createElement(SelectArrow, {
32626
32625
  direction: "left",
32627
- onClick: onLeftClick,
32628
- onTouchStart: onLeftClick
32626
+ onPointerDown: onLeftClick
32629
32627
  }), React__default.createElement(SelectArrow, {
32630
32628
  direction: "right",
32631
- onClick: onRightClick,
32632
- onTouchStart: onRightClick
32629
+ onPointerDown: onRightClick
32633
32630
  }));
32634
32631
  };
32635
32632
  var Item = /*#__PURE__*/styled.span.withConfig({
@@ -32790,7 +32787,7 @@ var Chat = function Chat(_ref) {
32790
32787
  autoComplete: "off",
32791
32788
  onFocus: onFocus,
32792
32789
  onBlur: onBlur,
32793
- onTouchStart: onFocus,
32790
+ onPointerDown: onFocus,
32794
32791
  autoFocus: true
32795
32792
  })), React__default.createElement(Column, {
32796
32793
  justifyContent: "flex-end"
@@ -32961,8 +32958,7 @@ var ChatDeprecated = function ChatDeprecated(_ref) {
32961
32958
  }, React__default.createElement(reactErrorBoundary.ErrorBoundary, {
32962
32959
  fallback: React__default.createElement("p", null, "Oops! Your chat has crashed.")
32963
32960
  }, onCloseButton && React__default.createElement(CloseButton, {
32964
- onClick: onCloseButton,
32965
- onTouchStart: onCloseButton
32961
+ onPointerDown: onCloseButton
32966
32962
  }, "X"), React__default.createElement(RPGUIContainer, {
32967
32963
  type: exports.RPGUIContainerTypes.FramedGrey,
32968
32964
  width: '100%',
@@ -33051,27 +33047,69 @@ var CheckButton = function CheckButton(_ref) {
33051
33047
  checked: selectedValues[element.label],
33052
33048
  onChange: function onChange() {}
33053
33049
  }), React__default.createElement("label", {
33054
- onClick: function onClick() {
33050
+ onPointerDown: function onPointerDown() {
33055
33051
  return handleClick(element.label);
33056
33052
  }
33057
33053
  }, element.label), React__default.createElement("br", null));
33058
33054
  }));
33059
33055
  };
33060
33056
 
33061
- var SingleShortcut = /*#__PURE__*/styled.button.withConfig({
33062
- displayName: "SingleShortcut",
33063
- componentId: "sc-vz5ev8-0"
33064
- })(["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);
33057
+ var QuickSpells = function QuickSpells(_ref) {
33058
+ var quickSpells = _ref.quickSpells,
33059
+ onSpellCast = _ref.onSpellCast,
33060
+ mana = _ref.mana,
33061
+ _ref$isBlockedCasting = _ref.isBlockedCastingByKeyboard,
33062
+ isBlockedCastingByKeyboard = _ref$isBlockedCasting === void 0 ? false : _ref$isBlockedCasting;
33063
+ React.useEffect(function () {
33064
+ var handleKeyDown = function handleKeyDown(e) {
33065
+ if (isBlockedCastingByKeyboard) return;
33066
+ var shortcutIndex = Number(e.key) - 1;
33067
+ if (shortcutIndex >= 0 && shortcutIndex <= 3) {
33068
+ var shortcut = quickSpells[shortcutIndex];
33069
+ if (shortcut != null && shortcut.key && mana >= (shortcut == null ? void 0 : shortcut.manaCost)) {
33070
+ onSpellCast(shortcut.key);
33071
+ }
33072
+ }
33073
+ };
33074
+ window.addEventListener('keydown', handleKeyDown);
33075
+ return function () {
33076
+ window.removeEventListener('keydown', handleKeyDown);
33077
+ };
33078
+ }, [quickSpells, isBlockedCastingByKeyboard]);
33079
+ return React__default.createElement(List, null, Array.from({
33080
+ length: 4
33081
+ }).map(function (_, i) {
33082
+ var _quickSpells$i, _quickSpells$i2, _quickSpells$i3, _quickSpells$i4, _quickSpells$i5;
33083
+ return React__default.createElement(SpellShortcut, {
33084
+ key: i,
33085
+ onPointerDown: onSpellCast.bind(null, (_quickSpells$i = quickSpells[i]) == null ? void 0 : _quickSpells$i.key),
33086
+ disabled: mana < ((_quickSpells$i2 = quickSpells[i]) == null ? void 0 : _quickSpells$i2.manaCost)
33087
+ }, React__default.createElement("span", {
33088
+ className: "mana"
33089
+ }, ((_quickSpells$i3 = quickSpells[i]) == null ? void 0 : _quickSpells$i3.key) && ((_quickSpells$i4 = quickSpells[i]) == null ? void 0 : _quickSpells$i4.manaCost)), React__default.createElement("span", {
33090
+ className: "magicWords"
33091
+ }, (_quickSpells$i5 = quickSpells[i]) == null ? void 0 : _quickSpells$i5.magicWords.split(' ').map(function (word) {
33092
+ return word[0];
33093
+ })), React__default.createElement("span", {
33094
+ className: "keyboard"
33095
+ }, i + 1));
33096
+ }));
33097
+ };
33098
+ var SpellShortcut = /*#__PURE__*/styled.button.withConfig({
33099
+ displayName: "QuickSpells__SpellShortcut",
33100
+ componentId: "sc-41yq7s-0"
33101
+ })(["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);
33102
+ var List = /*#__PURE__*/styled.p.withConfig({
33103
+ displayName: "QuickSpells__List",
33104
+ componentId: "sc-41yq7s-1"
33105
+ })(["width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;box-sizing:border-box;margin:0 !important;"]);
33065
33106
 
33066
33107
  var CircularController = function CircularController(_ref) {
33067
- var onActionClick = _ref.onActionClick,
33108
+ var onActionPointerDown = _ref.onActionPointerDown,
33068
33109
  onCancelClick = _ref.onCancelClick,
33069
- onShortcutClick = _ref.onShortcutClick,
33110
+ onSpellClick = _ref.onSpellClick,
33070
33111
  mana = _ref.mana,
33071
- shortcuts = _ref.shortcuts,
33072
- inventory = _ref.inventory,
33073
- atlasIMG = _ref.atlasIMG,
33074
- atlasJSON = _ref.atlasJSON;
33112
+ spells = _ref.spells;
33075
33113
  var onTouchStart = function onTouchStart(e) {
33076
33114
  var target = e.target;
33077
33115
  target == null ? void 0 : target.classList.add('active');
@@ -33083,73 +33121,28 @@ var CircularController = function CircularController(_ref) {
33083
33121
  }, 100);
33084
33122
  action();
33085
33123
  };
33086
- var renderShortcut = function renderShortcut(i) {
33087
- var _shortcuts$i, _shortcuts$i2, _shortcuts$i4, _payload$manaCost;
33088
- var variant = '';
33089
- if (i === 0) variant = 'top';else if (i >= 3) variant = "bottom-" + (i - 3);
33090
- var onShortcutClickBinded = ((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) !== shared.ShortcutType.None ? onShortcutClick.bind(null, i) : function () {};
33091
- if (((_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.type) === shared.ShortcutType.Item) {
33092
- var _shortcuts$i3;
33093
- var _payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
33094
- var itemsFromEquipment = [];
33095
- if (inventory) {
33096
- Object.keys(inventory.slots).forEach(function (i) {
33097
- var _inventory$slots$inde;
33098
- var index = parseInt(i);
33099
- if (((_inventory$slots$inde = inventory.slots[index]) == null ? void 0 : _inventory$slots$inde.key) === (_payload == null ? void 0 : _payload.key)) {
33100
- itemsFromEquipment.push(inventory.slots[index]);
33101
- }
33102
- });
33103
- }
33104
- var totalQty = itemsFromEquipment.reduce(function (acc, item) {
33105
- return acc + ((item == null ? void 0 : item.stackQty) || 1);
33106
- }, 0);
33107
- return React__default.createElement(StyledShortcut, {
33108
- key: i,
33109
- onTouchStart: onTouchStart,
33110
- onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
33111
- disabled: false,
33112
- className: variant
33113
- }, _payload && React__default.createElement(SpriteFromAtlas, {
33114
- atlasIMG: atlasIMG,
33115
- atlasJSON: atlasJSON,
33116
- spriteKey: shared.getItemTextureKeyPath({
33117
- key: _payload.texturePath,
33118
- texturePath: _payload.texturePath,
33119
- stackQty: _payload.stackQty || 1
33120
- }, atlasJSON),
33121
- width: 32,
33122
- height: 32,
33123
- imgScale: 1.4,
33124
- imgStyle: {
33125
- left: '4px'
33126
- }
33127
- }), React__default.createElement("span", {
33128
- className: "qty"
33129
- }, totalQty));
33130
- }
33131
- var payload = (_shortcuts$i4 = shortcuts[i]) == null ? void 0 : _shortcuts$i4.payload;
33124
+ return React__default.createElement(ButtonsContainer, null, React__default.createElement(SpellsContainer, null, Array.from({
33125
+ length: 4
33126
+ }).map(function (_, i) {
33127
+ var variant = i === 0 ? 'top' : i === 3 ? 'bottom' : '';
33128
+ var spell = spells[i];
33129
+ var onSpellClickBinded = spell ? onSpellClick.bind(null, spell.key) : function () {};
33132
33130
  return React__default.createElement(StyledShortcut, {
33133
33131
  key: i,
33132
+ disabled: mana < (spell == null ? void 0 : spell.manaCost),
33134
33133
  onTouchStart: onTouchStart,
33135
- onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
33136
- disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0),
33134
+ onTouchEnd: onTouchEnd.bind(null, onSpellClickBinded),
33137
33135
  className: variant
33138
33136
  }, React__default.createElement("span", {
33139
33137
  className: "mana"
33140
- }, payload && payload.manaCost), React__default.createElement("span", {
33138
+ }, (spell == null ? void 0 : spell.key) && (spell == null ? void 0 : spell.manaCost)), React__default.createElement("span", {
33141
33139
  className: "magicWords"
33142
- }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
33140
+ }, spell == null ? void 0 : spell.magicWords.split(' ').map(function (word) {
33143
33141
  return word[0];
33144
33142
  })));
33145
- };
33146
- return React__default.createElement(ButtonsContainer, null, React__default.createElement(ShortcutsContainer, null, Array.from({
33147
- length: 6
33148
- }).map(function (_, i) {
33149
- return renderShortcut(i);
33150
33143
  })), React__default.createElement(Button$2, {
33151
33144
  onTouchStart: onTouchStart,
33152
- onTouchEnd: onTouchEnd.bind(null, onActionClick)
33145
+ onTouchEnd: onTouchEnd.bind(null, onActionPointerDown)
33153
33146
  }, React__default.createElement("div", {
33154
33147
  className: "rpgui-icon sword"
33155
33148
  })), React__default.createElement(CancelButton, {
@@ -33160,7 +33153,7 @@ var CircularController = function CircularController(_ref) {
33160
33153
  var Button$2 = /*#__PURE__*/styled.button.withConfig({
33161
33154
  displayName: "CircularController__Button",
33162
33155
  componentId: "sc-1fewf3h-0"
33163
- })(["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);
33156
+ })(["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);
33164
33157
  var CancelButton = /*#__PURE__*/styled(Button$2).withConfig({
33165
33158
  displayName: "CircularController__CancelButton",
33166
33159
  componentId: "sc-1fewf3h-1"
@@ -33169,14 +33162,14 @@ var ButtonsContainer = /*#__PURE__*/styled.div.withConfig({
33169
33162
  displayName: "CircularController__ButtonsContainer",
33170
33163
  componentId: "sc-1fewf3h-2"
33171
33164
  })(["display:flex;align-items:center;justify-content:center;gap:0.5rem;"]);
33172
- var ShortcutsContainer = /*#__PURE__*/styled.div.withConfig({
33173
- displayName: "CircularController__ShortcutsContainer",
33165
+ var SpellsContainer = /*#__PURE__*/styled.div.withConfig({
33166
+ displayName: "CircularController__SpellsContainer",
33174
33167
  componentId: "sc-1fewf3h-3"
33175
- })(["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%));}"]);
33176
- var StyledShortcut = /*#__PURE__*/styled(SingleShortcut).withConfig({
33168
+ })(["display:flex;align-items:center;justify-content:center;gap:0.4rem;flex-direction:column;.top{transform:translate(93%,25%);}.bottom{transform:translate(93%,-25%);}"]);
33169
+ var StyledShortcut = /*#__PURE__*/styled(SpellShortcut).withConfig({
33177
33170
  displayName: "CircularController__StyledShortcut",
33178
33171
  componentId: "sc-1fewf3h-4"
33179
- })(["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);
33172
+ })(["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);
33180
33173
 
33181
33174
  function useOutsideClick(ref, id) {
33182
33175
  React.useEffect(function () {
@@ -33261,8 +33254,7 @@ var DraggableContainer = function DraggableContainer(_ref) {
33261
33254
  width: imgWidth
33262
33255
  }), title)), onCloseButton && React__default.createElement(CloseButton$1, {
33263
33256
  className: "container-close",
33264
- onClick: onCloseButton,
33265
- onTouchStart: onCloseButton
33257
+ onPointerDown: onCloseButton
33266
33258
  }, "X"), children));
33267
33259
  };
33268
33260
  var Container$6 = /*#__PURE__*/styled.div.withConfig({
@@ -33327,12 +33319,7 @@ var Dropdown = function Dropdown(_ref) {
33327
33319
  }, React__default.createElement(DropdownSelect, {
33328
33320
  id: "dropdown-" + dropdownId,
33329
33321
  className: "rpgui-dropdown-imp rpgui-dropdown-imp-header",
33330
- onClick: function onClick() {
33331
- return setOpened(function (prev) {
33332
- return !prev;
33333
- });
33334
- },
33335
- onTouchStart: function onTouchStart() {
33322
+ onPointerDown: function onPointerDown() {
33336
33323
  return setOpened(function (prev) {
33337
33324
  return !prev;
33338
33325
  });
@@ -33343,12 +33330,7 @@ var Dropdown = function Dropdown(_ref) {
33343
33330
  }, options.map(function (option) {
33344
33331
  return React__default.createElement("li", {
33345
33332
  key: option.id,
33346
- onClick: function onClick() {
33347
- setSelectedValue(option.value);
33348
- setSelectedOption(option.option);
33349
- setOpened(false);
33350
- },
33351
- onTouchStart: function onTouchStart() {
33333
+ onPointerDown: function onPointerDown() {
33352
33334
  setSelectedValue(option.value);
33353
33335
  setSelectedOption(option.option);
33354
33336
  setOpened(false);
@@ -33454,10 +33436,7 @@ var CraftBook = function CraftBook(_ref) {
33454
33436
  imgScale: 3,
33455
33437
  grayScale: !option.canCraft
33456
33438
  })), React__default.createElement("div", null, React__default.createElement("div", {
33457
- onClick: function onClick() {
33458
- return handleClick(option.key);
33459
- },
33460
- onTouchStart: function onTouchStart() {
33439
+ onPointerDown: function onPointerDown() {
33461
33440
  return handleClick(option.key);
33462
33441
  }
33463
33442
  }, React__default.createElement("input", {
@@ -33471,15 +33450,9 @@ var CraftBook = function CraftBook(_ref) {
33471
33450
  return handleClick(option.key);
33472
33451
  }
33473
33452
  }), React__default.createElement("label", {
33474
- onClick: function onClick() {
33453
+ onPointerDown: function onPointerDown() {
33475
33454
  handleClick(option.key);
33476
33455
  },
33477
- onTouchStart: function onTouchStart() {
33478
- setIsShown({
33479
- show: true,
33480
- index: index
33481
- });
33482
- },
33483
33456
  style: {
33484
33457
  display: 'flex',
33485
33458
  alignItems: 'center'
@@ -33508,14 +33481,10 @@ var CraftBook = function CraftBook(_ref) {
33508
33481
  })));
33509
33482
  })), React__default.createElement(ButtonWrapper, null, React__default.createElement(Button, {
33510
33483
  buttonType: exports.ButtonTypes.RPGUIButton,
33511
- onClick: onClose,
33512
- onTouchStart: onClose
33484
+ onPointerDown: onClose
33513
33485
  }, "Cancel"), React__default.createElement(Button, {
33514
33486
  buttonType: exports.ButtonTypes.RPGUIButton,
33515
- onClick: function onClick() {
33516
- return onCraftItem(craftItem);
33517
- },
33518
- onTouchStart: function onTouchStart() {
33487
+ onPointerDown: function onPointerDown() {
33519
33488
  return onCraftItem(craftItem);
33520
33489
  }
33521
33490
  }, "Craft")));
@@ -33606,7 +33575,7 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
33606
33575
  }, options.map(function (params, index) {
33607
33576
  return React__default.createElement(ListElement, {
33608
33577
  key: (params == null ? void 0 : params.id) || index,
33609
- onClick: function onClick() {
33578
+ onPointerDown: function onPointerDown() {
33610
33579
  onSelected(params == null ? void 0 : params.id);
33611
33580
  }
33612
33581
  }, (params == null ? void 0 : params.text) || 'No text');
@@ -33752,7 +33721,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33752
33721
  slotSpriteMask = _ref.slotSpriteMask,
33753
33722
  _onMouseOver = _ref.onMouseOver,
33754
33723
  _onMouseOut = _ref.onMouseOut,
33755
- onClick = _ref.onClick,
33724
+ onPointerDown = _ref.onPointerDown,
33756
33725
  _onSelected = _ref.onSelected,
33757
33726
  atlasJSON = _ref.atlasJSON,
33758
33727
  atlasIMG = _ref.atlasIMG,
@@ -33765,8 +33734,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33765
33734
  checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
33766
33735
  openQuantitySelector = _ref.openQuantitySelector,
33767
33736
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
33768
- dragScale = _ref.dragScale,
33769
- isSelectingShortcut = _ref.isSelectingShortcut;
33737
+ dragScale = _ref.dragScale;
33770
33738
  var _useState = React.useState(false),
33771
33739
  isTooltipVisible = _useState[0],
33772
33740
  setTooltipVisible = _useState[1];
@@ -33799,7 +33767,6 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33799
33767
  });
33800
33768
  setIsFocused(false);
33801
33769
  if (item) {
33802
- console.log(item);
33803
33770
  setContextActions(generateContextMenu(item, containerType));
33804
33771
  }
33805
33772
  }, [item]);
@@ -33931,14 +33898,12 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33931
33898
  bubbles: true
33932
33899
  });
33933
33900
  (_document$elementFrom = document.elementFromPoint(clientX, clientY)) == null ? void 0 : _document$elementFrom.dispatchEvent(simulatedEvent);
33934
- },
33935
- isSelectingShortcut: isSelectingShortcut && ((item == null ? void 0 : item.type) === shared.ItemType.Consumable || (item == null ? void 0 : item.type) === shared.ItemType.Tool)
33901
+ }
33936
33902
  }, React__default.createElement(Draggable, {
33937
- axis: isSelectingShortcut ? 'none' : 'both',
33938
33903
  defaultClassName: item ? 'draggable' : 'empty-slot',
33939
33904
  scale: dragScale,
33940
33905
  onStop: function onStop(e, data) {
33941
- if (wasDragged && item && !isSelectingShortcut) {
33906
+ if (wasDragged && item) {
33942
33907
  var _e$target;
33943
33908
  //@ts-ignore
33944
33909
  var classes = Array.from((_e$target = e.target) == null ? void 0 : _e$target.classList);
@@ -33976,12 +33941,12 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33976
33941
  }
33977
33942
  }, 100);
33978
33943
  } else if (item) {
33979
- if (!isContextMenuDisabled && !isSelectingShortcut) setIsContextMenuVisible(!isContextMenuVisible);
33980
- onClick(item.type, containerType, item);
33944
+ if (!isContextMenuDisabled) setIsContextMenuVisible(!isContextMenuVisible);
33945
+ onPointerDown(item.type, containerType, item);
33981
33946
  }
33982
33947
  },
33983
33948
  onStart: function onStart() {
33984
- if (!item || isSelectingShortcut) {
33949
+ if (!item) {
33985
33950
  return;
33986
33951
  }
33987
33952
  if (onDragStart) {
@@ -34043,7 +34008,7 @@ var rarityColor = function rarityColor(item) {
34043
34008
  var Container$a = /*#__PURE__*/styled.div.withConfig({
34044
34009
  displayName: "ItemSlot__Container",
34045
34010
  componentId: "sc-l2j5ef-0"
34046
- })(["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) {
34011
+ })(["margin:0.1rem;.sprite-from-atlas-img{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}position:relative;"], function (_ref2) {
34047
34012
  var item = _ref2.item;
34048
34013
  return rarityColor(item);
34049
34014
  }, function (_ref3) {
@@ -34052,9 +34017,6 @@ var Container$a = /*#__PURE__*/styled.div.withConfig({
34052
34017
  }, function (_ref4) {
34053
34018
  var item = _ref4.item;
34054
34019
  return "0 0 4px 3px " + rarityColor(item);
34055
- }, function (_ref5) {
34056
- var isSelectingShortcut = _ref5.isSelectingShortcut;
34057
- return isSelectingShortcut ? 'bg-color-change 1s infinite' : 'none';
34058
34020
  });
34059
34021
  var ItemContainer = /*#__PURE__*/styled.div.withConfig({
34060
34022
  displayName: "ItemSlot__ItemContainer",
@@ -34115,7 +34077,7 @@ var EquipmentSet = function EquipmentSet(_ref) {
34115
34077
  onMouseOver: function onMouseOver(event, slotIndex, item) {
34116
34078
  if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34117
34079
  },
34118
- onClick: function onClick(itemType, ContainerType) {
34080
+ onPointerDown: function onPointerDown(itemType, ContainerType) {
34119
34081
  if (onItemClick) onItemClick(itemType, item, ContainerType);
34120
34082
  },
34121
34083
  onSelected: function onSelected(optionId) {
@@ -34165,6 +34127,544 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34165
34127
  componentId: "sc-1wuddg2-1"
34166
34128
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34167
34129
 
34130
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
34131
+
34132
+ var chunkString = function chunkString(str, length) {
34133
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
34134
+ };
34135
+
34136
+ var DynamicText = function DynamicText(_ref) {
34137
+ var text = _ref.text,
34138
+ onFinish = _ref.onFinish,
34139
+ onStart = _ref.onStart;
34140
+ var _useState = React.useState(''),
34141
+ textState = _useState[0],
34142
+ setTextState = _useState[1];
34143
+ React.useEffect(function () {
34144
+ var i = 0;
34145
+ var interval = setInterval(function () {
34146
+ // on every interval, show one more character
34147
+ if (i === 0) {
34148
+ if (onStart) {
34149
+ onStart();
34150
+ }
34151
+ }
34152
+ if (i < text.length) {
34153
+ setTextState(text.substring(0, i + 1));
34154
+ i++;
34155
+ } else {
34156
+ clearInterval(interval);
34157
+ if (onFinish) {
34158
+ onFinish();
34159
+ }
34160
+ }
34161
+ }, 50);
34162
+ return function () {
34163
+ clearInterval(interval);
34164
+ };
34165
+ }, [text]);
34166
+ return React__default.createElement(TextContainer, null, textState);
34167
+ };
34168
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
34169
+ displayName: "DynamicText__TextContainer",
34170
+ componentId: "sc-1ggl9nd-0"
34171
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34172
+
34173
+ var img$6 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
34174
+
34175
+ 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';
34176
+
34177
+ var NPCDialogText = function NPCDialogText(_ref) {
34178
+ var text = _ref.text,
34179
+ onClose = _ref.onClose,
34180
+ onEndStep = _ref.onEndStep,
34181
+ onStartStep = _ref.onStartStep,
34182
+ type = _ref.type;
34183
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
34184
+ function maxCharacters(width) {
34185
+ // Set the font size to 16 pixels
34186
+ var fontSize = 11.2;
34187
+ // Calculate the number of characters that can fit in one line
34188
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
34189
+ // Calculate the number of lines that can fit in the div
34190
+ var linesPerDiv = Math.floor(180 / fontSize);
34191
+ // Calculate the maximum number of characters that can fit in the div
34192
+ var maxCharacters = charactersPerLine * linesPerDiv;
34193
+ // Return the maximum number of characters
34194
+ return Math.round(maxCharacters / 5);
34195
+ }
34196
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
34197
+ var _useState = React.useState(0),
34198
+ chunkIndex = _useState[0],
34199
+ setChunkIndex = _useState[1];
34200
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34201
+ if (event.code === 'Space') {
34202
+ goToNextStep();
34203
+ }
34204
+ };
34205
+ var goToNextStep = function goToNextStep() {
34206
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
34207
+ if (hasNextChunk) {
34208
+ setChunkIndex(function (prev) {
34209
+ return prev + 1;
34210
+ });
34211
+ } else {
34212
+ // if there's no more text chunks, close the dialog
34213
+ onClose();
34214
+ }
34215
+ };
34216
+ React.useEffect(function () {
34217
+ document.addEventListener('keydown', onHandleSpacePress);
34218
+ return function () {
34219
+ return document.removeEventListener('keydown', onHandleSpacePress);
34220
+ };
34221
+ }, [chunkIndex]);
34222
+ var _useState2 = React.useState(false),
34223
+ showGoNextIndicator = _useState2[0],
34224
+ setShowGoNextIndicator = _useState2[1];
34225
+ return React__default.createElement(Container$b, null, React__default.createElement(DynamicText, {
34226
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
34227
+ onFinish: function onFinish() {
34228
+ setShowGoNextIndicator(true);
34229
+ onEndStep && onEndStep();
34230
+ },
34231
+ onStart: function onStart() {
34232
+ setShowGoNextIndicator(false);
34233
+ onStartStep && onStartStep();
34234
+ }
34235
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
34236
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
34237
+ src: IS_MOBILE_OR_TABLET ? img$6 : img$7,
34238
+ onPointerDown: function onPointerDown() {
34239
+ goToNextStep();
34240
+ }
34241
+ }));
34242
+ };
34243
+ var Container$b = /*#__PURE__*/styled.div.withConfig({
34244
+ displayName: "NPCDialogText__Container",
34245
+ componentId: "sc-1cxkdh9-0"
34246
+ })([""]);
34247
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34248
+ displayName: "NPCDialogText__PressSpaceIndicator",
34249
+ componentId: "sc-1cxkdh9-1"
34250
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
34251
+ var right = _ref2.right;
34252
+ return right;
34253
+ });
34254
+
34255
+ //@ts-ignore
34256
+ var useEventListener = function useEventListener(type, handler, el) {
34257
+ if (el === void 0) {
34258
+ el = window;
34259
+ }
34260
+ var savedHandler = React__default.useRef();
34261
+ React__default.useEffect(function () {
34262
+ savedHandler.current = handler;
34263
+ }, [handler]);
34264
+ React__default.useEffect(function () {
34265
+ //@ts-ignore
34266
+ var listener = function listener(e) {
34267
+ return savedHandler.current(e);
34268
+ };
34269
+ el.addEventListener(type, listener);
34270
+ return function () {
34271
+ el.removeEventListener(type, listener);
34272
+ };
34273
+ }, [type, el]);
34274
+ };
34275
+
34276
+ var QuestionDialog = function QuestionDialog(_ref) {
34277
+ var questions = _ref.questions,
34278
+ answers = _ref.answers,
34279
+ onClose = _ref.onClose;
34280
+ var _useState = React.useState(questions[0]),
34281
+ currentQuestion = _useState[0],
34282
+ setCurrentQuestion = _useState[1];
34283
+ var _useState2 = React.useState(false),
34284
+ canShowAnswers = _useState2[0],
34285
+ setCanShowAnswers = _useState2[1];
34286
+ var onGetFirstAnswer = function onGetFirstAnswer() {
34287
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34288
+ return null;
34289
+ }
34290
+ var firstAnswerId = currentQuestion.answerIds[0];
34291
+ return answers.find(function (answer) {
34292
+ return answer.id === firstAnswerId;
34293
+ });
34294
+ };
34295
+ var _useState3 = React.useState(onGetFirstAnswer()),
34296
+ currentAnswer = _useState3[0],
34297
+ setCurrentAnswer = _useState3[1];
34298
+ React.useEffect(function () {
34299
+ setCurrentAnswer(onGetFirstAnswer());
34300
+ }, [currentQuestion]);
34301
+ var onGetAnswers = function onGetAnswers(answerIds) {
34302
+ return answerIds.map(function (answerId) {
34303
+ return answers.find(function (answer) {
34304
+ return answer.id === answerId;
34305
+ });
34306
+ });
34307
+ };
34308
+ var onKeyPress = function onKeyPress(e) {
34309
+ switch (e.key) {
34310
+ case 'ArrowDown':
34311
+ // select next answer, if any.
34312
+ // if no next answer, select first answer
34313
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34314
+ // (answer) => answer?.id === currentAnswer!.id + 1
34315
+ // );
34316
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34317
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34318
+ });
34319
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34320
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34321
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
34322
+ });
34323
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34324
+ break;
34325
+ case 'ArrowUp':
34326
+ // select previous answer, if any.
34327
+ // if no previous answer, select last answer
34328
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34329
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34330
+ });
34331
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34332
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34333
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
34334
+ });
34335
+ if (previousAnswer) {
34336
+ setCurrentAnswer(previousAnswer);
34337
+ } else {
34338
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34339
+ }
34340
+ break;
34341
+ case 'Enter':
34342
+ setCanShowAnswers(false);
34343
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34344
+ onClose();
34345
+ return;
34346
+ } else {
34347
+ setCurrentQuestion(questions.find(function (question) {
34348
+ return question.id === currentAnswer.nextQuestionId;
34349
+ }));
34350
+ }
34351
+ break;
34352
+ }
34353
+ };
34354
+ useEventListener('keydown', onKeyPress);
34355
+ var onAnswerClick = function onAnswerClick(answer) {
34356
+ setCanShowAnswers(false);
34357
+ if (answer.nextQuestionId) {
34358
+ // if there is a next question, go to it
34359
+ setCurrentQuestion(questions.find(function (question) {
34360
+ return question.id === answer.nextQuestionId;
34361
+ }));
34362
+ } else {
34363
+ // else, finish dialog!
34364
+ onClose();
34365
+ }
34366
+ };
34367
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34368
+ var answerIds = currentQuestion.answerIds;
34369
+ if (!answerIds) {
34370
+ return null;
34371
+ }
34372
+ var answers = onGetAnswers(answerIds);
34373
+ if (!answers) {
34374
+ return null;
34375
+ }
34376
+ return answers.map(function (answer) {
34377
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34378
+ var selectedColor = isSelected ? 'yellow' : 'white';
34379
+ if (answer) {
34380
+ return React__default.createElement(AnswerRow, {
34381
+ key: "answer_" + answer.id
34382
+ }, React__default.createElement(AnswerSelectedIcon, {
34383
+ color: selectedColor
34384
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
34385
+ key: answer.id,
34386
+ onPointerDown: function onPointerDown() {
34387
+ return onAnswerClick(answer);
34388
+ },
34389
+ color: selectedColor
34390
+ }, answer.text));
34391
+ }
34392
+ return null;
34393
+ });
34394
+ };
34395
+ return React__default.createElement(Container$c, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
34396
+ text: currentQuestion.text,
34397
+ onStart: function onStart() {
34398
+ return setCanShowAnswers(false);
34399
+ },
34400
+ onFinish: function onFinish() {
34401
+ return setCanShowAnswers(true);
34402
+ }
34403
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34404
+ };
34405
+ var Container$c = /*#__PURE__*/styled.div.withConfig({
34406
+ displayName: "QuestionDialog__Container",
34407
+ componentId: "sc-bxc5u0-0"
34408
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34409
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34410
+ displayName: "QuestionDialog__QuestionContainer",
34411
+ componentId: "sc-bxc5u0-1"
34412
+ })(["flex:100%;width:100%;"]);
34413
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34414
+ displayName: "QuestionDialog__AnswersContainer",
34415
+ componentId: "sc-bxc5u0-2"
34416
+ })(["flex:100%;"]);
34417
+ var Answer = /*#__PURE__*/styled.p.withConfig({
34418
+ displayName: "QuestionDialog__Answer",
34419
+ componentId: "sc-bxc5u0-3"
34420
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34421
+ return props.color;
34422
+ });
34423
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34424
+ displayName: "QuestionDialog__AnswerSelectedIcon",
34425
+ componentId: "sc-bxc5u0-4"
34426
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
34427
+ return props.color;
34428
+ });
34429
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34430
+ displayName: "QuestionDialog__AnswerRow",
34431
+ componentId: "sc-bxc5u0-5"
34432
+ })(["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;}"]);
34433
+
34434
+ var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34435
+
34436
+ (function (NPCDialogType) {
34437
+ NPCDialogType["TextOnly"] = "TextOnly";
34438
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
34439
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
34440
+ var NPCDialog = function NPCDialog(_ref) {
34441
+ var text = _ref.text,
34442
+ type = _ref.type,
34443
+ _onClose = _ref.onClose,
34444
+ imagePath = _ref.imagePath,
34445
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
34446
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
34447
+ questions = _ref.questions,
34448
+ answers = _ref.answers;
34449
+ return React__default.createElement(RPGUIContainer, {
34450
+ type: exports.RPGUIContainerTypes.FramedGold,
34451
+ width: isQuestionDialog ? '600px' : '80%',
34452
+ height: '180px'
34453
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
34454
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34455
+ }, React__default.createElement(QuestionDialog, {
34456
+ questions: questions,
34457
+ answers: answers,
34458
+ onClose: function onClose() {
34459
+ if (_onClose) {
34460
+ _onClose();
34461
+ }
34462
+ }
34463
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34464
+ src: imagePath || img$8
34465
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$d, null, React__default.createElement(TextContainer$1, {
34466
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34467
+ }, React__default.createElement(NPCDialogText, {
34468
+ type: type,
34469
+ text: text || 'No text provided.',
34470
+ onClose: function onClose() {
34471
+ if (_onClose) {
34472
+ _onClose();
34473
+ }
34474
+ }
34475
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34476
+ src: imagePath || img$8
34477
+ })))));
34478
+ };
34479
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34480
+ displayName: "NPCDialog__Container",
34481
+ componentId: "sc-1b4aw74-0"
34482
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34483
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
34484
+ displayName: "NPCDialog__TextContainer",
34485
+ componentId: "sc-1b4aw74-1"
34486
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34487
+ var flex = _ref2.flex;
34488
+ return flex;
34489
+ });
34490
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34491
+ displayName: "NPCDialog__ThumbnailContainer",
34492
+ componentId: "sc-1b4aw74-2"
34493
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34494
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34495
+ displayName: "NPCDialog__NPCThumbnail",
34496
+ componentId: "sc-1b4aw74-3"
34497
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34498
+
34499
+ (function (ImgSide) {
34500
+ ImgSide["right"] = "right";
34501
+ ImgSide["left"] = "left";
34502
+ })(exports.ImgSide || (exports.ImgSide = {}));
34503
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
34504
+ var _textAndTypeArray$sli;
34505
+ var _onClose = _ref.onClose,
34506
+ textAndTypeArray = _ref.textAndTypeArray;
34507
+ var _useState = React.useState(false),
34508
+ showGoNextIndicator = _useState[0],
34509
+ setShowGoNextIndicator = _useState[1];
34510
+ var _useState2 = React.useState(0),
34511
+ slide = _useState2[0],
34512
+ setSlide = _useState2[1];
34513
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34514
+ if (event.code === 'Space') {
34515
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34516
+ setSlide(function (prev) {
34517
+ return prev + 1;
34518
+ });
34519
+ } else {
34520
+ // if there's no more text chunks, close the dialog
34521
+ _onClose();
34522
+ }
34523
+ }
34524
+ };
34525
+ React.useEffect(function () {
34526
+ document.addEventListener('keydown', onHandleSpacePress);
34527
+ return function () {
34528
+ return document.removeEventListener('keydown', onHandleSpacePress);
34529
+ };
34530
+ }, [slide]);
34531
+ return React__default.createElement(RPGUIContainer, {
34532
+ type: exports.RPGUIContainerTypes.FramedGold,
34533
+ width: '50%',
34534
+ height: '180px'
34535
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$e, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
34536
+ flex: '70%'
34537
+ }, React__default.createElement(NPCDialogText, {
34538
+ onStartStep: function onStartStep() {
34539
+ return setShowGoNextIndicator(false);
34540
+ },
34541
+ onEndStep: function onEndStep() {
34542
+ return setShowGoNextIndicator(true);
34543
+ },
34544
+ text: textAndTypeArray[slide].text || 'No text provided.',
34545
+ onClose: function onClose() {
34546
+ if (_onClose) {
34547
+ _onClose();
34548
+ }
34549
+ }
34550
+ })), React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
34551
+ src: textAndTypeArray[slide].imagePath || img$8
34552
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
34553
+ right: '10.5rem',
34554
+ src: img$7
34555
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
34556
+ src: textAndTypeArray[slide].imagePath || img$8
34557
+ })), React__default.createElement(TextContainer$2, {
34558
+ flex: '70%'
34559
+ }, React__default.createElement(NPCDialogText, {
34560
+ onStartStep: function onStartStep() {
34561
+ return setShowGoNextIndicator(false);
34562
+ },
34563
+ onEndStep: function onEndStep() {
34564
+ return setShowGoNextIndicator(true);
34565
+ },
34566
+ text: textAndTypeArray[slide].text || 'No text provided.',
34567
+ onClose: function onClose() {
34568
+ if (_onClose) {
34569
+ _onClose();
34570
+ }
34571
+ }
34572
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
34573
+ right: '1rem',
34574
+ src: img$7
34575
+ }))), ")"));
34576
+ };
34577
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
34578
+ displayName: "NPCMultiDialog__Container",
34579
+ componentId: "sc-rvu5wg-0"
34580
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34581
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
34582
+ displayName: "NPCMultiDialog__TextContainer",
34583
+ componentId: "sc-rvu5wg-1"
34584
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34585
+ var flex = _ref2.flex;
34586
+ return flex;
34587
+ });
34588
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
34589
+ displayName: "NPCMultiDialog__ThumbnailContainer",
34590
+ componentId: "sc-rvu5wg-2"
34591
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34592
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
34593
+ displayName: "NPCMultiDialog__NPCThumbnail",
34594
+ componentId: "sc-rvu5wg-3"
34595
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34596
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
34597
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
34598
+ componentId: "sc-rvu5wg-4"
34599
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34600
+ var right = _ref3.right;
34601
+ return right;
34602
+ });
34603
+
34604
+ var HistoryDialog = function HistoryDialog(_ref) {
34605
+ var backgroundImgPath = _ref.backgroundImgPath,
34606
+ fullCoverBackground = _ref.fullCoverBackground,
34607
+ questions = _ref.questions,
34608
+ answers = _ref.answers,
34609
+ text = _ref.text,
34610
+ imagePath = _ref.imagePath,
34611
+ textAndTypeArray = _ref.textAndTypeArray,
34612
+ onClose = _ref.onClose;
34613
+ var _useState = React.useState(0),
34614
+ img = _useState[0],
34615
+ setImage = _useState[1];
34616
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34617
+ if (event.code === 'Space') {
34618
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
34619
+ setImage(function (prev) {
34620
+ return prev + 1;
34621
+ });
34622
+ } else {
34623
+ // if there's no more text chunks, close the dialog
34624
+ onClose();
34625
+ }
34626
+ }
34627
+ };
34628
+ React.useEffect(function () {
34629
+ document.addEventListener('keydown', onHandleSpacePress);
34630
+ return function () {
34631
+ return document.removeEventListener('keydown', onHandleSpacePress);
34632
+ };
34633
+ }, [backgroundImgPath]);
34634
+ return React__default.createElement(BackgroundContainer, {
34635
+ imgPath: backgroundImgPath[img],
34636
+ fullImg: fullCoverBackground
34637
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
34638
+ textAndTypeArray: textAndTypeArray,
34639
+ onClose: onClose
34640
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
34641
+ questions: questions,
34642
+ answers: answers,
34643
+ onClose: onClose
34644
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
34645
+ text: text,
34646
+ imagePath: imagePath,
34647
+ onClose: onClose,
34648
+ type: exports.NPCDialogType.TextAndThumbnail
34649
+ }) : React__default.createElement(NPCDialog, {
34650
+ text: text,
34651
+ onClose: onClose,
34652
+ type: exports.NPCDialogType.TextOnly
34653
+ })));
34654
+ };
34655
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
34656
+ displayName: "HistoryDialog__BackgroundContainer",
34657
+ componentId: "sc-u6oe75-0"
34658
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
34659
+ return props.imgPath;
34660
+ }, function (props) {
34661
+ return props.imgPath ? 'cover' : 'auto';
34662
+ });
34663
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
34664
+ displayName: "HistoryDialog__DialogContainer",
34665
+ componentId: "sc-u6oe75-1"
34666
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
34667
+
34168
34668
  var SlotsContainer = function SlotsContainer(_ref) {
34169
34669
  var children = _ref.children,
34170
34670
  title = _ref.title,
@@ -34180,8 +34680,8 @@ var SlotsContainer = function SlotsContainer(_ref) {
34180
34680
  onClose();
34181
34681
  }
34182
34682
  },
34183
- width: "400px",
34184
- cancelDrag: ".item-container-body, #shortcuts_list",
34683
+ width: "330px",
34684
+ cancelDrag: ".item-container-body",
34185
34685
  onPositionChange: function onPositionChange(_ref2) {
34186
34686
  var x = _ref2.x,
34187
34687
  y = _ref2.y;
@@ -34290,8 +34790,7 @@ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
34290
34790
  width: "25rem"
34291
34791
  }, React__default.createElement(CloseButton$2, {
34292
34792
  className: "container-close",
34293
- onClick: onClose,
34294
- onTouchStart: onClose
34793
+ onPointerDown: onClose
34295
34794
  }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
34296
34795
  style: {
34297
34796
  width: '100%'
@@ -34352,72 +34851,6 @@ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
34352
34851
  componentId: "sc-yfdtpn-3"
34353
34852
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
34354
34853
 
34355
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
34356
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
34357
- settingShortcutIndex = _ref.settingShortcutIndex,
34358
- shortcuts = _ref.shortcuts,
34359
- removeShortcut = _ref.removeShortcut,
34360
- atlasJSON = _ref.atlasJSON,
34361
- atlasIMG = _ref.atlasIMG;
34362
- var getContent = function getContent(index) {
34363
- var _shortcuts$index, _shortcuts$index3;
34364
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
34365
- var _shortcuts$index2;
34366
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
34367
- if (!_payload) return null;
34368
- return React__default.createElement(SpriteFromAtlas, {
34369
- atlasIMG: atlasIMG,
34370
- atlasJSON: atlasJSON,
34371
- spriteKey: shared.getItemTextureKeyPath({
34372
- key: _payload.texturePath,
34373
- texturePath: _payload.texturePath,
34374
- stackQty: _payload.stackQty || 1
34375
- }, atlasJSON),
34376
- width: 32,
34377
- height: 32,
34378
- imgScale: 1.6,
34379
- imgStyle: {
34380
- left: '5px'
34381
- }
34382
- });
34383
- }
34384
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
34385
- return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
34386
- return word[0];
34387
- }));
34388
- };
34389
- return React__default.createElement(Container$b, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34390
- id: "shortcuts_list"
34391
- }, Array.from({
34392
- length: 6
34393
- }).map(function (_, i) {
34394
- return React__default.createElement(Shortcut, {
34395
- key: i,
34396
- onClick: function onClick() {
34397
- removeShortcut(i);
34398
- if (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None) setSettingShortcutIndex(i);
34399
- },
34400
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
34401
- isBeingSet: settingShortcutIndex === i
34402
- }, getContent(i));
34403
- })));
34404
- };
34405
- var Container$b = /*#__PURE__*/styled.div.withConfig({
34406
- displayName: "ShortcutsSetter__Container",
34407
- componentId: "sc-xuouuf-0"
34408
- })(["p{margin:0;margin-left:0.5rem;}"]);
34409
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
34410
- displayName: "ShortcutsSetter__Shortcut",
34411
- componentId: "sc-xuouuf-1"
34412
- })(["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) {
34413
- var isBeingSet = _ref2.isBeingSet;
34414
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
34415
- }, uiColors.darkGray, uiColors.gray);
34416
- var List = /*#__PURE__*/styled.div.withConfig({
34417
- displayName: "ShortcutsSetter__List",
34418
- componentId: "sc-xuouuf-2"
34419
- })(["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;"]);
34420
-
34421
34854
  var ItemContainer$1 = function ItemContainer(_ref) {
34422
34855
  var itemContainer = _ref.itemContainer,
34423
34856
  onClose = _ref.onClose,
@@ -34436,10 +34869,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34436
34869
  checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34437
34870
  initialPosition = _ref.initialPosition,
34438
34871
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34439
- dragScale = _ref.dragScale,
34440
- shortcuts = _ref.shortcuts,
34441
- setItemShortcut = _ref.setItemShortcut,
34442
- removeShortcut = _ref.removeShortcut;
34872
+ dragScale = _ref.dragScale;
34443
34873
  var _useState = React.useState({
34444
34874
  isOpen: false,
34445
34875
  maxQuantity: 1,
@@ -34447,9 +34877,6 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34447
34877
  }),
34448
34878
  quantitySelect = _useState[0],
34449
34879
  setQuantitySelect = _useState[1];
34450
- var _useState2 = React.useState(-1),
34451
- settingShortcutIndex = _useState2[0],
34452
- setSettingShortcutIndex = _useState2[1];
34453
34880
  var onRenderSlots = function onRenderSlots() {
34454
34881
  var slots = [];
34455
34882
  for (var i = 0; i < itemContainer.slotQty; i++) {
@@ -34463,13 +34890,8 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34463
34890
  onMouseOver: function onMouseOver(event, slotIndex, item) {
34464
34891
  if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34465
34892
  },
34466
- onClick: function onClick(itemType, containerType, item) {
34467
- if (settingShortcutIndex !== -1) {
34468
- setSettingShortcutIndex(-1);
34469
- if (itemType === shared.ItemType.Consumable || itemType === shared.ItemType.Tool) {
34470
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, settingShortcutIndex);
34471
- }
34472
- } else if (onItemClick) onItemClick(item, itemType, containerType);
34893
+ onPointerDown: function onPointerDown(ItemType, ContainerType, item) {
34894
+ if (onItemClick) onItemClick(item, ItemType, ContainerType);
34473
34895
  },
34474
34896
  onSelected: function onSelected(optionId, item) {
34475
34897
  if (_onSelected) _onSelected(optionId, item);
@@ -34497,8 +34919,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34497
34919
  if (_onOutsideDrop) _onOutsideDrop(item, position);
34498
34920
  },
34499
34921
  atlasIMG: atlasIMG,
34500
- atlasJSON: atlasJSON,
34501
- isSelectingShortcut: settingShortcutIndex !== -1
34922
+ atlasJSON: atlasJSON
34502
34923
  }));
34503
34924
  }
34504
34925
  return slots;
@@ -34507,14 +34928,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34507
34928
  title: itemContainer.name || 'Container',
34508
34929
  onClose: onClose,
34509
34930
  initialPosition: initialPosition
34510
- }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
34511
- setSettingShortcutIndex: setSettingShortcutIndex,
34512
- settingShortcutIndex: settingShortcutIndex,
34513
- shortcuts: shortcuts,
34514
- removeShortcut: removeShortcut,
34515
- atlasIMG: atlasIMG,
34516
- atlasJSON: atlasJSON
34517
- }), React__default.createElement(ItemsContainer, {
34931
+ }, React__default.createElement(ItemsContainer, {
34518
34932
  className: "item-container-body"
34519
34933
  }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
34520
34934
  quantity: quantitySelect.maxQuantity,
@@ -34539,7 +34953,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34539
34953
  var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
34540
34954
  displayName: "ItemContainer__ItemsContainer",
34541
34955
  componentId: "sc-15y5p9l-0"
34542
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
34956
+ })(["max-width:280px;display:flex;justify-content:center;flex-wrap:wrap;"]);
34543
34957
  var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
34544
34958
  displayName: "ItemContainer__QuantitySelectorContainer",
34545
34959
  componentId: "sc-15y5p9l-1"
@@ -34593,7 +35007,7 @@ var ItemSelector = function ItemSelector(_ref) {
34593
35007
  value: option.name,
34594
35008
  name: "test"
34595
35009
  }), React__default.createElement("label", {
34596
- onClick: handleClick,
35010
+ onPointerDown: handleClick,
34597
35011
  style: {
34598
35012
  display: 'flex',
34599
35013
  alignItems: 'center'
@@ -34601,7 +35015,7 @@ var ItemSelector = function ItemSelector(_ref) {
34601
35015
  }, option.name, " ", React__default.createElement("br", null), option.description)));
34602
35016
  })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
34603
35017
  buttonType: exports.ButtonTypes.RPGUIButton,
34604
- onClick: onClose
35018
+ onPointerDown: onClose
34605
35019
  }, "Cancel"), React__default.createElement(Button, {
34606
35020
  buttonType: exports.ButtonTypes.RPGUIButton
34607
35021
  }, "Select")));
@@ -34636,7 +35050,7 @@ var ListMenu = function ListMenu(_ref) {
34636
35050
  onSelected = _ref.onSelected,
34637
35051
  x = _ref.x,
34638
35052
  y = _ref.y;
34639
- return React__default.createElement(Container$c, {
35053
+ return React__default.createElement(Container$f, {
34640
35054
  x: x,
34641
35055
  y: y
34642
35056
  }, React__default.createElement("ul", {
@@ -34647,13 +35061,13 @@ var ListMenu = function ListMenu(_ref) {
34647
35061
  }, options.map(function (params, index) {
34648
35062
  return React__default.createElement(ListElement$1, {
34649
35063
  key: (params == null ? void 0 : params.id) || index,
34650
- onClick: function onClick() {
35064
+ onPointerDown: function onPointerDown() {
34651
35065
  onSelected(params == null ? void 0 : params.id);
34652
35066
  }
34653
35067
  }, (params == null ? void 0 : params.text) || 'No text');
34654
35068
  })));
34655
35069
  };
34656
- var Container$c = /*#__PURE__*/styled.div.withConfig({
35070
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
34657
35071
  displayName: "ListMenu__Container",
34658
35072
  componentId: "sc-i9097t-0"
34659
35073
  })(["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) {
@@ -34666,331 +35080,6 @@ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
34666
35080
  componentId: "sc-i9097t-1"
34667
35081
  })(["margin-right:0.5rem;"]);
34668
35082
 
34669
- var img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34670
-
34671
- 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';
34672
-
34673
- (function (ImgSide) {
34674
- ImgSide["right"] = "right";
34675
- ImgSide["left"] = "left";
34676
- })(exports.ImgSide || (exports.ImgSide = {}));
34677
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
34678
- var _textAndTypeArray$sli;
34679
- var _onClose = _ref.onClose,
34680
- textAndTypeArray = _ref.textAndTypeArray;
34681
- var _useState = React.useState(false),
34682
- showGoNextIndicator = _useState[0],
34683
- setShowGoNextIndicator = _useState[1];
34684
- var _useState2 = React.useState(0),
34685
- slide = _useState2[0],
34686
- setSlide = _useState2[1];
34687
- var onHandleSpacePress = function onHandleSpacePress(event) {
34688
- if (event.code === 'Space') {
34689
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34690
- setSlide(function (prev) {
34691
- return prev + 1;
34692
- });
34693
- } else {
34694
- // if there's no more text chunks, close the dialog
34695
- _onClose();
34696
- }
34697
- }
34698
- };
34699
- React.useEffect(function () {
34700
- document.addEventListener('keydown', onHandleSpacePress);
34701
- return function () {
34702
- return document.removeEventListener('keydown', onHandleSpacePress);
34703
- };
34704
- }, [slide]);
34705
- return React__default.createElement(RPGUIContainer, {
34706
- type: exports.RPGUIContainerTypes.FramedGold,
34707
- width: '50%',
34708
- height: '180px'
34709
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$d, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
34710
- flex: '70%'
34711
- }, React__default.createElement(NPCDialogText, {
34712
- onStartStep: function onStartStep() {
34713
- return setShowGoNextIndicator(false);
34714
- },
34715
- onEndStep: function onEndStep() {
34716
- return setShowGoNextIndicator(true);
34717
- },
34718
- text: textAndTypeArray[slide].text || 'No text provided.',
34719
- onClose: function onClose() {
34720
- if (_onClose) {
34721
- _onClose();
34722
- }
34723
- }
34724
- })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34725
- src: textAndTypeArray[slide].imagePath || img$6
34726
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
34727
- right: '10.5rem',
34728
- src: img$7
34729
- })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34730
- src: textAndTypeArray[slide].imagePath || img$6
34731
- })), React__default.createElement(TextContainer, {
34732
- flex: '70%'
34733
- }, React__default.createElement(NPCDialogText, {
34734
- onStartStep: function onStartStep() {
34735
- return setShowGoNextIndicator(false);
34736
- },
34737
- onEndStep: function onEndStep() {
34738
- return setShowGoNextIndicator(true);
34739
- },
34740
- text: textAndTypeArray[slide].text || 'No text provided.',
34741
- onClose: function onClose() {
34742
- if (_onClose) {
34743
- _onClose();
34744
- }
34745
- }
34746
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
34747
- right: '1rem',
34748
- src: img$7
34749
- }))), ")"));
34750
- };
34751
- var Container$d = /*#__PURE__*/styled.div.withConfig({
34752
- displayName: "NPCMultiDialog__Container",
34753
- componentId: "sc-rvu5wg-0"
34754
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34755
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
34756
- displayName: "NPCMultiDialog__TextContainer",
34757
- componentId: "sc-rvu5wg-1"
34758
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34759
- var flex = _ref2.flex;
34760
- return flex;
34761
- });
34762
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34763
- displayName: "NPCMultiDialog__ThumbnailContainer",
34764
- componentId: "sc-rvu5wg-2"
34765
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34766
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34767
- displayName: "NPCMultiDialog__NPCThumbnail",
34768
- componentId: "sc-rvu5wg-3"
34769
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34770
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34771
- displayName: "NPCMultiDialog__PressSpaceIndicator",
34772
- componentId: "sc-rvu5wg-4"
34773
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34774
- var right = _ref3.right;
34775
- return right;
34776
- });
34777
-
34778
- //@ts-ignore
34779
- var useEventListener = function useEventListener(type, handler, el) {
34780
- if (el === void 0) {
34781
- el = window;
34782
- }
34783
- var savedHandler = React__default.useRef();
34784
- React__default.useEffect(function () {
34785
- savedHandler.current = handler;
34786
- }, [handler]);
34787
- React__default.useEffect(function () {
34788
- //@ts-ignore
34789
- var listener = function listener(e) {
34790
- return savedHandler.current(e);
34791
- };
34792
- el.addEventListener(type, listener);
34793
- return function () {
34794
- el.removeEventListener(type, listener);
34795
- };
34796
- }, [type, el]);
34797
- };
34798
-
34799
- var DynamicText = function DynamicText(_ref) {
34800
- var text = _ref.text,
34801
- onFinish = _ref.onFinish,
34802
- onStart = _ref.onStart;
34803
- var _useState = React.useState(''),
34804
- textState = _useState[0],
34805
- setTextState = _useState[1];
34806
- React.useEffect(function () {
34807
- var i = 0;
34808
- var interval = setInterval(function () {
34809
- // on every interval, show one more character
34810
- if (i === 0) {
34811
- if (onStart) {
34812
- onStart();
34813
- }
34814
- }
34815
- if (i < text.length) {
34816
- setTextState(text.substring(0, i + 1));
34817
- i++;
34818
- } else {
34819
- clearInterval(interval);
34820
- if (onFinish) {
34821
- onFinish();
34822
- }
34823
- }
34824
- }, 50);
34825
- return function () {
34826
- clearInterval(interval);
34827
- };
34828
- }, [text]);
34829
- return React__default.createElement(TextContainer$1, null, textState);
34830
- };
34831
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
34832
- displayName: "DynamicText__TextContainer",
34833
- componentId: "sc-1ggl9nd-0"
34834
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34835
-
34836
- var QuestionDialog = function QuestionDialog(_ref) {
34837
- var questions = _ref.questions,
34838
- answers = _ref.answers,
34839
- onClose = _ref.onClose;
34840
- var _useState = React.useState(questions[0]),
34841
- currentQuestion = _useState[0],
34842
- setCurrentQuestion = _useState[1];
34843
- var _useState2 = React.useState(false),
34844
- canShowAnswers = _useState2[0],
34845
- setCanShowAnswers = _useState2[1];
34846
- var onGetFirstAnswer = function onGetFirstAnswer() {
34847
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34848
- return null;
34849
- }
34850
- var firstAnswerId = currentQuestion.answerIds[0];
34851
- return answers.find(function (answer) {
34852
- return answer.id === firstAnswerId;
34853
- });
34854
- };
34855
- var _useState3 = React.useState(onGetFirstAnswer()),
34856
- currentAnswer = _useState3[0],
34857
- setCurrentAnswer = _useState3[1];
34858
- React.useEffect(function () {
34859
- setCurrentAnswer(onGetFirstAnswer());
34860
- }, [currentQuestion]);
34861
- var onGetAnswers = function onGetAnswers(answerIds) {
34862
- return answerIds.map(function (answerId) {
34863
- return answers.find(function (answer) {
34864
- return answer.id === answerId;
34865
- });
34866
- });
34867
- };
34868
- var onKeyPress = function onKeyPress(e) {
34869
- switch (e.key) {
34870
- case 'ArrowDown':
34871
- // select next answer, if any.
34872
- // if no next answer, select first answer
34873
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34874
- // (answer) => answer?.id === currentAnswer!.id + 1
34875
- // );
34876
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34877
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34878
- });
34879
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34880
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34881
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
34882
- });
34883
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34884
- break;
34885
- case 'ArrowUp':
34886
- // select previous answer, if any.
34887
- // if no previous answer, select last answer
34888
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34889
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34890
- });
34891
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34892
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34893
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
34894
- });
34895
- if (previousAnswer) {
34896
- setCurrentAnswer(previousAnswer);
34897
- } else {
34898
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34899
- }
34900
- break;
34901
- case 'Enter':
34902
- setCanShowAnswers(false);
34903
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34904
- onClose();
34905
- return;
34906
- } else {
34907
- setCurrentQuestion(questions.find(function (question) {
34908
- return question.id === currentAnswer.nextQuestionId;
34909
- }));
34910
- }
34911
- break;
34912
- }
34913
- };
34914
- useEventListener('keydown', onKeyPress);
34915
- var onAnswerClick = function onAnswerClick(answer) {
34916
- setCanShowAnswers(false);
34917
- if (answer.nextQuestionId) {
34918
- // if there is a next question, go to it
34919
- setCurrentQuestion(questions.find(function (question) {
34920
- return question.id === answer.nextQuestionId;
34921
- }));
34922
- } else {
34923
- // else, finish dialog!
34924
- onClose();
34925
- }
34926
- };
34927
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34928
- var answerIds = currentQuestion.answerIds;
34929
- if (!answerIds) {
34930
- return null;
34931
- }
34932
- var answers = onGetAnswers(answerIds);
34933
- if (!answers) {
34934
- return null;
34935
- }
34936
- return answers.map(function (answer) {
34937
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34938
- var selectedColor = isSelected ? 'yellow' : 'white';
34939
- if (answer) {
34940
- return React__default.createElement(AnswerRow, {
34941
- key: "answer_" + answer.id
34942
- }, React__default.createElement(AnswerSelectedIcon, {
34943
- color: selectedColor
34944
- }, isSelected ? 'X' : null), React__default.createElement(Answer, {
34945
- key: answer.id,
34946
- onClick: function onClick() {
34947
- return onAnswerClick(answer);
34948
- },
34949
- color: selectedColor
34950
- }, answer.text));
34951
- }
34952
- return null;
34953
- });
34954
- };
34955
- return React__default.createElement(Container$e, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
34956
- text: currentQuestion.text,
34957
- onStart: function onStart() {
34958
- return setCanShowAnswers(false);
34959
- },
34960
- onFinish: function onFinish() {
34961
- return setCanShowAnswers(true);
34962
- }
34963
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34964
- };
34965
- var Container$e = /*#__PURE__*/styled.div.withConfig({
34966
- displayName: "QuestionDialog__Container",
34967
- componentId: "sc-bxc5u0-0"
34968
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34969
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34970
- displayName: "QuestionDialog__QuestionContainer",
34971
- componentId: "sc-bxc5u0-1"
34972
- })(["flex:100%;width:100%;"]);
34973
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34974
- displayName: "QuestionDialog__AnswersContainer",
34975
- componentId: "sc-bxc5u0-2"
34976
- })(["flex:100%;"]);
34977
- var Answer = /*#__PURE__*/styled.p.withConfig({
34978
- displayName: "QuestionDialog__Answer",
34979
- componentId: "sc-bxc5u0-3"
34980
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34981
- return props.color;
34982
- });
34983
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34984
- displayName: "QuestionDialog__AnswerSelectedIcon",
34985
- componentId: "sc-bxc5u0-4"
34986
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
34987
- return props.color;
34988
- });
34989
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34990
- displayName: "QuestionDialog__AnswerRow",
34991
- componentId: "sc-bxc5u0-5"
34992
- })(["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;}"]);
34993
-
34994
35083
  var ProgressBar = function ProgressBar(_ref) {
34995
35084
  var max = _ref.max,
34996
35085
  value = _ref.value,
@@ -35008,7 +35097,7 @@ var ProgressBar = function ProgressBar(_ref) {
35008
35097
  }
35009
35098
  return value * 100 / max;
35010
35099
  };
35011
- return React__default.createElement(Container$f, {
35100
+ return React__default.createElement(Container$g, {
35012
35101
  className: "rpgui-progress",
35013
35102
  "data-value": calculatePercentageValue(max, value) / 100,
35014
35103
  "data-rpguitype": "progress",
@@ -35037,7 +35126,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
35037
35126
  displayName: "ProgressBar__TextOverlay",
35038
35127
  componentId: "sc-qa6fzh-1"
35039
35128
  })(["width:100%;position:relative;"]);
35040
- var Container$f = /*#__PURE__*/styled.div.withConfig({
35129
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
35041
35130
  displayName: "ProgressBar__Container",
35042
35131
  componentId: "sc-qa6fzh-2"
35043
35132
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -35048,7 +35137,7 @@ var Container$f = /*#__PURE__*/styled.div.withConfig({
35048
35137
  return props.style;
35049
35138
  });
35050
35139
 
35051
- var img$8 = 'data:image/png;base64,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';
35140
+ var img$9 = 'data:image/png;base64,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';
35052
35141
 
35053
35142
  var QuestInfo = function QuestInfo(_ref) {
35054
35143
  var quests = _ref.quests,
@@ -35083,16 +35172,14 @@ var QuestInfo = function QuestInfo(_ref) {
35083
35172
  cancelDrag: ".equipment-container-body .arrow-selector"
35084
35173
  }, quests.length >= 2 ? React__default.createElement(QuestsContainer, null, currentIndex !== 0 && React__default.createElement(SelectArrow, {
35085
35174
  direction: "left",
35086
- onClick: onLeftClick,
35087
- onTouchStart: onLeftClick
35175
+ onPointerDown: onLeftClick
35088
35176
  }), currentIndex !== quests.length - 1 && React__default.createElement(SelectArrow, {
35089
35177
  direction: "right",
35090
- onClick: onRightClick,
35091
- onTouchStart: onRightClick
35178
+ onPointerDown: onRightClick
35092
35179
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35093
35180
  className: "drag-handler"
35094
35181
  }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35095
- src: quests[currentIndex].thumbnail || img$8
35182
+ src: quests[currentIndex].thumbnail || img$9
35096
35183
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35097
35184
  className: "golden"
35098
35185
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -35101,8 +35188,8 @@ var QuestInfo = function QuestInfo(_ref) {
35101
35188
  }, buttons && buttons.map(function (button, index) {
35102
35189
  return React__default.createElement(Button, {
35103
35190
  key: index,
35104
- onClick: function onClick() {
35105
- return button.onClick(quests[currentIndex]._id, quests[currentIndex].npcId);
35191
+ onPointerDown: function onPointerDown() {
35192
+ return button.onPointerDown(quests[currentIndex]._id, quests[currentIndex].npcId);
35106
35193
  },
35107
35194
  disabled: button.disabled,
35108
35195
  buttonType: exports.ButtonTypes.RPGUIButton,
@@ -35111,7 +35198,7 @@ var QuestInfo = function QuestInfo(_ref) {
35111
35198
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35112
35199
  className: "drag-handler"
35113
35200
  }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35114
- src: quests[0].thumbnail || img$8
35201
+ src: quests[0].thumbnail || img$9
35115
35202
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35116
35203
  className: "golden"
35117
35204
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -35120,8 +35207,8 @@ var QuestInfo = function QuestInfo(_ref) {
35120
35207
  }, buttons && buttons.map(function (button, index) {
35121
35208
  return React__default.createElement(Button, {
35122
35209
  key: index,
35123
- onClick: function onClick() {
35124
- return button.onClick(quests[0]._id, quests[0].npcId);
35210
+ onPointerDown: function onPointerDown() {
35211
+ return button.onPointerDown(quests[0]._id, quests[0].npcId);
35125
35212
  },
35126
35213
  disabled: button.disabled,
35127
35214
  buttonType: exports.ButtonTypes.RPGUIButton,
@@ -35240,7 +35327,7 @@ var InputRadio = function InputRadio(_ref) {
35240
35327
  name: name,
35241
35328
  type: "radio"
35242
35329
  }), React__default.createElement("label", {
35243
- onClick: handleClick
35330
+ onPointerDown: handleClick
35244
35331
  }, element.label), React__default.createElement("br", null));
35245
35332
  }));
35246
35333
  };
@@ -35254,96 +35341,13 @@ var RPGUIRoot = function RPGUIRoot(_ref) {
35254
35341
  }, children);
35255
35342
  };
35256
35343
 
35257
- var Shortcuts = function Shortcuts(_ref) {
35258
- var shortcuts = _ref.shortcuts,
35259
- onShortcutCast = _ref.onShortcutCast,
35260
- mana = _ref.mana,
35261
- _ref$isBlockedCasting = _ref.isBlockedCastingByKeyboard,
35262
- isBlockedCastingByKeyboard = _ref$isBlockedCasting === void 0 ? false : _ref$isBlockedCasting,
35263
- atlasJSON = _ref.atlasJSON,
35264
- atlasIMG = _ref.atlasIMG,
35265
- inventory = _ref.inventory;
35266
- React.useEffect(function () {
35267
- var handleKeyDown = function handleKeyDown(e) {
35268
- if (isBlockedCastingByKeyboard) return;
35269
- var shortcutIndex = Number(e.key) - 1;
35270
- if (shortcutIndex >= 0 && shortcutIndex <= 5) {
35271
- onShortcutCast(shortcutIndex);
35272
- }
35273
- };
35274
- window.addEventListener('keydown', handleKeyDown);
35275
- return function () {
35276
- window.removeEventListener('keydown', handleKeyDown);
35277
- };
35278
- }, [shortcuts, isBlockedCastingByKeyboard]);
35279
- return React__default.createElement(List$1, null, Array.from({
35280
- length: 6
35281
- }).map(function (_, i) {
35282
- var _shortcuts$i, _shortcuts$i3, _payload$manaCost;
35283
- if (((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) === shared.ShortcutType.Item) {
35284
- var _shortcuts$i2;
35285
- var _payload = (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.payload;
35286
- var itemsFromEquipment = [];
35287
- if (inventory) {
35288
- Object.keys(inventory.slots).forEach(function (i) {
35289
- var _inventory$slots$inde;
35290
- var index = parseInt(i);
35291
- if (((_inventory$slots$inde = inventory.slots[index]) == null ? void 0 : _inventory$slots$inde.key) === (_payload == null ? void 0 : _payload.key)) {
35292
- itemsFromEquipment.push(inventory.slots[index]);
35293
- }
35294
- });
35295
- }
35296
- var totalQty = itemsFromEquipment.reduce(function (acc, item) {
35297
- return acc + ((item == null ? void 0 : item.stackQty) || 1);
35298
- }, 0);
35299
- return React__default.createElement(SingleShortcut, {
35300
- key: i,
35301
- onClick: onShortcutCast.bind(null, i),
35302
- disabled: false
35303
- }, _payload && React__default.createElement(SpriteFromAtlas, {
35304
- atlasIMG: atlasIMG,
35305
- atlasJSON: atlasJSON,
35306
- spriteKey: shared.getItemTextureKeyPath({
35307
- key: _payload.texturePath,
35308
- texturePath: _payload.texturePath,
35309
- stackQty: _payload.stackQty || 1
35310
- }, atlasJSON),
35311
- width: 32,
35312
- height: 32
35313
- }), React__default.createElement("span", {
35314
- className: "qty"
35315
- }, totalQty), React__default.createElement("span", {
35316
- className: "keyboard"
35317
- }, i + 1));
35318
- }
35319
- var payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
35320
- return React__default.createElement(SingleShortcut, {
35321
- key: i,
35322
- onClick: onShortcutCast.bind(null, i),
35323
- disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0)
35324
- }, React__default.createElement("span", {
35325
- className: "mana"
35326
- }, payload && payload.manaCost), React__default.createElement("span", {
35327
- className: "magicWords"
35328
- }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
35329
- return word[0];
35330
- })), React__default.createElement("span", {
35331
- className: "keyboard"
35332
- }, i + 1));
35333
- }));
35334
- };
35335
- var List$1 = /*#__PURE__*/styled.p.withConfig({
35336
- displayName: "Shortcuts__List",
35337
- componentId: "sc-kgtsi7-0"
35338
- })(["width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;box-sizing:border-box;margin:0 !important;"]);
35339
-
35340
35344
  var SimpleProgressBar = function SimpleProgressBar(_ref) {
35341
35345
  var value = _ref.value,
35342
35346
  _ref$bgColor = _ref.bgColor,
35343
35347
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
35344
35348
  _ref$margin = _ref.margin,
35345
35349
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
35346
- return React__default.createElement(Container$g, {
35350
+ return React__default.createElement(Container$h, {
35347
35351
  className: "simple-progress-bar"
35348
35352
  }, React__default.createElement(ProgressBarContainer, {
35349
35353
  margin: margin
@@ -35352,7 +35356,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35352
35356
  bgColor: bgColor
35353
35357
  }))));
35354
35358
  };
35355
- var Container$g = /*#__PURE__*/styled.div.withConfig({
35359
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
35356
35360
  displayName: "SimpleProgressBar__Container",
35357
35361
  componentId: "sc-mbeil3-0"
35358
35362
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -35528,8 +35532,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
35528
35532
  title: "Skills",
35529
35533
  cancelDrag: "#skillsDiv"
35530
35534
  }, onCloseButton && React__default.createElement(CloseButton$3, {
35531
- onClick: onCloseButton,
35532
- onTouchStart: onCloseButton
35535
+ onPointerDown: onCloseButton
35533
35536
  }, "X"), React__default.createElement(SkillsContainerDiv, {
35534
35537
  id: "skillsDiv"
35535
35538
  }, React__default.createElement(SkillSplitDiv, null, React__default.createElement("p", null, "General"), React__default.createElement("hr", {
@@ -35576,13 +35579,13 @@ var Spell = function Spell(_ref) {
35576
35579
  manaCost = _ref.manaCost,
35577
35580
  charMana = _ref.charMana,
35578
35581
  charMagicLevel = _ref.charMagicLevel,
35579
- onClick = _ref.onClick,
35582
+ onPointerDown = _ref.onPointerDown,
35580
35583
  isSettingShortcut = _ref.isSettingShortcut,
35581
35584
  minMagicLevelRequired = _ref.minMagicLevelRequired;
35582
35585
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
35583
- return React__default.createElement(Container$h, {
35586
+ return React__default.createElement(Container$i, {
35584
35587
  disabled: disabled,
35585
- onClick: onClick == null ? void 0 : onClick.bind(null, spellKey),
35588
+ onPointerDown: onPointerDown == null ? void 0 : onPointerDown.bind(null, spellKey),
35586
35589
  isSettingShortcut: isSettingShortcut && !disabled,
35587
35590
  className: "spell"
35588
35591
  }, disabled && React__default.createElement(Overlay, null, charMagicLevel < minMagicLevelRequired ? 'Low magic level' : manaCost > charMana && 'No mana'), React__default.createElement(SpellImage, null, magicWords.split(' ').map(function (word) {
@@ -35593,7 +35596,7 @@ var Spell = function Spell(_ref) {
35593
35596
  className: "mana"
35594
35597
  }, manaCost)));
35595
35598
  };
35596
- var Container$h = /*#__PURE__*/styled.button.withConfig({
35599
+ var Container$i = /*#__PURE__*/styled.button.withConfig({
35597
35600
  displayName: "Spell__Container",
35598
35601
  componentId: "sc-j96fa2-0"
35599
35602
  })(["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) {
@@ -35629,6 +35632,43 @@ var Overlay = /*#__PURE__*/styled.p.withConfig({
35629
35632
  componentId: "sc-j96fa2-7"
35630
35633
  })(["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);
35631
35634
 
35635
+ var SpellbookShortcuts = function SpellbookShortcuts(_ref) {
35636
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
35637
+ settingShortcutIndex = _ref.settingShortcutIndex,
35638
+ shortcuts = _ref.shortcuts,
35639
+ removeShortcut = _ref.removeShortcut;
35640
+ return React__default.createElement(List$1, {
35641
+ id: "shortcuts_list"
35642
+ }, "Spells shortcuts:", Array.from({
35643
+ length: 4
35644
+ }).map(function (_, i) {
35645
+ var _shortcuts$i2;
35646
+ return React__default.createElement(SpellShortcut$1, {
35647
+ key: i,
35648
+ onPointerDown: function onPointerDown() {
35649
+ var _shortcuts$i;
35650
+ removeShortcut(i);
35651
+ if (!((_shortcuts$i = shortcuts[i]) != null && _shortcuts$i.key)) setSettingShortcutIndex(i);
35652
+ },
35653
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
35654
+ isBeingSet: settingShortcutIndex === i
35655
+ }, React__default.createElement("span", null, (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.magicWords.split(' ').map(function (word) {
35656
+ return word[0];
35657
+ })));
35658
+ }));
35659
+ };
35660
+ var SpellShortcut$1 = /*#__PURE__*/styled.button.withConfig({
35661
+ displayName: "SpellbookShortcuts__SpellShortcut",
35662
+ componentId: "sc-fr4a0d-0"
35663
+ })(["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) {
35664
+ var isBeingSet = _ref2.isBeingSet;
35665
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
35666
+ }, uiColors.darkGray, uiColors.gray);
35667
+ var List$1 = /*#__PURE__*/styled.p.withConfig({
35668
+ displayName: "SpellbookShortcuts__List",
35669
+ componentId: "sc-fr4a0d-1"
35670
+ })(["width:100%;display:flex;align-items:center;justify-content:flex-end;gap:0.5rem;padding:0.5rem;box-sizing:border-box;margin:0 !important;"]);
35671
+
35632
35672
  var Spellbook = function Spellbook(_ref) {
35633
35673
  var onClose = _ref.onClose,
35634
35674
  onInputFocus = _ref.onInputFocus,
@@ -35638,10 +35678,8 @@ var Spellbook = function Spellbook(_ref) {
35638
35678
  mana = _ref.mana,
35639
35679
  onSpellClick = _ref.onSpellClick,
35640
35680
  setSpellShortcut = _ref.setSpellShortcut,
35641
- shortcuts = _ref.shortcuts,
35642
- removeShortcut = _ref.removeShortcut,
35643
- atlasIMG = _ref.atlasIMG,
35644
- atlasJSON = _ref.atlasJSON;
35681
+ spellShortcuts = _ref.spellShortcuts,
35682
+ removeSpellShortcut = _ref.removeSpellShortcut;
35645
35683
  var _useState = React.useState(''),
35646
35684
  search = _useState[0],
35647
35685
  setSearch = _useState[1];
@@ -35678,13 +35716,11 @@ var Spellbook = function Spellbook(_ref) {
35678
35716
  width: "inherit",
35679
35717
  height: "inherit",
35680
35718
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
35681
- }, React__default.createElement(Container$i, null, React__default.createElement(Title$6, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
35719
+ }, React__default.createElement(Container$j, null, React__default.createElement(Title$6, null, "Learned Spells"), React__default.createElement(SpellbookShortcuts, {
35682
35720
  setSettingShortcutIndex: setSettingShortcutIndex,
35683
35721
  settingShortcutIndex: settingShortcutIndex,
35684
- shortcuts: shortcuts,
35685
- removeShortcut: removeShortcut,
35686
- atlasIMG: atlasIMG,
35687
- atlasJSON: atlasJSON
35722
+ shortcuts: spellShortcuts,
35723
+ removeShortcut: removeSpellShortcut
35688
35724
  }), React__default.createElement(Input, {
35689
35725
  placeholder: "Search for spell",
35690
35726
  value: search,
@@ -35700,7 +35736,7 @@ var Spellbook = function Spellbook(_ref) {
35700
35736
  }, React__default.createElement(Spell, Object.assign({
35701
35737
  charMana: mana,
35702
35738
  charMagicLevel: magicLevel,
35703
- onClick: settingShortcutIndex !== -1 ? setShortcut : onSpellClick,
35739
+ onPointerDown: settingShortcutIndex !== -1 ? setShortcut : onSpellClick,
35704
35740
  spellKey: spell.key,
35705
35741
  isSettingShortcut: settingShortcutIndex !== -1
35706
35742
  }, spell)));
@@ -35710,7 +35746,7 @@ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
35710
35746
  displayName: "Spellbook__Title",
35711
35747
  componentId: "sc-r02nfq-0"
35712
35748
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
35713
- var Container$i = /*#__PURE__*/styled.div.withConfig({
35749
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
35714
35750
  displayName: "Spellbook__Container",
35715
35751
  componentId: "sc-r02nfq-1"
35716
35752
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -35724,16 +35760,16 @@ var TextArea = function TextArea(_ref) {
35724
35760
  return React__default.createElement("textarea", Object.assign({}, props));
35725
35761
  };
35726
35762
 
35727
- var img$9 = 'data:image/gif;base64,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';
35763
+ var img$a = 'data:image/gif;base64,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';
35728
35764
 
35729
- var img$a = 'data:image/gif;base64,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';
35765
+ var img$b = 'data:image/gif;base64,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';
35730
35766
 
35731
- var img$b = 'data:image/gif;base64,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';
35767
+ var img$c = 'data:image/gif;base64,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';
35732
35768
 
35733
35769
  var DayNightPeriod = function DayNightPeriod(_ref) {
35734
35770
  var _periodOfDaySrcFiles;
35735
35771
  var periodOfDay = _ref.periodOfDay;
35736
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
35772
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
35737
35773
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
35738
35774
  src: periodOfDaySrcFiles[periodOfDay]
35739
35775
  }));
@@ -35743,14 +35779,14 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
35743
35779
  componentId: "sc-10t97fw-0"
35744
35780
  })(["width:100%;img{width:67%;}"]);
35745
35781
 
35746
- 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';
35782
+ 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';
35747
35783
 
35748
35784
  var TimeWidget = function TimeWidget(_ref) {
35749
35785
  var onClose = _ref.onClose,
35750
35786
  TimeClock = _ref.TimeClock,
35751
35787
  periodOfDay = _ref.periodOfDay;
35752
35788
  return React__default.createElement(Draggable, null, React__default.createElement(WidgetContainer, null, React__default.createElement(CloseButton$4, {
35753
- onClick: onClose
35789
+ onPointerDown: onClose
35754
35790
  }, "X"), React__default.createElement(DayNightContainer, null, React__default.createElement(DayNightPeriod, {
35755
35791
  periodOfDay: periodOfDay
35756
35792
  })), React__default.createElement(Time, null, TimeClock)));
@@ -35758,7 +35794,7 @@ var TimeWidget = function TimeWidget(_ref) {
35758
35794
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
35759
35795
  displayName: "TimeWidget__WidgetContainer",
35760
35796
  componentId: "sc-1ja236h-0"
35761
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
35797
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
35762
35798
  var Time = /*#__PURE__*/styled.div.withConfig({
35763
35799
  displayName: "TimeWidget__Time",
35764
35800
  componentId: "sc-1ja236h-1"
@@ -35820,26 +35856,22 @@ var TradingItemRow = function TradingItemRow(_ref) {
35820
35856
  size: 32,
35821
35857
  className: "arrow-selector",
35822
35858
  direction: "left",
35823
- onClick: onLeftOutClick,
35824
- onTouchStart: onLeftOutClick
35859
+ onPointerDown: onLeftOutClick
35825
35860
  }), React__default.createElement(StyledArrow, {
35826
35861
  size: 32,
35827
35862
  className: "arrow-selector",
35828
35863
  direction: "left",
35829
- onClick: onLeftClick,
35830
- onTouchStart: onLeftClick
35864
+ onPointerDown: onLeftClick
35831
35865
  }), React__default.createElement(QuantityDisplay, null, React__default.createElement(TextOverlay$2, null, React__default.createElement(Item$1, null, selectedQty))), React__default.createElement(StyledArrow, {
35832
35866
  size: 32,
35833
35867
  className: "arrow-selector",
35834
35868
  direction: "right",
35835
- onClick: onRightClick,
35836
- onTouchStart: onRightClick
35869
+ onPointerDown: onRightClick
35837
35870
  }), React__default.createElement(SelectArrow, {
35838
35871
  size: 32,
35839
35872
  className: "arrow-selector",
35840
35873
  direction: "right",
35841
- onClick: onRightOutClick,
35842
- onTouchStart: onRightOutClick
35874
+ onPointerDown: onRightOutClick
35843
35875
  })));
35844
35876
  };
35845
35877
  var StyledArrow = /*#__PURE__*/styled(SelectArrow).withConfig({
@@ -35966,12 +35998,12 @@ var TradingMenu = function TradingMenu(_ref) {
35966
35998
  })), React__default.createElement(GoldWrapper, null, React__default.createElement("p", null, "Available Gold:"), React__default.createElement("p", null, "$", characterAvailableGold)), React__default.createElement(TotalWrapper, null, React__default.createElement("p", null, "Total:"), React__default.createElement("p", null, "$", sum)), !hasGoldForSale() ? React__default.createElement(AlertWrapper, null, React__default.createElement("p", null, " Sorry, not enough money.")) : React__default.createElement(GoldWrapper, null, React__default.createElement("p", null, "Final Gold:"), React__default.createElement("p", null, "$", getFinalGold())), React__default.createElement(ButtonWrapper$2, null, React__default.createElement(Button, {
35967
35999
  buttonType: exports.ButtonTypes.RPGUIButton,
35968
36000
  disabled: !hasGoldForSale(),
35969
- onClick: function onClick() {
36001
+ onPointerDown: function onPointerDown() {
35970
36002
  return onConfirmClick();
35971
36003
  }
35972
36004
  }, "Confirm"), React__default.createElement(Button, {
35973
36005
  buttonType: exports.ButtonTypes.RPGUIButton,
35974
- onClick: function onClick() {
36006
+ onPointerDown: function onPointerDown() {
35975
36007
  return onClose();
35976
36008
  }
35977
36009
  }, "Cancel"))));
@@ -36010,230 +36042,17 @@ var Truncate = function Truncate(_ref) {
36010
36042
  var _ref$maxLines = _ref.maxLines,
36011
36043
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
36012
36044
  children = _ref.children;
36013
- return React__default.createElement(Container$j, {
36045
+ return React__default.createElement(Container$k, {
36014
36046
  maxLines: maxLines
36015
36047
  }, children);
36016
36048
  };
36017
- var Container$j = /*#__PURE__*/styled.div.withConfig({
36049
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
36018
36050
  displayName: "Truncate__Container",
36019
36051
  componentId: "sc-6x00qb-0"
36020
36052
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
36021
36053
  return props.maxLines;
36022
36054
  });
36023
36055
 
36024
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
36025
-
36026
- var chunkString = function chunkString(str, length) {
36027
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
36028
- };
36029
-
36030
- var img$d = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
36031
-
36032
- var NPCDialogText = function NPCDialogText(_ref) {
36033
- var text = _ref.text,
36034
- onClose = _ref.onClose,
36035
- onEndStep = _ref.onEndStep,
36036
- onStartStep = _ref.onStartStep,
36037
- type = _ref.type;
36038
- var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
36039
- function maxCharacters(width) {
36040
- // Set the font size to 16 pixels
36041
- var fontSize = 11.2;
36042
- // Calculate the number of characters that can fit in one line
36043
- var charactersPerLine = Math.floor(width / 2 / fontSize);
36044
- // Calculate the number of lines that can fit in the div
36045
- var linesPerDiv = Math.floor(180 / fontSize);
36046
- // Calculate the maximum number of characters that can fit in the div
36047
- var maxCharacters = charactersPerLine * linesPerDiv;
36048
- // Return the maximum number of characters
36049
- return Math.round(maxCharacters / 5);
36050
- }
36051
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
36052
- var _useState = React.useState(0),
36053
- chunkIndex = _useState[0],
36054
- setChunkIndex = _useState[1];
36055
- var onHandleSpacePress = function onHandleSpacePress(event) {
36056
- if (event.code === 'Space') {
36057
- goToNextStep();
36058
- }
36059
- };
36060
- var goToNextStep = function goToNextStep() {
36061
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
36062
- if (hasNextChunk) {
36063
- setChunkIndex(function (prev) {
36064
- return prev + 1;
36065
- });
36066
- } else {
36067
- // if there's no more text chunks, close the dialog
36068
- onClose();
36069
- }
36070
- };
36071
- React.useEffect(function () {
36072
- document.addEventListener('keydown', onHandleSpacePress);
36073
- return function () {
36074
- return document.removeEventListener('keydown', onHandleSpacePress);
36075
- };
36076
- }, [chunkIndex]);
36077
- var _useState2 = React.useState(false),
36078
- showGoNextIndicator = _useState2[0],
36079
- setShowGoNextIndicator = _useState2[1];
36080
- return React__default.createElement(Container$k, null, React__default.createElement(DynamicText, {
36081
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
36082
- onFinish: function onFinish() {
36083
- setShowGoNextIndicator(true);
36084
- onEndStep && onEndStep();
36085
- },
36086
- onStart: function onStart() {
36087
- setShowGoNextIndicator(false);
36088
- onStartStep && onStartStep();
36089
- }
36090
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
36091
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
36092
- src: IS_MOBILE_OR_TABLET ? img$d : img$7,
36093
- onClick: function onClick() {
36094
- goToNextStep();
36095
- }
36096
- }));
36097
- };
36098
- var Container$k = /*#__PURE__*/styled.div.withConfig({
36099
- displayName: "NPCDialogText__Container",
36100
- componentId: "sc-1cxkdh9-0"
36101
- })([""]);
36102
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
36103
- displayName: "NPCDialogText__PressSpaceIndicator",
36104
- componentId: "sc-1cxkdh9-1"
36105
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
36106
- var right = _ref2.right;
36107
- return right;
36108
- });
36109
-
36110
- (function (NPCDialogType) {
36111
- NPCDialogType["TextOnly"] = "TextOnly";
36112
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
36113
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
36114
- var NPCDialog = function NPCDialog(_ref) {
36115
- var text = _ref.text,
36116
- type = _ref.type,
36117
- _onClose = _ref.onClose,
36118
- imagePath = _ref.imagePath,
36119
- _ref$isQuestionDialog = _ref.isQuestionDialog,
36120
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
36121
- questions = _ref.questions,
36122
- answers = _ref.answers;
36123
- return React__default.createElement(RPGUIContainer, {
36124
- type: exports.RPGUIContainerTypes.FramedGold,
36125
- width: isQuestionDialog ? '600px' : '80%',
36126
- height: '180px'
36127
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
36128
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36129
- }, React__default.createElement(QuestionDialog, {
36130
- questions: questions,
36131
- answers: answers,
36132
- onClose: function onClose() {
36133
- if (_onClose) {
36134
- _onClose();
36135
- }
36136
- }
36137
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
36138
- src: imagePath || img$6
36139
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$l, null, React__default.createElement(TextContainer$2, {
36140
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36141
- }, React__default.createElement(NPCDialogText, {
36142
- type: type,
36143
- text: text || 'No text provided.',
36144
- onClose: function onClose() {
36145
- if (_onClose) {
36146
- _onClose();
36147
- }
36148
- }
36149
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
36150
- src: imagePath || img$6
36151
- })))));
36152
- };
36153
- var Container$l = /*#__PURE__*/styled.div.withConfig({
36154
- displayName: "NPCDialog__Container",
36155
- componentId: "sc-1b4aw74-0"
36156
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
36157
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
36158
- displayName: "NPCDialog__TextContainer",
36159
- componentId: "sc-1b4aw74-1"
36160
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
36161
- var flex = _ref2.flex;
36162
- return flex;
36163
- });
36164
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
36165
- displayName: "NPCDialog__ThumbnailContainer",
36166
- componentId: "sc-1b4aw74-2"
36167
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
36168
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
36169
- displayName: "NPCDialog__NPCThumbnail",
36170
- componentId: "sc-1b4aw74-3"
36171
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
36172
-
36173
- var HistoryDialog = function HistoryDialog(_ref) {
36174
- var backgroundImgPath = _ref.backgroundImgPath,
36175
- fullCoverBackground = _ref.fullCoverBackground,
36176
- questions = _ref.questions,
36177
- answers = _ref.answers,
36178
- text = _ref.text,
36179
- imagePath = _ref.imagePath,
36180
- textAndTypeArray = _ref.textAndTypeArray,
36181
- onClose = _ref.onClose;
36182
- var _useState = React.useState(0),
36183
- img = _useState[0],
36184
- setImage = _useState[1];
36185
- var onHandleSpacePress = function onHandleSpacePress(event) {
36186
- if (event.code === 'Space') {
36187
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
36188
- setImage(function (prev) {
36189
- return prev + 1;
36190
- });
36191
- } else {
36192
- // if there's no more text chunks, close the dialog
36193
- onClose();
36194
- }
36195
- }
36196
- };
36197
- React.useEffect(function () {
36198
- document.addEventListener('keydown', onHandleSpacePress);
36199
- return function () {
36200
- return document.removeEventListener('keydown', onHandleSpacePress);
36201
- };
36202
- }, [backgroundImgPath]);
36203
- return React__default.createElement(BackgroundContainer, {
36204
- imgPath: backgroundImgPath[img],
36205
- fullImg: fullCoverBackground
36206
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
36207
- textAndTypeArray: textAndTypeArray,
36208
- onClose: onClose
36209
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
36210
- questions: questions,
36211
- answers: answers,
36212
- onClose: onClose
36213
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
36214
- text: text,
36215
- imagePath: imagePath,
36216
- onClose: onClose,
36217
- type: exports.NPCDialogType.TextAndThumbnail
36218
- }) : React__default.createElement(NPCDialog, {
36219
- text: text,
36220
- onClose: onClose,
36221
- type: exports.NPCDialogType.TextOnly
36222
- })));
36223
- };
36224
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
36225
- displayName: "HistoryDialog__BackgroundContainer",
36226
- componentId: "sc-u6oe75-0"
36227
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
36228
- return props.imgPath;
36229
- }, function (props) {
36230
- return props.imgPath ? 'cover' : 'auto';
36231
- });
36232
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
36233
- displayName: "HistoryDialog__DialogContainer",
36234
- componentId: "sc-u6oe75-1"
36235
- })(["display:flex;justify-content:center;padding-top:200px;"]);
36236
-
36237
36056
  exports.Button = Button;
36238
36057
  exports.CharacterSelection = CharacterSelection;
36239
36058
  exports.Chat = Chat;
@@ -36261,12 +36080,13 @@ exports.PropertySelect = PropertySelect;
36261
36080
  exports.QuestInfo = QuestInfo;
36262
36081
  exports.QuestList = QuestList;
36263
36082
  exports.QuestionDialog = QuestionDialog;
36083
+ exports.QuickSpells = QuickSpells;
36264
36084
  exports.RPGUIContainer = RPGUIContainer;
36265
36085
  exports.RPGUIRoot = RPGUIRoot;
36266
36086
  exports.RangeSlider = RangeSlider;
36267
- exports.Shortcuts = Shortcuts;
36268
36087
  exports.SkillProgressBar = SkillProgressBar;
36269
36088
  exports.SkillsContainer = SkillsContainer;
36089
+ exports.SpellShortcut = SpellShortcut;
36270
36090
  exports.Spellbook = Spellbook;
36271
36091
  exports.SpriteFromAtlas = SpriteFromAtlas;
36272
36092
  exports.TextArea = TextArea;