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