@rpg-engine/long-bow 0.3.96 → 0.3.98

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 (182) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/CircularController/CircularController.d.ts +1 -0
  4. package/dist/components/Shortcuts/Shortcuts.d.ts +1 -0
  5. package/dist/components/Shortcuts/useShortcutCooldown.d.ts +4 -0
  6. package/dist/components/Spellbook/Spell.d.ts +5 -4
  7. package/dist/components/Spellbook/Spellbook.d.ts +3 -2
  8. package/dist/components/Spellbook/cards/MobileSpellTooltip.d.ts +15 -0
  9. package/dist/components/Spellbook/cards/SpellInfo.d.ts +7 -0
  10. package/dist/components/Spellbook/cards/SpellInfoDisplay.d.ts +7 -0
  11. package/dist/components/Spellbook/cards/SpellInfoWrapper.d.ts +9 -0
  12. package/dist/components/Spellbook/cards/SpellTooltip.d.ts +6 -0
  13. package/dist/components/Spellbook/mockSpells.d.ts +2 -2
  14. package/dist/libs/CastingTypeHelper.d.ts +1 -0
  15. package/dist/long-bow.cjs.development.js +1525 -1255
  16. package/dist/long-bow.cjs.development.js.map +1 -1
  17. package/dist/long-bow.cjs.production.min.js +1 -1
  18. package/dist/long-bow.cjs.production.min.js.map +1 -1
  19. package/dist/long-bow.esm.js +1531 -1261
  20. package/dist/long-bow.esm.js.map +1 -1
  21. package/dist/stories/SpellInfoDisplay.stories.d.ts +8 -0
  22. package/package.json +100 -100
  23. package/src/.DS_Store +0 -0
  24. package/src/components/.DS_Store +0 -0
  25. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  26. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  27. package/src/components/Arrow/SelectArrow.tsx +69 -69
  28. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  29. package/src/components/Arrow/img/arrow01-left.png +0 -0
  30. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  31. package/src/components/Arrow/img/arrow01-right.png +0 -0
  32. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  33. package/src/components/Arrow/img/arrow02-left.png +0 -0
  34. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  35. package/src/components/Arrow/img/arrow02-right.png +0 -0
  36. package/src/components/Button.tsx +40 -40
  37. package/src/components/Character/CharacterSelection.tsx +98 -98
  38. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  39. package/src/components/Chat/Chat.tsx +196 -196
  40. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  41. package/src/components/CheckButton.tsx +65 -65
  42. package/src/components/CircularController/CircularController.tsx +282 -249
  43. package/src/components/CraftBook/CraftBook.tsx +286 -286
  44. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  45. package/src/components/CraftBook/MockItems.ts +101 -101
  46. package/src/components/DraggableContainer.tsx +180 -180
  47. package/src/components/DropdownSelectorContainer.tsx +42 -42
  48. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  49. package/src/components/HistoryDialog.tsx +104 -104
  50. package/src/components/Input.tsx +15 -15
  51. package/src/components/InputRadio.tsx +41 -41
  52. package/src/components/Item/Cards/ItemInfo.tsx +298 -288
  53. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  54. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  55. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  56. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  57. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  58. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  59. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  60. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  61. package/src/components/Item/Inventory/ItemSlot.tsx +580 -580
  62. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  63. package/src/components/ListMenu.tsx +63 -63
  64. package/src/components/Marketplace/Marketplace.tsx +132 -132
  65. package/src/components/Marketplace/MarketplaceRows.tsx +171 -171
  66. package/src/components/Marketplace/__mocks__/index.tsx +65 -65
  67. package/src/components/Multitab/Tab.tsx +66 -66
  68. package/src/components/Multitab/TabBody.tsx +13 -13
  69. package/src/components/Multitab/TabsContainer.tsx +97 -97
  70. package/src/components/NPCDialog/.DS_Store +0 -0
  71. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  72. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  73. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  74. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  75. package/src/components/NPCDialog/img/.DS_Store +0 -0
  76. package/src/components/ProgressBar.tsx +92 -92
  77. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  78. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  79. package/src/components/QuestList.tsx +135 -135
  80. package/src/components/RPGUIContainer.tsx +47 -47
  81. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  82. package/src/components/RPGUIRoot.tsx +14 -14
  83. package/src/components/RadioButton.tsx +53 -53
  84. package/src/components/RadioInput/RadioButton.tsx +96 -96
  85. package/src/components/RadioInput/RadioInput.tsx +102 -102
  86. package/src/components/RadioInput/instruments.ts +15 -15
  87. package/src/components/RangeSlider.tsx +78 -78
  88. package/src/components/RelativeListMenu.tsx +90 -90
  89. package/src/components/ScrollList.tsx +79 -79
  90. package/src/components/Shortcuts/Shortcuts.tsx +192 -153
  91. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  92. package/src/components/Shortcuts/SingleShortcut.ts +82 -62
  93. package/src/components/Shortcuts/useShortcutCooldown.ts +24 -0
  94. package/src/components/SimpleProgressBar.tsx +62 -62
  95. package/src/components/SkillProgressBar.tsx +133 -133
  96. package/src/components/SkillsContainer.tsx +206 -206
  97. package/src/components/Spellbook/Spell.tsx +236 -201
  98. package/src/components/Spellbook/Spellbook.tsx +159 -153
  99. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -0
  100. package/src/components/Spellbook/cards/SpellInfo.tsx +132 -0
  101. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -0
  102. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -0
  103. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -0
  104. package/src/components/Spellbook/constants.ts +8 -8
  105. package/src/components/Spellbook/mockSpells.ts +85 -60
  106. package/src/components/StaticBook/StaticBook.tsx +103 -103
  107. package/src/components/TextArea.tsx +11 -11
  108. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  109. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  110. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  111. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  112. package/src/components/TradingMenu/items.mock.ts +48 -48
  113. package/src/components/Truncate.tsx +25 -25
  114. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  115. package/src/components/shared/Column.tsx +16 -16
  116. package/src/components/shared/Ellipsis.tsx +68 -68
  117. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  118. package/src/components/typography/DynamicText.tsx +49 -49
  119. package/src/constants/uiColors.ts +20 -20
  120. package/src/constants/uiDevices.ts +3 -3
  121. package/src/constants/uiFonts.ts +12 -12
  122. package/src/hooks/useEventListener.ts +21 -21
  123. package/src/hooks/useOutsideAlerter.ts +25 -25
  124. package/src/index.tsx +42 -42
  125. package/src/libs/CastingTypeHelper.ts +8 -0
  126. package/src/libs/StringHelpers.ts +3 -3
  127. package/src/libs/itemCounter.ts +21 -21
  128. package/src/mocks/.DS_Store +0 -0
  129. package/src/mocks/atlas/.DS_Store +0 -0
  130. package/src/mocks/atlas/entities/entities.json +20215 -20215
  131. package/src/mocks/atlas/icons/icons.json +735 -735
  132. package/src/mocks/atlas/items/items.json +12086 -12086
  133. package/src/mocks/equipmentSet.mocks.ts +391 -391
  134. package/src/mocks/itemContainer.mocks.ts +605 -605
  135. package/src/mocks/skills.mocks.ts +128 -128
  136. package/src/stories/Arrow.stories.tsx +26 -26
  137. package/src/stories/Button.stories.tsx +36 -36
  138. package/src/stories/CharacterSelection.stories.tsx +44 -44
  139. package/src/stories/CharacterStatus.stories.tsx +29 -29
  140. package/src/stories/Chat.stories.tsx +187 -187
  141. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  142. package/src/stories/CheckButton.stories.tsx +48 -48
  143. package/src/stories/CircullarController.stories.tsx +37 -37
  144. package/src/stories/CraftBook.stories.tsx +42 -42
  145. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  146. package/src/stories/DraggableContainer.stories.tsx +28 -28
  147. package/src/stories/Dropdown.stories.tsx +46 -46
  148. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  149. package/src/stories/EquipmentSet.stories.tsx +65 -65
  150. package/src/stories/HistoryDialog.stories.tsx +61 -61
  151. package/src/stories/ItemContainer.stories.tsx +201 -201
  152. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  153. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  154. package/src/stories/ItemSelector.stories.tsx +77 -77
  155. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  156. package/src/stories/ListMenu.stories.tsx +56 -56
  157. package/src/stories/Marketplace.stories.tsx +42 -42
  158. package/src/stories/MarketplaceRows.stories.tsx +28 -28
  159. package/src/stories/Multitab.stories.tsx +51 -51
  160. package/src/stories/NPCDialog.stories.tsx +130 -130
  161. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  162. package/src/stories/ProgressBar.stories.tsx +23 -23
  163. package/src/stories/PropertySelect.stories.tsx +40 -40
  164. package/src/stories/QuestInfo.stories.tsx +107 -107
  165. package/src/stories/QuestList.stories.tsx +82 -82
  166. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  167. package/src/stories/RadioButton.stories.tsx +49 -49
  168. package/src/stories/RadioInput.stories.tsx +34 -34
  169. package/src/stories/RangeSlider.stories.tsx +64 -64
  170. package/src/stories/ScrollList.stories.tsx +85 -85
  171. package/src/stories/Shortcuts.stories.tsx +39 -39
  172. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  173. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  174. package/src/stories/SkillsContainer.stories.tsx +35 -35
  175. package/src/stories/SpellInfoDisplay.stories.tsx +27 -0
  176. package/src/stories/Spellbook.stories.tsx +104 -104
  177. package/src/stories/StaticBook.stories.tsx +32 -32
  178. package/src/stories/Text.stories.tsx +42 -42
  179. package/src/stories/TimeWidget.stories.tsx +27 -27
  180. package/src/stories/TradingMenu.stories.tsx +47 -47
  181. package/src/types/eventTypes.ts +4 -4
  182. package/src/types/index.d.ts +2 -2
@@ -12849,7 +12849,31 @@ var CheckButton = function CheckButton(_ref) {
12849
12849
  var SingleShortcut = /*#__PURE__*/styled.button.withConfig({
12850
12850
  displayName: "SingleShortcut",
12851
12851
  componentId: "sc-vz5ev8-0"
12852
- })(["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:", ";border-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.darkGray, uiColors.gray, uiColors.yellow);
12852
+ })(["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:", ";}.onCooldown{color:", ";}.cooldown{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;border-radius:inherit;background-color:rgba(0 0 0 / 60%);font-size:0.7rem;display:flex;align-items:center;justify-content:center;color:", ";}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";border-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.gray, uiColors.darkYellow, uiColors.darkGray, uiColors.gray, uiColors.yellow);
12853
+
12854
+ var useShortcutCooldown = function useShortcutCooldown(onShortcutCast) {
12855
+ var _useState = React.useState(0),
12856
+ shortcutCooldown = _useState[0],
12857
+ setShortcutCooldown = _useState[1];
12858
+ var cooldownTimeout = React.useRef(null);
12859
+ var handleShortcutCast = function handleShortcutCast(index) {
12860
+ console.log(shortcutCooldown);
12861
+ if (shortcutCooldown <= 0) setShortcutCooldown(1.5);
12862
+ onShortcutCast(index);
12863
+ };
12864
+ React.useEffect(function () {
12865
+ if (cooldownTimeout.current) clearTimeout(cooldownTimeout.current);
12866
+ if (shortcutCooldown > 0) {
12867
+ cooldownTimeout.current = setTimeout(function () {
12868
+ setShortcutCooldown(shortcutCooldown - 0.1);
12869
+ }, 100);
12870
+ }
12871
+ }, [shortcutCooldown]);
12872
+ return {
12873
+ shortcutCooldown: shortcutCooldown,
12874
+ handleShortcutCast: handleShortcutCast
12875
+ };
12876
+ };
12853
12877
 
12854
12878
  var CircularController = function CircularController(_ref) {
12855
12879
  var onActionClick = _ref.onActionClick,
@@ -12859,7 +12883,11 @@ var CircularController = function CircularController(_ref) {
12859
12883
  shortcuts = _ref.shortcuts,
12860
12884
  inventory = _ref.inventory,
12861
12885
  atlasIMG = _ref.atlasIMG,
12862
- atlasJSON = _ref.atlasJSON;
12886
+ atlasJSON = _ref.atlasJSON,
12887
+ spellCooldowns = _ref.spellCooldowns;
12888
+ var _useShortcutCooldown = useShortcutCooldown(onShortcutClick),
12889
+ handleShortcutCast = _useShortcutCooldown.handleShortcutCast,
12890
+ shortcutCooldown = _useShortcutCooldown.shortcutCooldown;
12863
12891
  var onTouchStart = function onTouchStart(e) {
12864
12892
  var target = e.target;
12865
12893
  target == null ? void 0 : target.classList.add('active');
@@ -12872,10 +12900,14 @@ var CircularController = function CircularController(_ref) {
12872
12900
  action();
12873
12901
  };
12874
12902
  var renderShortcut = function renderShortcut(i) {
12875
- var _shortcuts$i, _shortcuts$i2, _shortcuts$i4, _payload$manaCost;
12903
+ var _shortcuts$i, _shortcuts$i2, _shortcuts$i4, _spellCooldowns$paylo, _payload$manaCost;
12904
+ var buildClassName = function buildClassName(classBase, isOnCooldown) {
12905
+ return classBase + " " + (isOnCooldown ? 'onCooldown' : '');
12906
+ };
12876
12907
  var variant = '';
12877
12908
  if (i === 0) variant = 'top';else if (i >= 3) variant = "bottom-" + (i - 3);
12878
- var onShortcutClickBinded = ((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) !== shared.ShortcutType.None ? onShortcutClick.bind(null, i) : function () {};
12909
+ var onShortcutClickBinded = ((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) !== shared.ShortcutType.None ? handleShortcutCast.bind(null, i) : function () {};
12910
+ var isOnShortcutCooldown = shortcutCooldown > 0;
12879
12911
  if (((_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.type) === shared.ShortcutType.Item) {
12880
12912
  var _shortcuts$i3;
12881
12913
  var _payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
@@ -12898,7 +12930,9 @@ var CircularController = function CircularController(_ref) {
12898
12930
  onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
12899
12931
  disabled: false,
12900
12932
  className: variant
12901
- }, _payload && React__default.createElement(SpriteFromAtlas, {
12933
+ }, isOnShortcutCooldown && React__default.createElement("span", {
12934
+ className: "cooldown"
12935
+ }, shortcutCooldown.toFixed(1)), _payload && React__default.createElement(SpriteFromAtlas, {
12902
12936
  atlasIMG: atlasIMG,
12903
12937
  atlasJSON: atlasJSON,
12904
12938
  spriteKey: shared.getItemTextureKeyPath({
@@ -12917,18 +12951,23 @@ var CircularController = function CircularController(_ref) {
12917
12951
  pointerEvents: 'none'
12918
12952
  }
12919
12953
  }), React__default.createElement("span", {
12920
- className: "qty"
12954
+ className: buildClassName('qty', isOnShortcutCooldown)
12921
12955
  }, totalQty));
12922
12956
  }
12923
12957
  var payload = (_shortcuts$i4 = shortcuts[i]) == null ? void 0 : _shortcuts$i4.payload;
12958
+ var spellCooldown = !payload ? 0 : (_spellCooldowns$paylo = spellCooldowns == null ? void 0 : spellCooldowns[payload.magicWords.replaceAll(' ', '_')]) != null ? _spellCooldowns$paylo : shortcutCooldown;
12959
+ var cooldown = spellCooldown > shortcutCooldown ? spellCooldown : shortcutCooldown;
12960
+ var isOnCooldown = cooldown > 0 && !!payload;
12924
12961
  return React__default.createElement(StyledShortcut, {
12925
12962
  key: i,
12926
12963
  onTouchStart: onTouchStart,
12927
12964
  onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
12928
12965
  disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0),
12929
12966
  className: variant
12930
- }, React__default.createElement("span", {
12931
- className: "mana"
12967
+ }, isOnCooldown && React__default.createElement("span", {
12968
+ className: "cooldown"
12969
+ }, cooldown.toFixed(cooldown < 10 ? 1 : 0)), React__default.createElement("span", {
12970
+ className: buildClassName('mana', isOnCooldown)
12932
12971
  }, payload && payload.manaCost), React__default.createElement("span", {
12933
12972
  className: "magicWords"
12934
12973
  }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
@@ -13870,7 +13909,9 @@ var ItemInfo = function ItemInfo(_ref) {
13870
13909
  item: item
13871
13910
  }, React__default.createElement(Header, null, React__default.createElement("div", null, React__default.createElement(Title$1, null, item.name), item.rarity !== 'Common' && React__default.createElement(Rarity, {
13872
13911
  item: item
13873
- }, item.rarity), React__default.createElement(Type, null, item.subType)), React__default.createElement(AllowedSlots, null, renderAvaibleSlots())), item.minRequirements && React__default.createElement(LevelRequirement, null, React__default.createElement("div", null, "Level: ", item.minRequirements.level), React__default.createElement("div", null, item.minRequirements.skill.name[0].toUpperCase() + item.minRequirements.skill.name.slice(1), ": ", item.minRequirements.skill.level)), renderStatistics(), renderEntityEffects(), item.usableEffectDescription && React__default.createElement(Statistic, {
13912
+ }, item.rarity), React__default.createElement(Type, null, item.subType)), React__default.createElement(AllowedSlots, null, renderAvaibleSlots())), item.minRequirements && React__default.createElement(LevelRequirement, null, React__default.createElement("div", {
13913
+ className: "title"
13914
+ }, "Requirements:"), React__default.createElement("div", null, "- Level: ", item.minRequirements.level), React__default.createElement("div", null, "-", ' ', item.minRequirements.skill.name[0].toUpperCase() + item.minRequirements.skill.name.slice(1), ": ", item.minRequirements.skill.level)), renderStatistics(), renderEntityEffects(), item.usableEffectDescription && React__default.createElement(Statistic, {
13874
13915
  "$isSpecial": true
13875
13916
  }, item.usableEffectDescription), item.equippedBuffDescription && React__default.createElement(Statistic, {
13876
13917
  "$isSpecial": true
@@ -13904,7 +13945,7 @@ var Type = /*#__PURE__*/styled.div.withConfig({
13904
13945
  var LevelRequirement = /*#__PURE__*/styled.div.withConfig({
13905
13946
  displayName: "ItemInfo__LevelRequirement",
13906
13947
  componentId: "sc-1xm4q8k-4"
13907
- })(["font-size:", ";margin-top:0.2rem;margin-bottom:1rem;color:", ";"], uiFonts.size.small, uiColors.orange);
13948
+ })(["font-size:", ";margin-top:0.2rem;margin-bottom:1rem;color:", ";.title{margin-bottom:4px;}div{margin-bottom:2px;}"], uiFonts.size.small, uiColors.orange);
13908
13949
  var Statistic = /*#__PURE__*/styled.div.withConfig({
13909
13950
  displayName: "ItemInfo__Statistic",
13910
13951
  componentId: "sc-1xm4q8k-5"
@@ -14552,1024 +14593,1237 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14552
14593
  componentId: "sc-1wuddg2-1"
14553
14594
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14554
14595
 
14555
- var SlotsContainer = function SlotsContainer(_ref) {
14556
- var children = _ref.children,
14557
- title = _ref.title,
14558
- onClose = _ref.onClose,
14559
- _onPositionChange = _ref.onPositionChange,
14560
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
14561
- _onPositionChangeStart = _ref.onPositionChangeStart,
14562
- onOutsideClick = _ref.onOutsideClick,
14563
- initialPosition = _ref.initialPosition,
14564
- scale = _ref.scale;
14565
- return React__default.createElement(DraggableContainer, {
14566
- title: title,
14567
- type: exports.RPGUIContainerTypes.Framed,
14568
- onCloseButton: function onCloseButton() {
14569
- if (onClose) {
14570
- onClose();
14571
- }
14572
- },
14573
- width: "400px",
14574
- cancelDrag: ".item-container-body, #shortcuts_list",
14575
- onPositionChange: function onPositionChange(_ref2) {
14576
- var x = _ref2.x,
14577
- y = _ref2.y;
14578
- if (_onPositionChange) {
14579
- _onPositionChange({
14580
- x: x,
14581
- y: y
14582
- });
14583
- }
14584
- },
14585
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14586
- var x = _ref3.x,
14587
- y = _ref3.y;
14588
- if (_onPositionChangeEnd) {
14589
- _onPositionChangeEnd({
14590
- x: x,
14591
- y: y
14592
- });
14596
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
14597
+
14598
+ var chunkString = function chunkString(str, length) {
14599
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
14600
+ };
14601
+
14602
+ var DynamicText = function DynamicText(_ref) {
14603
+ var text = _ref.text,
14604
+ onFinish = _ref.onFinish,
14605
+ onStart = _ref.onStart;
14606
+ var _useState = React.useState(''),
14607
+ textState = _useState[0],
14608
+ setTextState = _useState[1];
14609
+ React.useEffect(function () {
14610
+ var i = 0;
14611
+ var interval = setInterval(function () {
14612
+ // on every interval, show one more character
14613
+ if (i === 0) {
14614
+ if (onStart) {
14615
+ onStart();
14616
+ }
14593
14617
  }
14594
- },
14595
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
14596
- var x = _ref4.x,
14597
- y = _ref4.y;
14598
- if (_onPositionChangeStart) {
14599
- _onPositionChangeStart({
14600
- x: x,
14601
- y: y
14602
- });
14618
+ if (i < text.length) {
14619
+ setTextState(text.substring(0, i + 1));
14620
+ i++;
14621
+ } else {
14622
+ clearInterval(interval);
14623
+ if (onFinish) {
14624
+ onFinish();
14625
+ }
14603
14626
  }
14604
- },
14605
- onOutsideClick: onOutsideClick,
14606
- initialPosition: initialPosition,
14607
- scale: scale
14608
- }, children);
14627
+ }, 50);
14628
+ return function () {
14629
+ clearInterval(interval);
14630
+ };
14631
+ }, [text]);
14632
+ return React__default.createElement(TextContainer, null, textState);
14609
14633
  };
14634
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
14635
+ displayName: "DynamicText__TextContainer",
14636
+ componentId: "sc-1ggl9nd-0"
14637
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14610
14638
 
14611
- (function (RangeSliderType) {
14612
- RangeSliderType["Slider"] = "rpgui-slider";
14613
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14614
- })(exports.RangeSliderType || (exports.RangeSliderType = {}));
14615
- var RangeSlider = function RangeSlider(_ref) {
14616
- var type = _ref.type,
14617
- valueMin = _ref.valueMin,
14618
- valueMax = _ref.valueMax,
14619
- width = _ref.width,
14620
- _onChange = _ref.onChange,
14621
- value = _ref.value;
14622
- var sliderId = uuid.v4();
14623
- var containerRef = React.useRef(null);
14639
+ var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14640
+
14641
+ var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
14642
+
14643
+ var NPCDialogText = function NPCDialogText(_ref) {
14644
+ var text = _ref.text,
14645
+ onClose = _ref.onClose,
14646
+ onEndStep = _ref.onEndStep,
14647
+ onStartStep = _ref.onStartStep,
14648
+ type = _ref.type;
14649
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
14650
+ function maxCharacters(width) {
14651
+ // Set the font size to 16 pixels
14652
+ var fontSize = 11.2;
14653
+ // Calculate the number of characters that can fit in one line
14654
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
14655
+ // Calculate the number of lines that can fit in the div
14656
+ var linesPerDiv = Math.floor(180 / fontSize);
14657
+ // Calculate the maximum number of characters that can fit in the div
14658
+ var maxCharacters = charactersPerLine * linesPerDiv;
14659
+ // Return the maximum number of characters
14660
+ return Math.round(maxCharacters / 5);
14661
+ }
14662
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14624
14663
  var _useState = React.useState(0),
14625
- left = _useState[0],
14626
- setLeft = _useState[1];
14664
+ chunkIndex = _useState[0],
14665
+ setChunkIndex = _useState[1];
14666
+ var onHandleSpacePress = function onHandleSpacePress(event) {
14667
+ if (event.code === 'Space') {
14668
+ goToNextStep();
14669
+ }
14670
+ };
14671
+ var goToNextStep = function goToNextStep() {
14672
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14673
+ if (hasNextChunk) {
14674
+ setChunkIndex(function (prev) {
14675
+ return prev + 1;
14676
+ });
14677
+ } else {
14678
+ // if there's no more text chunks, close the dialog
14679
+ onClose();
14680
+ }
14681
+ };
14627
14682
  React.useEffect(function () {
14628
- var _containerRef$current;
14629
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14630
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14631
- }, [value, valueMin, valueMax]);
14632
- var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
14633
- return React__default.createElement("div", {
14634
- style: {
14635
- width: width,
14636
- position: 'relative'
14683
+ document.addEventListener('keydown', onHandleSpacePress);
14684
+ return function () {
14685
+ return document.removeEventListener('keydown', onHandleSpacePress);
14686
+ };
14687
+ }, [chunkIndex]);
14688
+ var _useState2 = React.useState(false),
14689
+ showGoNextIndicator = _useState2[0],
14690
+ setShowGoNextIndicator = _useState2[1];
14691
+ return React__default.createElement(Container$e, null, React__default.createElement(DynamicText, {
14692
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14693
+ onFinish: function onFinish() {
14694
+ setShowGoNextIndicator(true);
14695
+ onEndStep && onEndStep();
14637
14696
  },
14638
- className: "rpgui-slider-container " + typeClass,
14639
- id: "rpgui-slider-" + sliderId,
14640
- ref: containerRef
14641
- }, React__default.createElement("div", {
14642
- style: {
14643
- pointerEvents: 'none'
14697
+ onStart: function onStart() {
14698
+ setShowGoNextIndicator(false);
14699
+ onStartStep && onStartStep();
14644
14700
  }
14645
- }, React__default.createElement("div", {
14646
- className: "rpgui-slider-track " + typeClass
14647
- }), React__default.createElement("div", {
14648
- className: "rpgui-slider-left-edge " + typeClass
14649
- }), React__default.createElement("div", {
14650
- className: "rpgui-slider-right-edge " + typeClass
14651
- }), React__default.createElement("div", {
14652
- className: "rpgui-slider-thumb " + typeClass,
14653
- style: {
14654
- left: left
14701
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
14702
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14703
+ src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14704
+ onPointerDown: function onPointerDown() {
14705
+ goToNextStep();
14655
14706
  }
14656
- })), React__default.createElement(Input$1, {
14657
- type: "range",
14658
- style: {
14659
- width: width
14660
- },
14661
- min: valueMin,
14662
- max: valueMax,
14663
- onChange: function onChange(e) {
14664
- return _onChange(Number(e.target.value));
14665
- },
14666
- value: value,
14667
- className: "rpgui-cursor-point"
14668
14707
  }));
14669
14708
  };
14670
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
14671
- displayName: "RangeSlider__Input",
14672
- componentId: "sc-v8mte9-0"
14673
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14709
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14710
+ displayName: "NPCDialogText__Container",
14711
+ componentId: "sc-1cxkdh9-0"
14712
+ })([""]);
14713
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14714
+ displayName: "NPCDialogText__PressSpaceIndicator",
14715
+ componentId: "sc-1cxkdh9-1"
14716
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14717
+ var right = _ref2.right;
14718
+ return right;
14719
+ });
14674
14720
 
14675
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14676
- var quantity = _ref.quantity,
14677
- onConfirm = _ref.onConfirm,
14721
+ //@ts-ignore
14722
+ var useEventListener = function useEventListener(type, handler, el) {
14723
+ if (el === void 0) {
14724
+ el = window;
14725
+ }
14726
+ var savedHandler = React__default.useRef();
14727
+ React__default.useEffect(function () {
14728
+ savedHandler.current = handler;
14729
+ }, [handler]);
14730
+ React__default.useEffect(function () {
14731
+ //@ts-ignore
14732
+ var listener = function listener(e) {
14733
+ return savedHandler.current(e);
14734
+ };
14735
+ el.addEventListener(type, listener);
14736
+ return function () {
14737
+ el.removeEventListener(type, listener);
14738
+ };
14739
+ }, [type, el]);
14740
+ };
14741
+
14742
+ var QuestionDialog = function QuestionDialog(_ref) {
14743
+ var questions = _ref.questions,
14744
+ answers = _ref.answers,
14678
14745
  onClose = _ref.onClose;
14679
- var _useState = React.useState(quantity),
14680
- value = _useState[0],
14681
- setValue = _useState[1];
14682
- var inputRef = React.useRef(null);
14746
+ var _useState = React.useState(questions[0]),
14747
+ currentQuestion = _useState[0],
14748
+ setCurrentQuestion = _useState[1];
14749
+ var _useState2 = React.useState(false),
14750
+ canShowAnswers = _useState2[0],
14751
+ setCanShowAnswers = _useState2[1];
14752
+ var onGetFirstAnswer = function onGetFirstAnswer() {
14753
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14754
+ return null;
14755
+ }
14756
+ var firstAnswerId = currentQuestion.answerIds[0];
14757
+ return answers.find(function (answer) {
14758
+ return answer.id === firstAnswerId;
14759
+ });
14760
+ };
14761
+ var _useState3 = React.useState(onGetFirstAnswer()),
14762
+ currentAnswer = _useState3[0],
14763
+ setCurrentAnswer = _useState3[1];
14683
14764
  React.useEffect(function () {
14684
- if (inputRef.current) {
14685
- inputRef.current.focus();
14686
- inputRef.current.select();
14687
- var closeSelector = function closeSelector(e) {
14688
- if (e.key === 'Escape') {
14765
+ setCurrentAnswer(onGetFirstAnswer());
14766
+ }, [currentQuestion]);
14767
+ var onGetAnswers = function onGetAnswers(answerIds) {
14768
+ return answerIds.map(function (answerId) {
14769
+ return answers.find(function (answer) {
14770
+ return answer.id === answerId;
14771
+ });
14772
+ });
14773
+ };
14774
+ var onKeyPress = function onKeyPress(e) {
14775
+ switch (e.key) {
14776
+ case 'ArrowDown':
14777
+ // select next answer, if any.
14778
+ // if no next answer, select first answer
14779
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14780
+ // (answer) => answer?.id === currentAnswer!.id + 1
14781
+ // );
14782
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14783
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14784
+ });
14785
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14786
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14787
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
14788
+ });
14789
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14790
+ break;
14791
+ case 'ArrowUp':
14792
+ // select previous answer, if any.
14793
+ // if no previous answer, select last answer
14794
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14795
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14796
+ });
14797
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14798
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14799
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
14800
+ });
14801
+ if (previousAnswer) {
14802
+ setCurrentAnswer(previousAnswer);
14803
+ } else {
14804
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14805
+ }
14806
+ break;
14807
+ case 'Enter':
14808
+ setCanShowAnswers(false);
14809
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14689
14810
  onClose();
14811
+ return;
14812
+ } else {
14813
+ setCurrentQuestion(questions.find(function (question) {
14814
+ return question.id === currentAnswer.nextQuestionId;
14815
+ }));
14690
14816
  }
14691
- };
14692
- document.addEventListener('keydown', closeSelector);
14693
- return function () {
14694
- document.removeEventListener('keydown', closeSelector);
14695
- };
14817
+ break;
14696
14818
  }
14697
- return function () {};
14698
- }, []);
14699
- return React__default.createElement(StyledContainer, {
14700
- type: exports.RPGUIContainerTypes.Framed,
14701
- width: "25rem"
14702
- }, React__default.createElement(CloseButton$2, {
14703
- className: "container-close",
14704
- onPointerDown: onClose
14705
- }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
14706
- style: {
14707
- width: '100%'
14708
- },
14709
- onSubmit: function onSubmit(e) {
14710
- e.preventDefault();
14711
- var numberValue = Number(value);
14712
- if (Number.isNaN(numberValue)) {
14713
- return;
14714
- }
14715
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14716
- },
14717
- noValidate: true
14718
- }, React__default.createElement(StyledInput, {
14719
- innerRef: inputRef,
14720
- placeholder: "Enter quantity",
14721
- type: "number",
14722
- min: 1,
14723
- max: quantity,
14724
- value: value,
14725
- onChange: function onChange(e) {
14726
- if (Number(e.target.value) >= quantity) {
14727
- setValue(quantity);
14728
- return;
14819
+ };
14820
+ useEventListener('keydown', onKeyPress);
14821
+ var onAnswerClick = function onAnswerClick(answer) {
14822
+ setCanShowAnswers(false);
14823
+ if (answer.nextQuestionId) {
14824
+ // if there is a next question, go to it
14825
+ setCurrentQuestion(questions.find(function (question) {
14826
+ return question.id === answer.nextQuestionId;
14827
+ }));
14828
+ } else {
14829
+ // else, finish dialog!
14830
+ onClose();
14831
+ }
14832
+ };
14833
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14834
+ var answerIds = currentQuestion.answerIds;
14835
+ if (!answerIds) {
14836
+ return null;
14837
+ }
14838
+ var answers = onGetAnswers(answerIds);
14839
+ if (!answers) {
14840
+ return null;
14841
+ }
14842
+ return answers.map(function (answer) {
14843
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14844
+ var selectedColor = isSelected ? 'yellow' : 'white';
14845
+ if (answer) {
14846
+ return React__default.createElement(AnswerRow, {
14847
+ key: "answer_" + answer.id
14848
+ }, React__default.createElement(AnswerSelectedIcon, {
14849
+ color: selectedColor
14850
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
14851
+ key: answer.id,
14852
+ onPointerDown: function onPointerDown() {
14853
+ return onAnswerClick(answer);
14854
+ },
14855
+ color: selectedColor
14856
+ }, answer.text));
14729
14857
  }
14730
- setValue(e.target.value);
14858
+ return null;
14859
+ });
14860
+ };
14861
+ return React__default.createElement(Container$f, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
14862
+ text: currentQuestion.text,
14863
+ onStart: function onStart() {
14864
+ return setCanShowAnswers(false);
14731
14865
  },
14732
- onBlur: function onBlur(e) {
14733
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14734
- setValue(newValue);
14866
+ onFinish: function onFinish() {
14867
+ return setCanShowAnswers(true);
14735
14868
  }
14736
- }), React__default.createElement(RangeSlider, {
14737
- type: exports.RangeSliderType.Slider,
14738
- valueMin: 1,
14739
- valueMax: quantity,
14740
- width: "100%",
14741
- onChange: setValue,
14742
- value: value
14743
- }), React__default.createElement(Button, {
14744
- buttonType: exports.ButtonTypes.RPGUIButton,
14745
- type: "submit"
14746
- }, "Confirm")));
14869
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14747
14870
  };
14748
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14749
- displayName: "ItemQuantitySelector__StyledContainer",
14750
- componentId: "sc-yfdtpn-0"
14751
- })(["display:flex;flex-direction:column;align-items:center;"]);
14752
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
14753
- displayName: "ItemQuantitySelector__StyledForm",
14754
- componentId: "sc-yfdtpn-1"
14755
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14756
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14757
- displayName: "ItemQuantitySelector__StyledInput",
14758
- componentId: "sc-yfdtpn-2"
14759
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14760
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14761
- displayName: "ItemQuantitySelector__CloseButton",
14762
- componentId: "sc-yfdtpn-3"
14763
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
14871
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
14872
+ displayName: "QuestionDialog__Container",
14873
+ componentId: "sc-bxc5u0-0"
14874
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14875
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14876
+ displayName: "QuestionDialog__QuestionContainer",
14877
+ componentId: "sc-bxc5u0-1"
14878
+ })(["flex:100%;width:100%;"]);
14879
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14880
+ displayName: "QuestionDialog__AnswersContainer",
14881
+ componentId: "sc-bxc5u0-2"
14882
+ })(["flex:100%;"]);
14883
+ var Answer = /*#__PURE__*/styled.p.withConfig({
14884
+ displayName: "QuestionDialog__Answer",
14885
+ componentId: "sc-bxc5u0-3"
14886
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14887
+ return props.color;
14888
+ });
14889
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14890
+ displayName: "QuestionDialog__AnswerSelectedIcon",
14891
+ componentId: "sc-bxc5u0-4"
14892
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
14893
+ return props.color;
14894
+ });
14895
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14896
+ displayName: "QuestionDialog__AnswerRow",
14897
+ componentId: "sc-bxc5u0-5"
14898
+ })(["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;}"]);
14764
14899
 
14765
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
14766
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14767
- settingShortcutIndex = _ref.settingShortcutIndex,
14768
- shortcuts = _ref.shortcuts,
14769
- removeShortcut = _ref.removeShortcut,
14770
- atlasJSON = _ref.atlasJSON,
14771
- atlasIMG = _ref.atlasIMG;
14772
- var getContent = function getContent(index) {
14773
- var _shortcuts$index, _shortcuts$index3;
14774
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
14775
- var _shortcuts$index2;
14776
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14777
- if (!_payload) return null;
14778
- return React__default.createElement(SpriteFromAtlas, {
14779
- atlasIMG: atlasIMG,
14780
- atlasJSON: atlasJSON,
14781
- spriteKey: shared.getItemTextureKeyPath({
14782
- key: _payload.texturePath,
14783
- texturePath: _payload.texturePath,
14784
- stackQty: _payload.stackQty || 1,
14785
- isStackable: _payload.isStackable
14786
- }, atlasJSON),
14787
- width: 32,
14788
- height: 32,
14789
- imgScale: 1.6,
14790
- imgStyle: {
14791
- left: '5px'
14792
- }
14793
- });
14794
- }
14795
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14796
- return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14797
- return word[0];
14798
- }));
14799
- };
14800
- return React__default.createElement(Container$e, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
14801
- id: "shortcuts_list"
14802
- }, Array.from({
14803
- length: 6
14804
- }).map(function (_, i) {
14805
- return React__default.createElement(Shortcut, {
14806
- key: i,
14807
- onPointerDown: function onPointerDown() {
14808
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14809
- removeShortcut(i);
14810
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
14811
- },
14812
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14813
- isBeingSet: settingShortcutIndex === i,
14814
- id: "shortcutSetter_" + i
14815
- }, getContent(i));
14816
- })));
14817
- };
14818
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14819
- displayName: "ShortcutsSetter__Container",
14820
- componentId: "sc-xuouuf-0"
14821
- })(["p{margin:0;margin-left:0.5rem;}"]);
14822
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
14823
- displayName: "ShortcutsSetter__Shortcut",
14824
- componentId: "sc-xuouuf-1"
14825
- })(["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) {
14826
- var isBeingSet = _ref2.isBeingSet;
14827
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14828
- }, uiColors.darkGray, uiColors.gray);
14829
- var List = /*#__PURE__*/styled.div.withConfig({
14830
- displayName: "ShortcutsSetter__List",
14831
- componentId: "sc-xuouuf-2"
14832
- })(["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;"]);
14900
+ var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14833
14901
 
14834
- var ItemContainer$1 = function ItemContainer(_ref) {
14835
- var itemContainer = _ref.itemContainer,
14836
- onClose = _ref.onClose,
14837
- _onMouseOver = _ref.onMouseOver,
14838
- _onSelected = _ref.onSelected,
14839
- onItemClick = _ref.onItemClick,
14902
+ (function (NPCDialogType) {
14903
+ NPCDialogType["TextOnly"] = "TextOnly";
14904
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14905
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
14906
+ var NPCDialog = function NPCDialog(_ref) {
14907
+ var text = _ref.text,
14840
14908
  type = _ref.type,
14841
- atlasJSON = _ref.atlasJSON,
14842
- atlasIMG = _ref.atlasIMG,
14843
- _ref$disableContextMe = _ref.disableContextMenu,
14844
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14845
- onItemDragEnd = _ref.onItemDragEnd,
14846
- onItemDragStart = _ref.onItemDragStart,
14847
- onItemPlaceDrop = _ref.onItemPlaceDrop,
14848
- _onOutsideDrop = _ref.onOutsideDrop,
14849
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
14850
- initialPosition = _ref.initialPosition,
14851
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14852
- scale = _ref.scale,
14853
- shortcuts = _ref.shortcuts,
14854
- setItemShortcut = _ref.setItemShortcut,
14855
- removeShortcut = _ref.removeShortcut,
14856
- equipmentSet = _ref.equipmentSet,
14857
- isDepotSystem = _ref.isDepotSystem,
14858
- onPositionChangeEnd = _ref.onPositionChangeEnd,
14859
- onPositionChangeStart = _ref.onPositionChangeStart;
14860
- var _useState = React.useState({
14861
- isOpen: false,
14862
- maxQuantity: 1,
14863
- callback: function callback(_quantity) {}
14864
- }),
14865
- quantitySelect = _useState[0],
14866
- setQuantitySelect = _useState[1];
14867
- var _useState2 = React.useState(-1),
14868
- settingShortcutIndex = _useState2[0],
14869
- setSettingShortcutIndex = _useState2[1];
14870
- var handleSetShortcut = function handleSetShortcut(item, index) {
14871
- if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
14872
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
14873
- }
14874
- };
14875
- var onRenderSlots = function onRenderSlots() {
14876
- var slots = [];
14877
- for (var i = 0; i < itemContainer.slotQty; i++) {
14878
- var _itemContainer$slots;
14879
- slots.push(React__default.createElement(ItemSlot, {
14880
- isContextMenuDisabled: disableContextMenu,
14881
- key: i,
14882
- slotIndex: i,
14883
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14884
- itemContainerType: type,
14885
- onMouseOver: function onMouseOver(event, slotIndex, item) {
14886
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14887
- },
14888
- onPointerDown: function onPointerDown(itemType, containerType, item) {
14889
- if (settingShortcutIndex !== -1) {
14890
- setSettingShortcutIndex(-1);
14891
- handleSetShortcut(item, settingShortcutIndex);
14892
- } else if (onItemClick) onItemClick(item, itemType, containerType);
14893
- },
14894
- onSelected: function onSelected(optionId, item) {
14895
- if (_onSelected) _onSelected(optionId, item);
14896
- },
14897
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14898
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14899
- },
14900
- onDragEnd: function onDragEnd(quantity) {
14901
- if (onItemDragEnd) onItemDragEnd(quantity);
14902
- },
14903
- dragScale: scale,
14904
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14905
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14906
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14907
- setQuantitySelect({
14908
- isOpen: true,
14909
- maxQuantity: maxQuantity,
14910
- callback: callback
14911
- });
14912
- },
14913
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14914
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14915
- },
14916
- onOutsideDrop: function onOutsideDrop(item, position) {
14917
- if (_onOutsideDrop) _onOutsideDrop(item, position);
14918
- },
14919
- atlasIMG: atlasIMG,
14920
- atlasJSON: atlasJSON,
14921
- isSelectingShortcut: settingShortcutIndex !== -1,
14922
- equipmentSet: equipmentSet,
14923
- setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
14924
- isDepotSystem: isDepotSystem
14925
- }));
14909
+ _onClose = _ref.onClose,
14910
+ imagePath = _ref.imagePath,
14911
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
14912
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14913
+ questions = _ref.questions,
14914
+ answers = _ref.answers;
14915
+ return React__default.createElement(RPGUIContainer, {
14916
+ type: exports.RPGUIContainerTypes.FramedGold,
14917
+ width: isQuestionDialog ? '600px' : '80%',
14918
+ height: '180px'
14919
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
14920
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14921
+ }, React__default.createElement(QuestionDialog, {
14922
+ questions: questions,
14923
+ answers: answers,
14924
+ onClose: function onClose() {
14925
+ if (_onClose) {
14926
+ _onClose();
14927
+ }
14926
14928
  }
14927
- return slots;
14928
- };
14929
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
14930
- title: itemContainer.name || 'Container',
14931
- onClose: onClose,
14932
- initialPosition: initialPosition,
14933
- scale: scale,
14934
- onPositionChangeEnd: onPositionChangeEnd,
14935
- onPositionChangeStart: onPositionChangeStart
14936
- }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
14937
- setSettingShortcutIndex: setSettingShortcutIndex,
14938
- settingShortcutIndex: settingShortcutIndex,
14939
- shortcuts: shortcuts,
14940
- removeShortcut: removeShortcut,
14941
- atlasIMG: atlasIMG,
14942
- atlasJSON: atlasJSON
14943
- }), React__default.createElement(ItemsContainer, {
14944
- className: "item-container-body"
14945
- }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
14946
- quantity: quantitySelect.maxQuantity,
14947
- onConfirm: function onConfirm(quantity) {
14948
- quantitySelect.callback(quantity);
14949
- setQuantitySelect({
14950
- isOpen: false,
14951
- maxQuantity: 1,
14952
- callback: function callback() {}
14953
- });
14954
- },
14929
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14930
+ src: imagePath || img$7
14931
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$g, null, React__default.createElement(TextContainer$1, {
14932
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14933
+ }, React__default.createElement(NPCDialogText, {
14934
+ type: type,
14935
+ text: text || 'No text provided.',
14955
14936
  onClose: function onClose() {
14956
- quantitySelect.callback(-1);
14957
- setQuantitySelect({
14958
- isOpen: false,
14959
- maxQuantity: 1,
14960
- callback: function callback() {}
14961
- });
14937
+ if (_onClose) {
14938
+ _onClose();
14939
+ }
14962
14940
  }
14963
- }))));
14941
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14942
+ src: imagePath || img$7
14943
+ })))));
14964
14944
  };
14965
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
14966
- displayName: "ItemContainer__ItemsContainer",
14967
- componentId: "sc-15y5p9l-0"
14968
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
14969
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
14970
- displayName: "ItemContainer__QuantitySelectorContainer",
14971
- componentId: "sc-15y5p9l-1"
14972
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
14945
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
14946
+ displayName: "NPCDialog__Container",
14947
+ componentId: "sc-1b4aw74-0"
14948
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14949
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14950
+ displayName: "NPCDialog__TextContainer",
14951
+ componentId: "sc-1b4aw74-1"
14952
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14953
+ var flex = _ref2.flex;
14954
+ return flex;
14955
+ });
14956
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14957
+ displayName: "NPCDialog__ThumbnailContainer",
14958
+ componentId: "sc-1b4aw74-2"
14959
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14960
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14961
+ displayName: "NPCDialog__NPCThumbnail",
14962
+ componentId: "sc-1b4aw74-3"
14963
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
14973
14964
 
14974
- var ItemSelector = function ItemSelector(_ref) {
14975
- var atlasIMG = _ref.atlasIMG,
14976
- atlasJSON = _ref.atlasJSON,
14977
- options = _ref.options,
14978
- onClose = _ref.onClose,
14979
- onSelect = _ref.onSelect;
14980
- var _useState = React.useState(),
14981
- selectedValue = _useState[0],
14982
- setSelectedValue = _useState[1];
14983
- var handleClick = function handleClick() {
14984
- var element = document.querySelector("input[name='test']:checked");
14985
- var elementValue = element.value;
14986
- setSelectedValue(elementValue);
14965
+ (function (ImgSide) {
14966
+ ImgSide["right"] = "right";
14967
+ ImgSide["left"] = "left";
14968
+ })(exports.ImgSide || (exports.ImgSide = {}));
14969
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
14970
+ var _textAndTypeArray$sli;
14971
+ var _onClose = _ref.onClose,
14972
+ textAndTypeArray = _ref.textAndTypeArray;
14973
+ var _useState = React.useState(false),
14974
+ showGoNextIndicator = _useState[0],
14975
+ setShowGoNextIndicator = _useState[1];
14976
+ var _useState2 = React.useState(0),
14977
+ slide = _useState2[0],
14978
+ setSlide = _useState2[1];
14979
+ var onHandleSpacePress = function onHandleSpacePress(event) {
14980
+ if (event.code === 'Space') {
14981
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14982
+ setSlide(function (prev) {
14983
+ return prev + 1;
14984
+ });
14985
+ } else {
14986
+ // if there's no more text chunks, close the dialog
14987
+ _onClose();
14988
+ }
14989
+ }
14987
14990
  };
14988
14991
  React.useEffect(function () {
14989
- if (selectedValue) {
14990
- onSelect(selectedValue);
14991
- }
14992
- }, [selectedValue]);
14993
- return React__default.createElement(DraggableContainer, {
14994
- type: exports.RPGUIContainerTypes.Framed,
14995
- width: "500px",
14996
- cancelDrag: ".equipment-container-body .arrow-selector",
14997
- onCloseButton: function onCloseButton() {
14998
- if (onClose) {
14999
- onClose();
14992
+ document.addEventListener('keydown', onHandleSpacePress);
14993
+ return function () {
14994
+ return document.removeEventListener('keydown', onHandleSpacePress);
14995
+ };
14996
+ }, [slide]);
14997
+ return React__default.createElement(RPGUIContainer, {
14998
+ type: exports.RPGUIContainerTypes.FramedGold,
14999
+ width: '50%',
15000
+ height: '180px'
15001
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
15002
+ flex: '70%'
15003
+ }, React__default.createElement(NPCDialogText, {
15004
+ onStartStep: function onStartStep() {
15005
+ return setShowGoNextIndicator(false);
15006
+ },
15007
+ onEndStep: function onEndStep() {
15008
+ return setShowGoNextIndicator(true);
15009
+ },
15010
+ text: textAndTypeArray[slide].text || 'No text provided.',
15011
+ onClose: function onClose() {
15012
+ if (_onClose) {
15013
+ _onClose();
15000
15014
  }
15001
15015
  }
15002
- }, React__default.createElement("div", {
15003
- style: {
15004
- width: '100%'
15005
- }
15006
- }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15007
- className: "golden"
15008
- })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15009
- return React__default.createElement(RadioOptionsWrapper$1, {
15010
- key: index
15011
- }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15012
- atlasIMG: atlasIMG,
15013
- atlasJSON: atlasJSON,
15014
- spriteKey: option.imageKey,
15015
- imgScale: 3
15016
- })), React__default.createElement("div", null, React__default.createElement("input", {
15017
- className: "rpgui-radio",
15018
- type: "radio",
15019
- value: option.name,
15020
- name: "test"
15021
- }), React__default.createElement("label", {
15022
- onPointerDown: handleClick,
15023
- style: {
15024
- display: 'flex',
15025
- alignItems: 'center'
15016
+ })), React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15017
+ src: textAndTypeArray[slide].imagePath || img$7
15018
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15019
+ right: '10.5rem',
15020
+ src: img$6
15021
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15022
+ src: textAndTypeArray[slide].imagePath || img$7
15023
+ })), React__default.createElement(TextContainer$2, {
15024
+ flex: '70%'
15025
+ }, React__default.createElement(NPCDialogText, {
15026
+ onStartStep: function onStartStep() {
15027
+ return setShowGoNextIndicator(false);
15028
+ },
15029
+ onEndStep: function onEndStep() {
15030
+ return setShowGoNextIndicator(true);
15031
+ },
15032
+ text: textAndTypeArray[slide].text || 'No text provided.',
15033
+ onClose: function onClose() {
15034
+ if (_onClose) {
15035
+ _onClose();
15026
15036
  }
15027
- }, option.name, " ", React__default.createElement("br", null), option.description)));
15028
- })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15029
- buttonType: exports.ButtonTypes.RPGUIButton,
15030
- onPointerDown: onClose
15031
- }, "Cancel"), React__default.createElement(Button, {
15032
- buttonType: exports.ButtonTypes.RPGUIButton
15033
- }, "Select")));
15037
+ }
15038
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15039
+ right: '1rem',
15040
+ src: img$6
15041
+ }))), ")"));
15034
15042
  };
15035
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15036
- displayName: "ItemSelector__Title",
15037
- componentId: "sc-gptoxp-0"
15038
- })(["font-size:0.6rem;color:yellow !important;"]);
15039
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15040
- displayName: "ItemSelector__Subtitle",
15041
- componentId: "sc-gptoxp-1"
15042
- })(["font-size:0.4rem;color:yellow !important;"]);
15043
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15044
- displayName: "ItemSelector__RadioInputScroller",
15045
- componentId: "sc-gptoxp-2"
15046
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15047
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15048
- displayName: "ItemSelector__SpriteAtlasWrapper",
15049
- componentId: "sc-gptoxp-3"
15050
- })(["margin-right:40px;"]);
15051
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15052
- displayName: "ItemSelector__RadioOptionsWrapper",
15053
- componentId: "sc-gptoxp-4"
15054
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15055
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15056
- displayName: "ItemSelector__ButtonWrapper",
15057
- componentId: "sc-gptoxp-5"
15058
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15043
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15044
+ displayName: "NPCMultiDialog__Container",
15045
+ componentId: "sc-rvu5wg-0"
15046
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15047
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15048
+ displayName: "NPCMultiDialog__TextContainer",
15049
+ componentId: "sc-rvu5wg-1"
15050
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15051
+ var flex = _ref2.flex;
15052
+ return flex;
15053
+ });
15054
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15055
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15056
+ componentId: "sc-rvu5wg-2"
15057
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15058
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15059
+ displayName: "NPCMultiDialog__NPCThumbnail",
15060
+ componentId: "sc-rvu5wg-3"
15061
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15062
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15063
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15064
+ componentId: "sc-rvu5wg-4"
15065
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15066
+ var right = _ref3.right;
15067
+ return right;
15068
+ });
15059
15069
 
15060
- var ListMenu = function ListMenu(_ref) {
15061
- var options = _ref.options,
15062
- onSelected = _ref.onSelected,
15063
- x = _ref.x,
15064
- y = _ref.y;
15065
- return React__default.createElement(Container$f, {
15066
- x: x,
15067
- y: y
15068
- }, React__default.createElement("ul", {
15069
- className: "rpgui-list-imp",
15070
- style: {
15071
- overflow: 'hidden'
15072
- }
15073
- }, options.map(function (params, index) {
15074
- return React__default.createElement(ListElement$1, {
15075
- key: (params == null ? void 0 : params.id) || index,
15076
- onPointerDown: function onPointerDown() {
15077
- onSelected(params == null ? void 0 : params.id);
15070
+ var HistoryDialog = function HistoryDialog(_ref) {
15071
+ var backgroundImgPath = _ref.backgroundImgPath,
15072
+ fullCoverBackground = _ref.fullCoverBackground,
15073
+ questions = _ref.questions,
15074
+ answers = _ref.answers,
15075
+ text = _ref.text,
15076
+ imagePath = _ref.imagePath,
15077
+ textAndTypeArray = _ref.textAndTypeArray,
15078
+ onClose = _ref.onClose;
15079
+ var _useState = React.useState(0),
15080
+ img = _useState[0],
15081
+ setImage = _useState[1];
15082
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15083
+ if (event.code === 'Space') {
15084
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15085
+ setImage(function (prev) {
15086
+ return prev + 1;
15087
+ });
15088
+ } else {
15089
+ // if there's no more text chunks, close the dialog
15090
+ onClose();
15078
15091
  }
15079
- }, (params == null ? void 0 : params.text) || 'No text');
15092
+ }
15093
+ };
15094
+ React.useEffect(function () {
15095
+ document.addEventListener('keydown', onHandleSpacePress);
15096
+ return function () {
15097
+ return document.removeEventListener('keydown', onHandleSpacePress);
15098
+ };
15099
+ }, [backgroundImgPath]);
15100
+ return React__default.createElement(BackgroundContainer, {
15101
+ imgPath: backgroundImgPath[img],
15102
+ fullImg: fullCoverBackground
15103
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
15104
+ textAndTypeArray: textAndTypeArray,
15105
+ onClose: onClose
15106
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
15107
+ questions: questions,
15108
+ answers: answers,
15109
+ onClose: onClose
15110
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
15111
+ text: text,
15112
+ imagePath: imagePath,
15113
+ onClose: onClose,
15114
+ type: exports.NPCDialogType.TextAndThumbnail
15115
+ }) : React__default.createElement(NPCDialog, {
15116
+ text: text,
15117
+ onClose: onClose,
15118
+ type: exports.NPCDialogType.TextOnly
15080
15119
  })));
15081
15120
  };
15082
- var Container$f = /*#__PURE__*/styled.div.withConfig({
15083
- displayName: "ListMenu__Container",
15084
- componentId: "sc-i9097t-0"
15085
- })(["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) {
15086
- return props.y || 0;
15121
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15122
+ displayName: "HistoryDialog__BackgroundContainer",
15123
+ componentId: "sc-u6oe75-0"
15124
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15125
+ return props.imgPath;
15087
15126
  }, function (props) {
15088
- return props.x || 0;
15089
- }, uiFonts.size.xsmall);
15090
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15091
- displayName: "ListMenu__ListElement",
15092
- componentId: "sc-i9097t-1"
15093
- })(["margin-right:0.5rem;"]);
15127
+ return props.imgPath ? 'cover' : 'auto';
15128
+ });
15129
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15130
+ displayName: "HistoryDialog__DialogContainer",
15131
+ componentId: "sc-u6oe75-1"
15132
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
15094
15133
 
15095
- var MarketplaceRows = function MarketplaceRows(_ref) {
15096
- var atlasJSON = _ref.atlasJSON,
15097
- atlasIMG = _ref.atlasIMG,
15098
- item = _ref.item,
15099
- itemPrice = _ref.itemPrice,
15100
- equipmentSet = _ref.equipmentSet,
15101
- scale = _ref.scale,
15102
- onHandleClick = _ref.onHandleClick;
15103
- return React__default.createElement(MarketPlaceWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(ItemInfoWrapper, {
15104
- item: item,
15105
- atlasIMG: atlasIMG,
15106
- atlasJSON: atlasJSON,
15107
- equipmentSet: equipmentSet,
15108
- scale: scale
15109
- }, React__default.createElement(SpriteFromAtlas, {
15110
- atlasIMG: atlasIMG,
15111
- atlasJSON: atlasJSON,
15112
- spriteKey: shared.getItemTextureKeyPath({
15113
- key: item.key,
15114
- stackQty: item.stackQty || 1,
15115
- texturePath: item.texturePath,
15116
- isStackable: item.isStackable
15117
- }, atlasJSON),
15118
- imgScale: 2
15119
- }))), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15120
- maxLines: 1,
15121
- maxWidth: "150px",
15122
- fontSize: "10px"
15123
- }, item.name)))), React__default.createElement(QuantityContainer, null, React__default.createElement(QuantityDisplay, null, React__default.createElement(TextOverlay$1, null, React__default.createElement(Item$1, null, React__default.createElement(Ellipsis, {
15124
- maxLines: 1,
15125
- maxWidth: "150px",
15126
- fontSize: "10px"
15127
- }, item.rarity))))), React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(SpriteFromAtlas, {
15128
- atlasIMG: atlasIMG,
15129
- atlasJSON: atlasJSON,
15130
- spriteKey: 'others/gold-coin-qty-4.png',
15131
- imgScale: 2
15132
- })), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15133
- maxLines: 1,
15134
- maxWidth: "150px",
15135
- fontSize: "10px"
15136
- }, "$", itemPrice)))), React__default.createElement(ButtonContainer$1, null, React__default.createElement(Button, {
15137
- buttonType: exports.ButtonTypes.RPGUIButton,
15138
- onClick: function onClick() {
15139
- return onHandleClick(item.name);
15140
- }
15141
- }, "Buy")));
15142
- };
15143
- var MarketPlaceWrapper = /*#__PURE__*/styled.div.withConfig({
15144
- displayName: "MarketplaceRows__MarketPlaceWrapper",
15145
- componentId: "sc-wmpr1o-0"
15146
- })(["margin:auto;display:grid;grid-template-columns:35% 20% 20% 25%;&:hover{background-color:", ";}padding:0.5rem;p{font-size:0.8rem;}"], uiColors.darkGray);
15147
- var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15148
- displayName: "MarketplaceRows__ItemIconContainer",
15149
- componentId: "sc-wmpr1o-1"
15150
- })(["display:flex;justify-content:flex-start;align-items:center;"]);
15151
- var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15152
- displayName: "MarketplaceRows__SpriteContainer",
15153
- componentId: "sc-wmpr1o-2"
15154
- })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15155
- var Item$1 = /*#__PURE__*/styled.span.withConfig({
15156
- displayName: "MarketplaceRows__Item",
15157
- componentId: "sc-wmpr1o-3"
15158
- })(["color:white;text-align:center;z-index:1;width:100%;"]);
15159
- var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15160
- displayName: "MarketplaceRows__TextOverlay",
15161
- componentId: "sc-wmpr1o-4"
15162
- })(["width:100%;position:relative;"]);
15163
- var QuantityContainer = /*#__PURE__*/styled.div.withConfig({
15164
- displayName: "MarketplaceRows__QuantityContainer",
15165
- componentId: "sc-wmpr1o-5"
15166
- })(["position:relative;display:flex;min-width:100px;justify-content:center;align-items:center;"]);
15167
- var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
15168
- displayName: "MarketplaceRows__QuantityDisplay",
15169
- componentId: "sc-wmpr1o-6"
15170
- })(["font-size:", ";"], uiFonts.size.small);
15171
- var PriceValue = /*#__PURE__*/styled.div.withConfig({
15172
- displayName: "MarketplaceRows__PriceValue",
15173
- componentId: "sc-wmpr1o-7"
15174
- })(["margin-left:40px;"]);
15175
- var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15176
- displayName: "MarketplaceRows__ButtonContainer",
15177
- componentId: "sc-wmpr1o-8"
15178
- })(["margin:auto;"]);
15179
-
15180
- var Marketplace = function Marketplace(_ref) {
15181
- var items = _ref.items,
15182
- atlasIMG = _ref.atlasIMG,
15183
- atlasJSON = _ref.atlasJSON,
15134
+ var SlotsContainer = function SlotsContainer(_ref) {
15135
+ var children = _ref.children,
15136
+ title = _ref.title,
15184
15137
  onClose = _ref.onClose,
15185
- optionsType = _ref.optionsType,
15186
- optionsRarity = _ref.optionsRarity,
15187
- optionsPrice = _ref.optionsPrice,
15188
- onChangeType = _ref.onChangeType,
15189
- onChangeRarity = _ref.onChangeRarity,
15190
- onChangeOrder = _ref.onChangeOrder,
15191
- onChangeNameInput = _ref.onChangeNameInput,
15192
- scale = _ref.scale,
15193
- equipmentSet = _ref.equipmentSet,
15194
- onHandleClick = _ref.onHandleClick;
15138
+ _onPositionChange = _ref.onPositionChange,
15139
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
15140
+ _onPositionChangeStart = _ref.onPositionChangeStart,
15141
+ onOutsideClick = _ref.onOutsideClick,
15142
+ initialPosition = _ref.initialPosition,
15143
+ scale = _ref.scale;
15195
15144
  return React__default.createElement(DraggableContainer, {
15145
+ title: title,
15196
15146
  type: exports.RPGUIContainerTypes.Framed,
15197
15147
  onCloseButton: function onCloseButton() {
15198
- if (onClose) onClose();
15148
+ if (onClose) {
15149
+ onClose();
15150
+ }
15199
15151
  },
15200
- width: "800px",
15201
- cancelDrag: "#MarketContainer",
15202
- scale: scale
15203
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(InputWrapper, null, React__default.createElement("p", null, " Search By Name"), React__default.createElement(Input, {
15204
- onChange: onChangeNameInput,
15205
- placeholder: 'Search...'
15206
- })), React__default.createElement(WrapperContainer, null, React__default.createElement(StyledDropdown, {
15207
- options: optionsType,
15208
- onChange: onChangeType,
15209
- width: '220px'
15210
- }), React__default.createElement(StyledDropdown, {
15211
- options: optionsRarity,
15212
- onChange: onChangeRarity,
15213
- width: '220px'
15214
- }), React__default.createElement(StyledDropdown, {
15215
- options: optionsPrice,
15216
- onChange: onChangeOrder,
15217
- width: '220px'
15218
- })), React__default.createElement(ItemComponentScrollWrapper, {
15219
- id: "MarketContainer"
15220
- }, items == null ? void 0 : items.map(function (item, index) {
15221
- return React__default.createElement(MarketplaceRows, {
15222
- key: item.key + "_" + index,
15223
- atlasIMG: atlasIMG,
15224
- atlasJSON: atlasJSON,
15225
- item: item,
15226
- itemPrice: 10,
15227
- equipmentSet: equipmentSet,
15228
- onHandleClick: onHandleClick
15229
- });
15230
- }))));
15231
- };
15232
- var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15233
- displayName: "Marketplace__InputWrapper",
15234
- componentId: "sc-h904b1-0"
15235
- })(["width:95%;display:flex;justify-content:flex-start;align-items:center;margin:auto;margin-bottom:10px;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15236
- var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15237
- displayName: "Marketplace__WrapperContainer",
15238
- componentId: "sc-h904b1-1"
15239
- })(["display:grid;grid-template-columns:30% 30% 30%;justify-content:space-between;width:90%;margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
15240
- var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15241
- displayName: "Marketplace__ItemComponentScrollWrapper",
15242
- componentId: "sc-h904b1-2"
15243
- })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;"]);
15244
- var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15245
- displayName: "Marketplace__StyledDropdown",
15246
- componentId: "sc-h904b1-3"
15247
- })(["margin:3px !important;width:170px !important;"]);
15248
-
15249
- var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15250
-
15251
- var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
15252
-
15253
- (function (ImgSide) {
15254
- ImgSide["right"] = "right";
15255
- ImgSide["left"] = "left";
15256
- })(exports.ImgSide || (exports.ImgSide = {}));
15257
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
15258
- var _textAndTypeArray$sli;
15259
- var _onClose = _ref.onClose,
15260
- textAndTypeArray = _ref.textAndTypeArray;
15261
- var _useState = React.useState(false),
15262
- showGoNextIndicator = _useState[0],
15263
- setShowGoNextIndicator = _useState[1];
15264
- var _useState2 = React.useState(0),
15265
- slide = _useState2[0],
15266
- setSlide = _useState2[1];
15267
- var onHandleSpacePress = function onHandleSpacePress(event) {
15268
- if (event.code === 'Space') {
15269
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15270
- setSlide(function (prev) {
15271
- return prev + 1;
15152
+ width: "400px",
15153
+ cancelDrag: ".item-container-body, #shortcuts_list",
15154
+ onPositionChange: function onPositionChange(_ref2) {
15155
+ var x = _ref2.x,
15156
+ y = _ref2.y;
15157
+ if (_onPositionChange) {
15158
+ _onPositionChange({
15159
+ x: x,
15160
+ y: y
15272
15161
  });
15273
- } else {
15274
- // if there's no more text chunks, close the dialog
15275
- _onClose();
15276
15162
  }
15277
- }
15278
- };
15279
- React.useEffect(function () {
15280
- document.addEventListener('keydown', onHandleSpacePress);
15281
- return function () {
15282
- return document.removeEventListener('keydown', onHandleSpacePress);
15283
- };
15284
- }, [slide]);
15285
- return React__default.createElement(RPGUIContainer, {
15286
- type: exports.RPGUIContainerTypes.FramedGold,
15287
- width: '50%',
15288
- height: '180px'
15289
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$g, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
15290
- flex: '70%'
15291
- }, React__default.createElement(NPCDialogText, {
15292
- onStartStep: function onStartStep() {
15293
- return setShowGoNextIndicator(false);
15294
- },
15295
- onEndStep: function onEndStep() {
15296
- return setShowGoNextIndicator(true);
15297
15163
  },
15298
- text: textAndTypeArray[slide].text || 'No text provided.',
15299
- onClose: function onClose() {
15300
- if (_onClose) {
15301
- _onClose();
15164
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15165
+ var x = _ref3.x,
15166
+ y = _ref3.y;
15167
+ if (_onPositionChangeEnd) {
15168
+ _onPositionChangeEnd({
15169
+ x: x,
15170
+ y: y
15171
+ });
15302
15172
  }
15303
- }
15304
- })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15305
- src: textAndTypeArray[slide].imagePath || img$5
15306
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15307
- right: '10.5rem',
15308
- src: img$6
15309
- })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15310
- src: textAndTypeArray[slide].imagePath || img$5
15311
- })), React__default.createElement(TextContainer, {
15312
- flex: '70%'
15313
- }, React__default.createElement(NPCDialogText, {
15314
- onStartStep: function onStartStep() {
15315
- return setShowGoNextIndicator(false);
15316
- },
15317
- onEndStep: function onEndStep() {
15318
- return setShowGoNextIndicator(true);
15319
15173
  },
15320
- text: textAndTypeArray[slide].text || 'No text provided.',
15321
- onClose: function onClose() {
15322
- if (_onClose) {
15323
- _onClose();
15174
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
15175
+ var x = _ref4.x,
15176
+ y = _ref4.y;
15177
+ if (_onPositionChangeStart) {
15178
+ _onPositionChangeStart({
15179
+ x: x,
15180
+ y: y
15181
+ });
15324
15182
  }
15325
- }
15326
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15327
- right: '1rem',
15328
- src: img$6
15329
- }))), ")"));
15183
+ },
15184
+ onOutsideClick: onOutsideClick,
15185
+ initialPosition: initialPosition,
15186
+ scale: scale
15187
+ }, children);
15330
15188
  };
15331
- var Container$g = /*#__PURE__*/styled.div.withConfig({
15332
- displayName: "NPCMultiDialog__Container",
15333
- componentId: "sc-rvu5wg-0"
15334
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15335
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
15336
- displayName: "NPCMultiDialog__TextContainer",
15337
- componentId: "sc-rvu5wg-1"
15338
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15339
- var flex = _ref2.flex;
15340
- return flex;
15341
- });
15342
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15343
- displayName: "NPCMultiDialog__ThumbnailContainer",
15344
- componentId: "sc-rvu5wg-2"
15345
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15346
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15347
- displayName: "NPCMultiDialog__NPCThumbnail",
15348
- componentId: "sc-rvu5wg-3"
15349
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15350
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15351
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15352
- componentId: "sc-rvu5wg-4"
15353
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15354
- var right = _ref3.right;
15355
- return right;
15356
- });
15357
15189
 
15358
- //@ts-ignore
15359
- var useEventListener = function useEventListener(type, handler, el) {
15360
- if (el === void 0) {
15361
- el = window;
15362
- }
15363
- var savedHandler = React__default.useRef();
15364
- React__default.useEffect(function () {
15365
- savedHandler.current = handler;
15366
- }, [handler]);
15367
- React__default.useEffect(function () {
15368
- //@ts-ignore
15369
- var listener = function listener(e) {
15370
- return savedHandler.current(e);
15371
- };
15372
- el.addEventListener(type, listener);
15373
- return function () {
15374
- el.removeEventListener(type, listener);
15375
- };
15376
- }, [type, el]);
15190
+ (function (RangeSliderType) {
15191
+ RangeSliderType["Slider"] = "rpgui-slider";
15192
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15193
+ })(exports.RangeSliderType || (exports.RangeSliderType = {}));
15194
+ var RangeSlider = function RangeSlider(_ref) {
15195
+ var type = _ref.type,
15196
+ valueMin = _ref.valueMin,
15197
+ valueMax = _ref.valueMax,
15198
+ width = _ref.width,
15199
+ _onChange = _ref.onChange,
15200
+ value = _ref.value;
15201
+ var sliderId = uuid.v4();
15202
+ var containerRef = React.useRef(null);
15203
+ var _useState = React.useState(0),
15204
+ left = _useState[0],
15205
+ setLeft = _useState[1];
15206
+ React.useEffect(function () {
15207
+ var _containerRef$current;
15208
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15209
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15210
+ }, [value, valueMin, valueMax]);
15211
+ var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
15212
+ return React__default.createElement("div", {
15213
+ style: {
15214
+ width: width,
15215
+ position: 'relative'
15216
+ },
15217
+ className: "rpgui-slider-container " + typeClass,
15218
+ id: "rpgui-slider-" + sliderId,
15219
+ ref: containerRef
15220
+ }, React__default.createElement("div", {
15221
+ style: {
15222
+ pointerEvents: 'none'
15223
+ }
15224
+ }, React__default.createElement("div", {
15225
+ className: "rpgui-slider-track " + typeClass
15226
+ }), React__default.createElement("div", {
15227
+ className: "rpgui-slider-left-edge " + typeClass
15228
+ }), React__default.createElement("div", {
15229
+ className: "rpgui-slider-right-edge " + typeClass
15230
+ }), React__default.createElement("div", {
15231
+ className: "rpgui-slider-thumb " + typeClass,
15232
+ style: {
15233
+ left: left
15234
+ }
15235
+ })), React__default.createElement(Input$1, {
15236
+ type: "range",
15237
+ style: {
15238
+ width: width
15239
+ },
15240
+ min: valueMin,
15241
+ max: valueMax,
15242
+ onChange: function onChange(e) {
15243
+ return _onChange(Number(e.target.value));
15244
+ },
15245
+ value: value,
15246
+ className: "rpgui-cursor-point"
15247
+ }));
15377
15248
  };
15249
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
15250
+ displayName: "RangeSlider__Input",
15251
+ componentId: "sc-v8mte9-0"
15252
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15378
15253
 
15379
- var DynamicText = function DynamicText(_ref) {
15380
- var text = _ref.text,
15381
- onFinish = _ref.onFinish,
15382
- onStart = _ref.onStart;
15383
- var _useState = React.useState(''),
15384
- textState = _useState[0],
15385
- setTextState = _useState[1];
15254
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15255
+ var quantity = _ref.quantity,
15256
+ onConfirm = _ref.onConfirm,
15257
+ onClose = _ref.onClose;
15258
+ var _useState = React.useState(quantity),
15259
+ value = _useState[0],
15260
+ setValue = _useState[1];
15261
+ var inputRef = React.useRef(null);
15386
15262
  React.useEffect(function () {
15387
- var i = 0;
15388
- var interval = setInterval(function () {
15389
- // on every interval, show one more character
15390
- if (i === 0) {
15391
- if (onStart) {
15392
- onStart();
15263
+ if (inputRef.current) {
15264
+ inputRef.current.focus();
15265
+ inputRef.current.select();
15266
+ var closeSelector = function closeSelector(e) {
15267
+ if (e.key === 'Escape') {
15268
+ onClose();
15393
15269
  }
15270
+ };
15271
+ document.addEventListener('keydown', closeSelector);
15272
+ return function () {
15273
+ document.removeEventListener('keydown', closeSelector);
15274
+ };
15275
+ }
15276
+ return function () {};
15277
+ }, []);
15278
+ return React__default.createElement(StyledContainer, {
15279
+ type: exports.RPGUIContainerTypes.Framed,
15280
+ width: "25rem"
15281
+ }, React__default.createElement(CloseButton$2, {
15282
+ className: "container-close",
15283
+ onPointerDown: onClose
15284
+ }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
15285
+ style: {
15286
+ width: '100%'
15287
+ },
15288
+ onSubmit: function onSubmit(e) {
15289
+ e.preventDefault();
15290
+ var numberValue = Number(value);
15291
+ if (Number.isNaN(numberValue)) {
15292
+ return;
15394
15293
  }
15395
- if (i < text.length) {
15396
- setTextState(text.substring(0, i + 1));
15397
- i++;
15398
- } else {
15399
- clearInterval(interval);
15400
- if (onFinish) {
15401
- onFinish();
15402
- }
15294
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15295
+ },
15296
+ noValidate: true
15297
+ }, React__default.createElement(StyledInput, {
15298
+ innerRef: inputRef,
15299
+ placeholder: "Enter quantity",
15300
+ type: "number",
15301
+ min: 1,
15302
+ max: quantity,
15303
+ value: value,
15304
+ onChange: function onChange(e) {
15305
+ if (Number(e.target.value) >= quantity) {
15306
+ setValue(quantity);
15307
+ return;
15403
15308
  }
15404
- }, 50);
15405
- return function () {
15406
- clearInterval(interval);
15407
- };
15408
- }, [text]);
15409
- return React__default.createElement(TextContainer$1, null, textState);
15309
+ setValue(e.target.value);
15310
+ },
15311
+ onBlur: function onBlur(e) {
15312
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15313
+ setValue(newValue);
15314
+ }
15315
+ }), React__default.createElement(RangeSlider, {
15316
+ type: exports.RangeSliderType.Slider,
15317
+ valueMin: 1,
15318
+ valueMax: quantity,
15319
+ width: "100%",
15320
+ onChange: setValue,
15321
+ value: value
15322
+ }), React__default.createElement(Button, {
15323
+ buttonType: exports.ButtonTypes.RPGUIButton,
15324
+ type: "submit"
15325
+ }, "Confirm")));
15410
15326
  };
15411
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15412
- displayName: "DynamicText__TextContainer",
15413
- componentId: "sc-1ggl9nd-0"
15414
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15327
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15328
+ displayName: "ItemQuantitySelector__StyledContainer",
15329
+ componentId: "sc-yfdtpn-0"
15330
+ })(["display:flex;flex-direction:column;align-items:center;"]);
15331
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
15332
+ displayName: "ItemQuantitySelector__StyledForm",
15333
+ componentId: "sc-yfdtpn-1"
15334
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15335
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15336
+ displayName: "ItemQuantitySelector__StyledInput",
15337
+ componentId: "sc-yfdtpn-2"
15338
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15339
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15340
+ displayName: "ItemQuantitySelector__CloseButton",
15341
+ componentId: "sc-yfdtpn-3"
15342
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15415
15343
 
15416
- var QuestionDialog = function QuestionDialog(_ref) {
15417
- var questions = _ref.questions,
15418
- answers = _ref.answers,
15419
- onClose = _ref.onClose;
15420
- var _useState = React.useState(questions[0]),
15421
- currentQuestion = _useState[0],
15422
- setCurrentQuestion = _useState[1];
15423
- var _useState2 = React.useState(false),
15424
- canShowAnswers = _useState2[0],
15425
- setCanShowAnswers = _useState2[1];
15426
- var onGetFirstAnswer = function onGetFirstAnswer() {
15427
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15428
- return null;
15429
- }
15430
- var firstAnswerId = currentQuestion.answerIds[0];
15431
- return answers.find(function (answer) {
15432
- return answer.id === firstAnswerId;
15433
- });
15434
- };
15435
- var _useState3 = React.useState(onGetFirstAnswer()),
15436
- currentAnswer = _useState3[0],
15437
- setCurrentAnswer = _useState3[1];
15438
- React.useEffect(function () {
15439
- setCurrentAnswer(onGetFirstAnswer());
15440
- }, [currentQuestion]);
15441
- var onGetAnswers = function onGetAnswers(answerIds) {
15442
- return answerIds.map(function (answerId) {
15443
- return answers.find(function (answer) {
15444
- return answer.id === answerId;
15344
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
15345
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15346
+ settingShortcutIndex = _ref.settingShortcutIndex,
15347
+ shortcuts = _ref.shortcuts,
15348
+ removeShortcut = _ref.removeShortcut,
15349
+ atlasJSON = _ref.atlasJSON,
15350
+ atlasIMG = _ref.atlasIMG;
15351
+ var getContent = function getContent(index) {
15352
+ var _shortcuts$index, _shortcuts$index3;
15353
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
15354
+ var _shortcuts$index2;
15355
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15356
+ if (!_payload) return null;
15357
+ return React__default.createElement(SpriteFromAtlas, {
15358
+ atlasIMG: atlasIMG,
15359
+ atlasJSON: atlasJSON,
15360
+ spriteKey: shared.getItemTextureKeyPath({
15361
+ key: _payload.texturePath,
15362
+ texturePath: _payload.texturePath,
15363
+ stackQty: _payload.stackQty || 1,
15364
+ isStackable: _payload.isStackable
15365
+ }, atlasJSON),
15366
+ width: 32,
15367
+ height: 32,
15368
+ imgScale: 1.6,
15369
+ imgStyle: {
15370
+ left: '5px'
15371
+ }
15445
15372
  });
15446
- });
15373
+ }
15374
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15375
+ return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15376
+ return word[0];
15377
+ }));
15447
15378
  };
15448
- var onKeyPress = function onKeyPress(e) {
15449
- switch (e.key) {
15450
- case 'ArrowDown':
15451
- // select next answer, if any.
15452
- // if no next answer, select first answer
15453
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15454
- // (answer) => answer?.id === currentAnswer!.id + 1
15455
- // );
15456
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15457
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15458
- });
15459
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15460
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15461
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
15462
- });
15463
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15464
- break;
15465
- case 'ArrowUp':
15466
- // select previous answer, if any.
15467
- // if no previous answer, select last answer
15468
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15469
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15470
- });
15471
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15472
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15473
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
15474
- });
15475
- if (previousAnswer) {
15476
- setCurrentAnswer(previousAnswer);
15477
- } else {
15478
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15479
- }
15480
- break;
15481
- case 'Enter':
15482
- setCanShowAnswers(false);
15483
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15484
- onClose();
15485
- return;
15486
- } else {
15487
- setCurrentQuestion(questions.find(function (question) {
15488
- return question.id === currentAnswer.nextQuestionId;
15489
- }));
15490
- }
15491
- break;
15379
+ return React__default.createElement(Container$i, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
15380
+ id: "shortcuts_list"
15381
+ }, Array.from({
15382
+ length: 6
15383
+ }).map(function (_, i) {
15384
+ return React__default.createElement(Shortcut, {
15385
+ key: i,
15386
+ onPointerDown: function onPointerDown() {
15387
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15388
+ removeShortcut(i);
15389
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
15390
+ },
15391
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15392
+ isBeingSet: settingShortcutIndex === i,
15393
+ id: "shortcutSetter_" + i
15394
+ }, getContent(i));
15395
+ })));
15396
+ };
15397
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15398
+ displayName: "ShortcutsSetter__Container",
15399
+ componentId: "sc-xuouuf-0"
15400
+ })(["p{margin:0;margin-left:0.5rem;}"]);
15401
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
15402
+ displayName: "ShortcutsSetter__Shortcut",
15403
+ componentId: "sc-xuouuf-1"
15404
+ })(["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) {
15405
+ var isBeingSet = _ref2.isBeingSet;
15406
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15407
+ }, uiColors.darkGray, uiColors.gray);
15408
+ var List = /*#__PURE__*/styled.div.withConfig({
15409
+ displayName: "ShortcutsSetter__List",
15410
+ componentId: "sc-xuouuf-2"
15411
+ })(["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;"]);
15412
+
15413
+ var ItemContainer$1 = function ItemContainer(_ref) {
15414
+ var itemContainer = _ref.itemContainer,
15415
+ onClose = _ref.onClose,
15416
+ _onMouseOver = _ref.onMouseOver,
15417
+ _onSelected = _ref.onSelected,
15418
+ onItemClick = _ref.onItemClick,
15419
+ type = _ref.type,
15420
+ atlasJSON = _ref.atlasJSON,
15421
+ atlasIMG = _ref.atlasIMG,
15422
+ _ref$disableContextMe = _ref.disableContextMenu,
15423
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15424
+ onItemDragEnd = _ref.onItemDragEnd,
15425
+ onItemDragStart = _ref.onItemDragStart,
15426
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
15427
+ _onOutsideDrop = _ref.onOutsideDrop,
15428
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15429
+ initialPosition = _ref.initialPosition,
15430
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15431
+ scale = _ref.scale,
15432
+ shortcuts = _ref.shortcuts,
15433
+ setItemShortcut = _ref.setItemShortcut,
15434
+ removeShortcut = _ref.removeShortcut,
15435
+ equipmentSet = _ref.equipmentSet,
15436
+ isDepotSystem = _ref.isDepotSystem,
15437
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
15438
+ onPositionChangeStart = _ref.onPositionChangeStart;
15439
+ var _useState = React.useState({
15440
+ isOpen: false,
15441
+ maxQuantity: 1,
15442
+ callback: function callback(_quantity) {}
15443
+ }),
15444
+ quantitySelect = _useState[0],
15445
+ setQuantitySelect = _useState[1];
15446
+ var _useState2 = React.useState(-1),
15447
+ settingShortcutIndex = _useState2[0],
15448
+ setSettingShortcutIndex = _useState2[1];
15449
+ var handleSetShortcut = function handleSetShortcut(item, index) {
15450
+ if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
15451
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15492
15452
  }
15493
15453
  };
15494
- useEventListener('keydown', onKeyPress);
15495
- var onAnswerClick = function onAnswerClick(answer) {
15496
- setCanShowAnswers(false);
15497
- if (answer.nextQuestionId) {
15498
- // if there is a next question, go to it
15499
- setCurrentQuestion(questions.find(function (question) {
15500
- return question.id === answer.nextQuestionId;
15454
+ var onRenderSlots = function onRenderSlots() {
15455
+ var slots = [];
15456
+ for (var i = 0; i < itemContainer.slotQty; i++) {
15457
+ var _itemContainer$slots;
15458
+ slots.push(React__default.createElement(ItemSlot, {
15459
+ isContextMenuDisabled: disableContextMenu,
15460
+ key: i,
15461
+ slotIndex: i,
15462
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15463
+ itemContainerType: type,
15464
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
15465
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15466
+ },
15467
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
15468
+ if (settingShortcutIndex !== -1) {
15469
+ setSettingShortcutIndex(-1);
15470
+ handleSetShortcut(item, settingShortcutIndex);
15471
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
15472
+ },
15473
+ onSelected: function onSelected(optionId, item) {
15474
+ if (_onSelected) _onSelected(optionId, item);
15475
+ },
15476
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15477
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15478
+ },
15479
+ onDragEnd: function onDragEnd(quantity) {
15480
+ if (onItemDragEnd) onItemDragEnd(quantity);
15481
+ },
15482
+ dragScale: scale,
15483
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15484
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15485
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15486
+ setQuantitySelect({
15487
+ isOpen: true,
15488
+ maxQuantity: maxQuantity,
15489
+ callback: callback
15490
+ });
15491
+ },
15492
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15493
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15494
+ },
15495
+ onOutsideDrop: function onOutsideDrop(item, position) {
15496
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
15497
+ },
15498
+ atlasIMG: atlasIMG,
15499
+ atlasJSON: atlasJSON,
15500
+ isSelectingShortcut: settingShortcutIndex !== -1,
15501
+ equipmentSet: equipmentSet,
15502
+ setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
15503
+ isDepotSystem: isDepotSystem
15501
15504
  }));
15502
- } else {
15503
- // else, finish dialog!
15504
- onClose();
15505
15505
  }
15506
+ return slots;
15506
15507
  };
15507
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15508
- var answerIds = currentQuestion.answerIds;
15509
- if (!answerIds) {
15510
- return null;
15508
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
15509
+ title: itemContainer.name || 'Container',
15510
+ onClose: onClose,
15511
+ initialPosition: initialPosition,
15512
+ scale: scale,
15513
+ onPositionChangeEnd: onPositionChangeEnd,
15514
+ onPositionChangeStart: onPositionChangeStart
15515
+ }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
15516
+ setSettingShortcutIndex: setSettingShortcutIndex,
15517
+ settingShortcutIndex: settingShortcutIndex,
15518
+ shortcuts: shortcuts,
15519
+ removeShortcut: removeShortcut,
15520
+ atlasIMG: atlasIMG,
15521
+ atlasJSON: atlasJSON
15522
+ }), React__default.createElement(ItemsContainer, {
15523
+ className: "item-container-body"
15524
+ }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
15525
+ quantity: quantitySelect.maxQuantity,
15526
+ onConfirm: function onConfirm(quantity) {
15527
+ quantitySelect.callback(quantity);
15528
+ setQuantitySelect({
15529
+ isOpen: false,
15530
+ maxQuantity: 1,
15531
+ callback: function callback() {}
15532
+ });
15533
+ },
15534
+ onClose: function onClose() {
15535
+ quantitySelect.callback(-1);
15536
+ setQuantitySelect({
15537
+ isOpen: false,
15538
+ maxQuantity: 1,
15539
+ callback: function callback() {}
15540
+ });
15511
15541
  }
15512
- var answers = onGetAnswers(answerIds);
15513
- if (!answers) {
15514
- return null;
15542
+ }))));
15543
+ };
15544
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15545
+ displayName: "ItemContainer__ItemsContainer",
15546
+ componentId: "sc-15y5p9l-0"
15547
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15548
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15549
+ displayName: "ItemContainer__QuantitySelectorContainer",
15550
+ componentId: "sc-15y5p9l-1"
15551
+ })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15552
+
15553
+ var ItemSelector = function ItemSelector(_ref) {
15554
+ var atlasIMG = _ref.atlasIMG,
15555
+ atlasJSON = _ref.atlasJSON,
15556
+ options = _ref.options,
15557
+ onClose = _ref.onClose,
15558
+ onSelect = _ref.onSelect;
15559
+ var _useState = React.useState(),
15560
+ selectedValue = _useState[0],
15561
+ setSelectedValue = _useState[1];
15562
+ var handleClick = function handleClick() {
15563
+ var element = document.querySelector("input[name='test']:checked");
15564
+ var elementValue = element.value;
15565
+ setSelectedValue(elementValue);
15566
+ };
15567
+ React.useEffect(function () {
15568
+ if (selectedValue) {
15569
+ onSelect(selectedValue);
15515
15570
  }
15516
- return answers.map(function (answer) {
15517
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15518
- var selectedColor = isSelected ? 'yellow' : 'white';
15519
- if (answer) {
15520
- return React__default.createElement(AnswerRow, {
15521
- key: "answer_" + answer.id
15522
- }, React__default.createElement(AnswerSelectedIcon, {
15523
- color: selectedColor
15524
- }, isSelected ? 'X' : null), React__default.createElement(Answer, {
15525
- key: answer.id,
15526
- onPointerDown: function onPointerDown() {
15527
- return onAnswerClick(answer);
15528
- },
15529
- color: selectedColor
15530
- }, answer.text));
15571
+ }, [selectedValue]);
15572
+ return React__default.createElement(DraggableContainer, {
15573
+ type: exports.RPGUIContainerTypes.Framed,
15574
+ width: "500px",
15575
+ cancelDrag: ".equipment-container-body .arrow-selector",
15576
+ onCloseButton: function onCloseButton() {
15577
+ if (onClose) {
15578
+ onClose();
15531
15579
  }
15532
- return null;
15533
- });
15534
- };
15535
- return React__default.createElement(Container$h, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
15536
- text: currentQuestion.text,
15537
- onStart: function onStart() {
15538
- return setCanShowAnswers(false);
15580
+ }
15581
+ }, React__default.createElement("div", {
15582
+ style: {
15583
+ width: '100%'
15584
+ }
15585
+ }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15586
+ className: "golden"
15587
+ })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15588
+ return React__default.createElement(RadioOptionsWrapper$1, {
15589
+ key: index
15590
+ }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15591
+ atlasIMG: atlasIMG,
15592
+ atlasJSON: atlasJSON,
15593
+ spriteKey: option.imageKey,
15594
+ imgScale: 3
15595
+ })), React__default.createElement("div", null, React__default.createElement("input", {
15596
+ className: "rpgui-radio",
15597
+ type: "radio",
15598
+ value: option.name,
15599
+ name: "test"
15600
+ }), React__default.createElement("label", {
15601
+ onPointerDown: handleClick,
15602
+ style: {
15603
+ display: 'flex',
15604
+ alignItems: 'center'
15605
+ }
15606
+ }, option.name, " ", React__default.createElement("br", null), option.description)));
15607
+ })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15608
+ buttonType: exports.ButtonTypes.RPGUIButton,
15609
+ onPointerDown: onClose
15610
+ }, "Cancel"), React__default.createElement(Button, {
15611
+ buttonType: exports.ButtonTypes.RPGUIButton
15612
+ }, "Select")));
15613
+ };
15614
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15615
+ displayName: "ItemSelector__Title",
15616
+ componentId: "sc-gptoxp-0"
15617
+ })(["font-size:0.6rem;color:yellow !important;"]);
15618
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15619
+ displayName: "ItemSelector__Subtitle",
15620
+ componentId: "sc-gptoxp-1"
15621
+ })(["font-size:0.4rem;color:yellow !important;"]);
15622
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15623
+ displayName: "ItemSelector__RadioInputScroller",
15624
+ componentId: "sc-gptoxp-2"
15625
+ })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15626
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15627
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15628
+ componentId: "sc-gptoxp-3"
15629
+ })(["margin-right:40px;"]);
15630
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15631
+ displayName: "ItemSelector__RadioOptionsWrapper",
15632
+ componentId: "sc-gptoxp-4"
15633
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15634
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15635
+ displayName: "ItemSelector__ButtonWrapper",
15636
+ componentId: "sc-gptoxp-5"
15637
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15638
+
15639
+ var ListMenu = function ListMenu(_ref) {
15640
+ var options = _ref.options,
15641
+ onSelected = _ref.onSelected,
15642
+ x = _ref.x,
15643
+ y = _ref.y;
15644
+ return React__default.createElement(Container$j, {
15645
+ x: x,
15646
+ y: y
15647
+ }, React__default.createElement("ul", {
15648
+ className: "rpgui-list-imp",
15649
+ style: {
15650
+ overflow: 'hidden'
15651
+ }
15652
+ }, options.map(function (params, index) {
15653
+ return React__default.createElement(ListElement$1, {
15654
+ key: (params == null ? void 0 : params.id) || index,
15655
+ onPointerDown: function onPointerDown() {
15656
+ onSelected(params == null ? void 0 : params.id);
15657
+ }
15658
+ }, (params == null ? void 0 : params.text) || 'No text');
15659
+ })));
15660
+ };
15661
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
15662
+ displayName: "ListMenu__Container",
15663
+ componentId: "sc-i9097t-0"
15664
+ })(["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) {
15665
+ return props.y || 0;
15666
+ }, function (props) {
15667
+ return props.x || 0;
15668
+ }, uiFonts.size.xsmall);
15669
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15670
+ displayName: "ListMenu__ListElement",
15671
+ componentId: "sc-i9097t-1"
15672
+ })(["margin-right:0.5rem;"]);
15673
+
15674
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15675
+ var atlasJSON = _ref.atlasJSON,
15676
+ atlasIMG = _ref.atlasIMG,
15677
+ item = _ref.item,
15678
+ itemPrice = _ref.itemPrice,
15679
+ equipmentSet = _ref.equipmentSet,
15680
+ scale = _ref.scale,
15681
+ onHandleClick = _ref.onHandleClick;
15682
+ return React__default.createElement(MarketPlaceWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(ItemInfoWrapper, {
15683
+ item: item,
15684
+ atlasIMG: atlasIMG,
15685
+ atlasJSON: atlasJSON,
15686
+ equipmentSet: equipmentSet,
15687
+ scale: scale
15688
+ }, React__default.createElement(SpriteFromAtlas, {
15689
+ atlasIMG: atlasIMG,
15690
+ atlasJSON: atlasJSON,
15691
+ spriteKey: shared.getItemTextureKeyPath({
15692
+ key: item.key,
15693
+ stackQty: item.stackQty || 1,
15694
+ texturePath: item.texturePath,
15695
+ isStackable: item.isStackable
15696
+ }, atlasJSON),
15697
+ imgScale: 2
15698
+ }))), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15699
+ maxLines: 1,
15700
+ maxWidth: "150px",
15701
+ fontSize: "10px"
15702
+ }, item.name)))), React__default.createElement(QuantityContainer, null, React__default.createElement(QuantityDisplay, null, React__default.createElement(TextOverlay$1, null, React__default.createElement(Item$1, null, React__default.createElement(Ellipsis, {
15703
+ maxLines: 1,
15704
+ maxWidth: "150px",
15705
+ fontSize: "10px"
15706
+ }, item.rarity))))), React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(SpriteFromAtlas, {
15707
+ atlasIMG: atlasIMG,
15708
+ atlasJSON: atlasJSON,
15709
+ spriteKey: 'others/gold-coin-qty-4.png',
15710
+ imgScale: 2
15711
+ })), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15712
+ maxLines: 1,
15713
+ maxWidth: "150px",
15714
+ fontSize: "10px"
15715
+ }, "$", itemPrice)))), React__default.createElement(ButtonContainer$1, null, React__default.createElement(Button, {
15716
+ buttonType: exports.ButtonTypes.RPGUIButton,
15717
+ onClick: function onClick() {
15718
+ return onHandleClick(item.name);
15719
+ }
15720
+ }, "Buy")));
15721
+ };
15722
+ var MarketPlaceWrapper = /*#__PURE__*/styled.div.withConfig({
15723
+ displayName: "MarketplaceRows__MarketPlaceWrapper",
15724
+ componentId: "sc-wmpr1o-0"
15725
+ })(["margin:auto;display:grid;grid-template-columns:35% 20% 20% 25%;&:hover{background-color:", ";}padding:0.5rem;p{font-size:0.8rem;}"], uiColors.darkGray);
15726
+ var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15727
+ displayName: "MarketplaceRows__ItemIconContainer",
15728
+ componentId: "sc-wmpr1o-1"
15729
+ })(["display:flex;justify-content:flex-start;align-items:center;"]);
15730
+ var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15731
+ displayName: "MarketplaceRows__SpriteContainer",
15732
+ componentId: "sc-wmpr1o-2"
15733
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15734
+ var Item$1 = /*#__PURE__*/styled.span.withConfig({
15735
+ displayName: "MarketplaceRows__Item",
15736
+ componentId: "sc-wmpr1o-3"
15737
+ })(["color:white;text-align:center;z-index:1;width:100%;"]);
15738
+ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15739
+ displayName: "MarketplaceRows__TextOverlay",
15740
+ componentId: "sc-wmpr1o-4"
15741
+ })(["width:100%;position:relative;"]);
15742
+ var QuantityContainer = /*#__PURE__*/styled.div.withConfig({
15743
+ displayName: "MarketplaceRows__QuantityContainer",
15744
+ componentId: "sc-wmpr1o-5"
15745
+ })(["position:relative;display:flex;min-width:100px;justify-content:center;align-items:center;"]);
15746
+ var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
15747
+ displayName: "MarketplaceRows__QuantityDisplay",
15748
+ componentId: "sc-wmpr1o-6"
15749
+ })(["font-size:", ";"], uiFonts.size.small);
15750
+ var PriceValue = /*#__PURE__*/styled.div.withConfig({
15751
+ displayName: "MarketplaceRows__PriceValue",
15752
+ componentId: "sc-wmpr1o-7"
15753
+ })(["margin-left:40px;"]);
15754
+ var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15755
+ displayName: "MarketplaceRows__ButtonContainer",
15756
+ componentId: "sc-wmpr1o-8"
15757
+ })(["margin:auto;"]);
15758
+
15759
+ var Marketplace = function Marketplace(_ref) {
15760
+ var items = _ref.items,
15761
+ atlasIMG = _ref.atlasIMG,
15762
+ atlasJSON = _ref.atlasJSON,
15763
+ onClose = _ref.onClose,
15764
+ optionsType = _ref.optionsType,
15765
+ optionsRarity = _ref.optionsRarity,
15766
+ optionsPrice = _ref.optionsPrice,
15767
+ onChangeType = _ref.onChangeType,
15768
+ onChangeRarity = _ref.onChangeRarity,
15769
+ onChangeOrder = _ref.onChangeOrder,
15770
+ onChangeNameInput = _ref.onChangeNameInput,
15771
+ scale = _ref.scale,
15772
+ equipmentSet = _ref.equipmentSet,
15773
+ onHandleClick = _ref.onHandleClick;
15774
+ return React__default.createElement(DraggableContainer, {
15775
+ type: exports.RPGUIContainerTypes.Framed,
15776
+ onCloseButton: function onCloseButton() {
15777
+ if (onClose) onClose();
15539
15778
  },
15540
- onFinish: function onFinish() {
15541
- return setCanShowAnswers(true);
15542
- }
15543
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15779
+ width: "800px",
15780
+ cancelDrag: "#MarketContainer",
15781
+ scale: scale
15782
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(InputWrapper, null, React__default.createElement("p", null, " Search By Name"), React__default.createElement(Input, {
15783
+ onChange: onChangeNameInput,
15784
+ placeholder: 'Search...'
15785
+ })), React__default.createElement(WrapperContainer, null, React__default.createElement(StyledDropdown, {
15786
+ options: optionsType,
15787
+ onChange: onChangeType,
15788
+ width: '220px'
15789
+ }), React__default.createElement(StyledDropdown, {
15790
+ options: optionsRarity,
15791
+ onChange: onChangeRarity,
15792
+ width: '220px'
15793
+ }), React__default.createElement(StyledDropdown, {
15794
+ options: optionsPrice,
15795
+ onChange: onChangeOrder,
15796
+ width: '220px'
15797
+ })), React__default.createElement(ItemComponentScrollWrapper, {
15798
+ id: "MarketContainer"
15799
+ }, items == null ? void 0 : items.map(function (item, index) {
15800
+ return React__default.createElement(MarketplaceRows, {
15801
+ key: item.key + "_" + index,
15802
+ atlasIMG: atlasIMG,
15803
+ atlasJSON: atlasJSON,
15804
+ item: item,
15805
+ itemPrice: 10,
15806
+ equipmentSet: equipmentSet,
15807
+ onHandleClick: onHandleClick
15808
+ });
15809
+ }))));
15544
15810
  };
15545
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15546
- displayName: "QuestionDialog__Container",
15547
- componentId: "sc-bxc5u0-0"
15548
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
15549
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
15550
- displayName: "QuestionDialog__QuestionContainer",
15551
- componentId: "sc-bxc5u0-1"
15552
- })(["flex:100%;width:100%;"]);
15553
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
15554
- displayName: "QuestionDialog__AnswersContainer",
15555
- componentId: "sc-bxc5u0-2"
15556
- })(["flex:100%;"]);
15557
- var Answer = /*#__PURE__*/styled.p.withConfig({
15558
- displayName: "QuestionDialog__Answer",
15559
- componentId: "sc-bxc5u0-3"
15560
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
15561
- return props.color;
15562
- });
15563
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
15564
- displayName: "QuestionDialog__AnswerSelectedIcon",
15565
- componentId: "sc-bxc5u0-4"
15566
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
15567
- return props.color;
15568
- });
15569
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
15570
- displayName: "QuestionDialog__AnswerRow",
15571
- componentId: "sc-bxc5u0-5"
15572
- })(["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;}"]);
15811
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15812
+ displayName: "Marketplace__InputWrapper",
15813
+ componentId: "sc-h904b1-0"
15814
+ })(["width:95%;display:flex;justify-content:flex-start;align-items:center;margin:auto;margin-bottom:10px;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15815
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15816
+ displayName: "Marketplace__WrapperContainer",
15817
+ componentId: "sc-h904b1-1"
15818
+ })(["display:grid;grid-template-columns:30% 30% 30%;justify-content:space-between;width:90%;margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
15819
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15820
+ displayName: "Marketplace__ItemComponentScrollWrapper",
15821
+ componentId: "sc-h904b1-2"
15822
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;"]);
15823
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15824
+ displayName: "Marketplace__StyledDropdown",
15825
+ componentId: "sc-h904b1-3"
15826
+ })(["margin:3px !important;width:170px !important;"]);
15573
15827
 
15574
15828
  var ProgressBar = function ProgressBar(_ref) {
15575
15829
  var max = _ref.max,
@@ -15588,7 +15842,7 @@ var ProgressBar = function ProgressBar(_ref) {
15588
15842
  }
15589
15843
  return value * 100 / max;
15590
15844
  };
15591
- return React__default.createElement(Container$i, {
15845
+ return React__default.createElement(Container$k, {
15592
15846
  className: "rpgui-progress",
15593
15847
  "data-value": calculatePercentageValue(max, value) / 100,
15594
15848
  "data-rpguitype": "progress",
@@ -15617,7 +15871,7 @@ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
15617
15871
  displayName: "ProgressBar__TextOverlay",
15618
15872
  componentId: "sc-qa6fzh-1"
15619
15873
  })(["width:100%;position:relative;"]);
15620
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15874
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
15621
15875
  displayName: "ProgressBar__Container",
15622
15876
  componentId: "sc-qa6fzh-2"
15623
15877
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -15628,7 +15882,7 @@ var Container$i = /*#__PURE__*/styled.div.withConfig({
15628
15882
  return props.style;
15629
15883
  });
15630
15884
 
15631
- var img$7 = 'data:image/png;base64,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';
15885
+ var img$8 = 'data:image/png;base64,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';
15632
15886
 
15633
15887
  var QuestInfo = function QuestInfo(_ref) {
15634
15888
  var quests = _ref.quests,
@@ -15672,7 +15926,7 @@ var QuestInfo = function QuestInfo(_ref) {
15672
15926
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15673
15927
  className: "drag-handler"
15674
15928
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15675
- src: quests[currentIndex].thumbnail || img$7
15929
+ src: quests[currentIndex].thumbnail || img$8
15676
15930
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15677
15931
  className: "golden"
15678
15932
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -15691,7 +15945,7 @@ var QuestInfo = function QuestInfo(_ref) {
15691
15945
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15692
15946
  className: "drag-handler"
15693
15947
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15694
- src: quests[0].thumbnail || img$7
15948
+ src: quests[0].thumbnail || img$8
15695
15949
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15696
15950
  className: "golden"
15697
15951
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -15844,15 +16098,19 @@ var Shortcuts = function Shortcuts(_ref) {
15844
16098
  isBlockedCastingByKeyboard = _ref$isBlockedCasting === void 0 ? false : _ref$isBlockedCasting,
15845
16099
  atlasJSON = _ref.atlasJSON,
15846
16100
  atlasIMG = _ref.atlasIMG,
15847
- inventory = _ref.inventory;
16101
+ inventory = _ref.inventory,
16102
+ spellCooldowns = _ref.spellCooldowns;
15848
16103
  var shortcutsRefs = React.useRef([]);
16104
+ var _useShortcutCooldown = useShortcutCooldown(onShortcutCast),
16105
+ handleShortcutCast = _useShortcutCooldown.handleShortcutCast,
16106
+ shortcutCooldown = _useShortcutCooldown.shortcutCooldown;
15849
16107
  React.useEffect(function () {
15850
16108
  var handleKeyDown = function handleKeyDown(e) {
15851
16109
  if (isBlockedCastingByKeyboard) return;
15852
16110
  var shortcutIndex = Number(e.key) - 1;
15853
16111
  if (shortcutIndex >= 0 && shortcutIndex <= 5) {
15854
16112
  var _shortcutsRefs$curren;
15855
- onShortcutCast(shortcutIndex);
16113
+ handleShortcutCast(shortcutIndex);
15856
16114
  (_shortcutsRefs$curren = shortcutsRefs.current[shortcutIndex]) == null ? void 0 : _shortcutsRefs$curren.classList.add('active');
15857
16115
  setTimeout(function () {
15858
16116
  var _shortcutsRefs$curren2;
@@ -15864,11 +16122,15 @@ var Shortcuts = function Shortcuts(_ref) {
15864
16122
  return function () {
15865
16123
  window.removeEventListener('keydown', handleKeyDown);
15866
16124
  };
15867
- }, [shortcuts, isBlockedCastingByKeyboard]);
16125
+ }, [shortcuts, isBlockedCastingByKeyboard, shortcutCooldown]);
15868
16126
  return React__default.createElement(List$1, null, Array.from({
15869
16127
  length: 6
15870
16128
  }).map(function (_, i) {
15871
- var _shortcuts$i, _shortcuts$i3, _payload$manaCost;
16129
+ var _shortcuts$i, _shortcuts$i3, _spellCooldowns$paylo, _payload$manaCost;
16130
+ var buildClassName = function buildClassName(classBase, isOnCooldown) {
16131
+ return classBase + " " + (isOnCooldown ? 'onCooldown' : '');
16132
+ };
16133
+ var isOnShortcutCooldown = shortcutCooldown > 0;
15872
16134
  if (((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) === shared.ShortcutType.Item) {
15873
16135
  var _shortcuts$i2;
15874
16136
  var _payload = (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.payload;
@@ -15885,12 +16147,14 @@ var Shortcuts = function Shortcuts(_ref) {
15885
16147
  var totalQty = _payload && inventory ? countItemFromInventory(_payload.key, inventory) : 0;
15886
16148
  return React__default.createElement(StyledShortcut$1, {
15887
16149
  key: i,
15888
- onPointerDown: onShortcutCast.bind(null, i),
16150
+ onPointerDown: handleShortcutCast.bind(null, i),
15889
16151
  disabled: false,
15890
16152
  ref: function ref(el) {
15891
16153
  if (el) shortcutsRefs.current[i] = el;
15892
16154
  }
15893
- }, _payload && React__default.createElement(SpriteFromAtlas, {
16155
+ }, isOnShortcutCooldown && React__default.createElement("span", {
16156
+ className: "cooldown"
16157
+ }, shortcutCooldown.toFixed(1)), _payload && React__default.createElement(SpriteFromAtlas, {
15894
16158
  atlasIMG: atlasIMG,
15895
16159
  atlasJSON: atlasJSON,
15896
16160
  spriteKey: shared.getItemTextureKeyPath({
@@ -15902,27 +16166,32 @@ var Shortcuts = function Shortcuts(_ref) {
15902
16166
  width: 32,
15903
16167
  height: 32
15904
16168
  }), React__default.createElement("span", {
15905
- className: "qty"
16169
+ className: buildClassName('qty', isOnShortcutCooldown)
15906
16170
  }, totalQty), React__default.createElement("span", {
15907
- className: "keyboard"
16171
+ className: buildClassName('keyboard', isOnShortcutCooldown)
15908
16172
  }, i + 1));
15909
16173
  }
15910
16174
  var payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
16175
+ var spellCooldown = !payload ? 0 : (_spellCooldowns$paylo = spellCooldowns == null ? void 0 : spellCooldowns[payload.magicWords.replaceAll(' ', '_')]) != null ? _spellCooldowns$paylo : shortcutCooldown;
16176
+ var cooldown = spellCooldown > shortcutCooldown ? spellCooldown : shortcutCooldown;
16177
+ var isOnCooldown = cooldown > 0 && !!payload;
15911
16178
  return React__default.createElement(StyledShortcut$1, {
15912
16179
  key: i,
15913
- onPointerDown: onShortcutCast.bind(null, i),
16180
+ onPointerDown: handleShortcutCast.bind(null, i),
15914
16181
  disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0),
15915
16182
  ref: function ref(el) {
15916
16183
  if (el) shortcutsRefs.current[i] = el;
15917
16184
  }
15918
- }, React__default.createElement("span", {
15919
- className: "mana"
16185
+ }, isOnCooldown && React__default.createElement("span", {
16186
+ className: "cooldown"
16187
+ }, cooldown.toFixed(cooldown < 10 ? 1 : 0)), React__default.createElement("span", {
16188
+ className: buildClassName('mana', isOnCooldown)
15920
16189
  }, payload && payload.manaCost), React__default.createElement("span", {
15921
16190
  className: "magicWords"
15922
16191
  }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15923
16192
  return word[0];
15924
16193
  })), React__default.createElement("span", {
15925
- className: "keyboard"
16194
+ className: buildClassName('keyboard', isOnCooldown)
15926
16195
  }, i + 1));
15927
16196
  }));
15928
16197
  };
@@ -15941,7 +16210,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
15941
16210
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
15942
16211
  _ref$margin = _ref.margin,
15943
16212
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
15944
- return React__default.createElement(Container$j, {
16213
+ return React__default.createElement(Container$l, {
15945
16214
  className: "simple-progress-bar"
15946
16215
  }, React__default.createElement(ProgressBarContainer, {
15947
16216
  margin: margin
@@ -15950,7 +16219,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
15950
16219
  bgColor: bgColor
15951
16220
  }))));
15952
16221
  };
15953
- var Container$j = /*#__PURE__*/styled.div.withConfig({
16222
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
15954
16223
  displayName: "SimpleProgressBar__Container",
15955
16224
  componentId: "sc-mbeil3-0"
15956
16225
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16129,72 +16398,283 @@ var SkillsContainer = function SkillsContainer(_ref) {
16129
16398
  title: "Skills",
16130
16399
  cancelDrag: "#skillsDiv",
16131
16400
  scale: scale
16132
- }, onCloseButton && React__default.createElement(CloseButton$3, {
16133
- onPointerDown: onCloseButton
16134
- }, "X"), React__default.createElement(SkillsContainerDiv, {
16135
- id: "skillsDiv"
16136
- }, React__default.createElement(SkillSplitDiv, null, React__default.createElement("p", null, "General"), React__default.createElement("hr", {
16137
- className: "golden"
16138
- }), React__default.createElement(SkillProgressBar, {
16139
- skillName: 'Level',
16140
- bgColor: uiColors.navyBlue,
16141
- level: Math.round(skill.level) || 0,
16142
- skillPoints: Math.round(skill.experience) || 0,
16143
- skillPointsToNextLevel: Math.round(skill.xpToNextLevel) || 0,
16144
- texturePath: 'swords/broad-sword.png',
16145
- atlasIMG: atlasIMG,
16146
- atlasJSON: atlasJSON
16147
- }), React__default.createElement("p", null, "Combat Skills"), React__default.createElement("hr", {
16148
- className: "golden"
16149
- })), onRenderSkillCategory('combat'), React__default.createElement(SkillSplitDiv, null, React__default.createElement("p", null, "Crafting Skills"), React__default.createElement("hr", {
16150
- className: "golden"
16151
- })), onRenderSkillCategory('crafting'), React__default.createElement(SkillSplitDiv, null, React__default.createElement("p", null, "Basic Attributes"), React__default.createElement("hr", {
16152
- className: "golden"
16153
- })), onRenderSkillCategory('attributes')));
16401
+ }, onCloseButton && React__default.createElement(CloseButton$3, {
16402
+ onPointerDown: onCloseButton
16403
+ }, "X"), React__default.createElement(SkillsContainerDiv, {
16404
+ id: "skillsDiv"
16405
+ }, React__default.createElement(SkillSplitDiv, null, React__default.createElement("p", null, "General"), React__default.createElement("hr", {
16406
+ className: "golden"
16407
+ }), React__default.createElement(SkillProgressBar, {
16408
+ skillName: 'Level',
16409
+ bgColor: uiColors.navyBlue,
16410
+ level: Math.round(skill.level) || 0,
16411
+ skillPoints: Math.round(skill.experience) || 0,
16412
+ skillPointsToNextLevel: Math.round(skill.xpToNextLevel) || 0,
16413
+ texturePath: 'swords/broad-sword.png',
16414
+ atlasIMG: atlasIMG,
16415
+ atlasJSON: atlasJSON
16416
+ }), React__default.createElement("p", null, "Combat Skills"), React__default.createElement("hr", {
16417
+ className: "golden"
16418
+ })), onRenderSkillCategory('combat'), React__default.createElement(SkillSplitDiv, null, React__default.createElement("p", null, "Crafting Skills"), React__default.createElement("hr", {
16419
+ className: "golden"
16420
+ })), onRenderSkillCategory('crafting'), React__default.createElement(SkillSplitDiv, null, React__default.createElement("p", null, "Basic Attributes"), React__default.createElement("hr", {
16421
+ className: "golden"
16422
+ })), onRenderSkillCategory('attributes')));
16423
+ };
16424
+ var SkillsDraggableContainer = /*#__PURE__*/styled(DraggableContainer).withConfig({
16425
+ displayName: "SkillsContainer__SkillsDraggableContainer",
16426
+ componentId: "sc-1g0c67q-0"
16427
+ })(["border:1px solid black;width:400px;height:90%;.DraggableContainer__TitleContainer-sc-184mpyl-2{width:auto;height:auto;}"]);
16428
+ var SkillsContainerDiv = /*#__PURE__*/styled.div.withConfig({
16429
+ displayName: "SkillsContainer__SkillsContainerDiv",
16430
+ componentId: "sc-1g0c67q-1"
16431
+ })(["width:100%;-webkit-overflow-y:scroll;overflow-y:scroll;height:90%;padding-right:10px;"]);
16432
+ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
16433
+ displayName: "SkillsContainer__SkillSplitDiv",
16434
+ componentId: "sc-1g0c67q-2"
16435
+ })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
16436
+ var CloseButton$3 = /*#__PURE__*/styled.div.withConfig({
16437
+ displayName: "SkillsContainer__CloseButton",
16438
+ componentId: "sc-1g0c67q-3"
16439
+ })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
16440
+
16441
+ var formatSpellCastingType = function formatSpellCastingType(castingType) {
16442
+ var formattedCastingType = castingType.split("-").map(function (word) {
16443
+ return word.charAt(0).toUpperCase() + word.slice(1);
16444
+ }).join(" ");
16445
+ return formattedCastingType;
16446
+ };
16447
+
16448
+ var SpellInfo = function SpellInfo(_ref) {
16449
+ var spell = _ref.spell;
16450
+ var magicWords = spell.magicWords,
16451
+ name = spell.name,
16452
+ manaCost = spell.manaCost,
16453
+ requiredItem = spell.requiredItem,
16454
+ description = spell.description,
16455
+ castingType = spell.castingType,
16456
+ cooldown = spell.cooldown,
16457
+ maxDistanceGrid = spell.maxDistanceGrid;
16458
+ return React__default.createElement(Container$m, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$6, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16459
+ className: "label"
16460
+ }, "Casting Type:"), React__default.createElement("div", {
16461
+ className: "value"
16462
+ }, formatSpellCastingType(castingType))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16463
+ className: "label"
16464
+ }, "Magic words:"), React__default.createElement("div", {
16465
+ className: "value"
16466
+ }, magicWords)), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16467
+ className: "label"
16468
+ }, "Mana cost:"), React__default.createElement("div", {
16469
+ className: "value"
16470
+ }, manaCost)), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16471
+ className: "label"
16472
+ }, "Cooldown:"), React__default.createElement("div", {
16473
+ className: "value"
16474
+ }, cooldown)), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16475
+ className: "label"
16476
+ }, "Max Distance Grid:"), React__default.createElement("div", {
16477
+ className: "value"
16478
+ }, maxDistanceGrid)), React__default.createElement(Statistic$1, null, requiredItem && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
16479
+ className: "label"
16480
+ }, "Required Item:"), React__default.createElement("div", {
16481
+ className: "value"
16482
+ }, requiredItem))), React__default.createElement(Description$1, null, description));
16483
+ };
16484
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16485
+ displayName: "SpellInfo__Container",
16486
+ componentId: "sc-4hbw3q-0"
16487
+ })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:30rem;@media (max-width:580px){width:80vw;}"], uiFonts.size.small, uiColors.lightGray);
16488
+ var Title$6 = /*#__PURE__*/styled.div.withConfig({
16489
+ displayName: "SpellInfo__Title",
16490
+ componentId: "sc-4hbw3q-1"
16491
+ })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
16492
+ var Type$1 = /*#__PURE__*/styled.div.withConfig({
16493
+ displayName: "SpellInfo__Type",
16494
+ componentId: "sc-4hbw3q-2"
16495
+ })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
16496
+ var Description$1 = /*#__PURE__*/styled.div.withConfig({
16497
+ displayName: "SpellInfo__Description",
16498
+ componentId: "sc-4hbw3q-3"
16499
+ })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
16500
+ var Header$1 = /*#__PURE__*/styled.div.withConfig({
16501
+ displayName: "SpellInfo__Header",
16502
+ componentId: "sc-4hbw3q-4"
16503
+ })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
16504
+ var Statistic$1 = /*#__PURE__*/styled.div.withConfig({
16505
+ displayName: "SpellInfo__Statistic",
16506
+ componentId: "sc-4hbw3q-5"
16507
+ })(["margin-bottom:0.4rem;width:max-content;.label{display:inline-block;margin-right:0.5rem;color:inherit;}.value{display:inline-block;color:inherit;}&.better,.better{color:", ";}&.worse,.worse{color:", ";}"], uiColors.lightGreen, uiColors.cardinal);
16508
+
16509
+ var SpellInfoDisplay = function SpellInfoDisplay(_ref) {
16510
+ var spell = _ref.spell,
16511
+ isMobile = _ref.isMobile;
16512
+ return React__default.createElement(Flex$1, {
16513
+ "$isMobile": isMobile
16514
+ }, React__default.createElement(SpellInfo, {
16515
+ spell: spell
16516
+ }));
16517
+ };
16518
+ var Flex$1 = /*#__PURE__*/styled.div.withConfig({
16519
+ displayName: "SpellInfoDisplay__Flex",
16520
+ componentId: "sc-1htnsmm-0"
16521
+ })(["display:flex;gap:0.5rem;flex-direction:", ";@media (max-width:580px){flex-direction:column-reverse;align-items:center;}"], function (_ref2) {
16522
+ var $isMobile = _ref2.$isMobile;
16523
+ return $isMobile ? 'row-reverse' : 'row';
16524
+ });
16525
+
16526
+ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16527
+ var spell = _ref.spell,
16528
+ closeTooltip = _ref.closeTooltip,
16529
+ _ref$scale = _ref.scale,
16530
+ scale = _ref$scale === void 0 ? 1 : _ref$scale,
16531
+ options = _ref.options,
16532
+ onSelected = _ref.onSelected;
16533
+ var ref = React.useRef(null);
16534
+ var handleFadeOut = function handleFadeOut() {
16535
+ var _ref$current;
16536
+ (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16537
+ };
16538
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$n, {
16539
+ ref: ref,
16540
+ onTouchEnd: function onTouchEnd() {
16541
+ handleFadeOut();
16542
+ setTimeout(function () {
16543
+ closeTooltip();
16544
+ }, 100);
16545
+ },
16546
+ scale: scale
16547
+ }, React__default.createElement(SpellInfoDisplay, {
16548
+ spell: spell,
16549
+ isMobile: true
16550
+ }), React__default.createElement(OptionsContainer$1, null, options == null ? void 0 : options.map(function (option) {
16551
+ return React__default.createElement(Option$1, {
16552
+ key: option.id,
16553
+ onTouchEnd: function onTouchEnd() {
16554
+ handleFadeOut();
16555
+ setTimeout(function () {
16556
+ onSelected == null ? void 0 : onSelected(option.id);
16557
+ closeTooltip();
16558
+ }, 100);
16559
+ }
16560
+ }, option.text);
16561
+ }))));
16562
+ };
16563
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
16564
+ displayName: "MobileSpellTooltip__Container",
16565
+ componentId: "sc-6p7uvr-0"
16566
+ })(["position:absolute;z-index:100;left:0;top:0;width:100vw;height:100vh;background-color:rgba(0 0 0 / 0.5);display:flex;justify-content:center;align-items:center;gap:0.5rem;transition:opacity 0.08s;animation:fadeIn 0.1s forwards;@keyframes fadeIn{0%{opacity:0;}100%{opacity:0.92;}}@keyframes fadeOut{0%{opacity:0.92;}100%{opacity:0;}}&.fadeOut{animation:fadeOut 0.1s forwards;}@media (max-width:580px){flex-direction:column;}"]);
16567
+ var OptionsContainer$1 = /*#__PURE__*/styled.div.withConfig({
16568
+ displayName: "MobileSpellTooltip__OptionsContainer",
16569
+ componentId: "sc-6p7uvr-1"
16570
+ })(["display:flex;flex-direction:column;gap:0.5rem;flex-wrap:wrap;@media (max-width:580px){flex-direction:row;justify-content:center;}"]);
16571
+ var Option$1 = /*#__PURE__*/styled.button.withConfig({
16572
+ displayName: "MobileSpellTooltip__Option",
16573
+ componentId: "sc-6p7uvr-2"
16574
+ })(["padding:1rem;background-color:#333;color:white;border:none;border-radius:3px;width:8rem;transition:background-color 0.1s;&:hover{background-color:#555;}@media (max-width:580px){padding:1rem 0.5rem;}"]);
16575
+
16576
+ var offset$1 = 20;
16577
+ var MagicTooltip = function MagicTooltip(_ref) {
16578
+ var spell = _ref.spell;
16579
+ var ref = React.useRef(null);
16580
+ React.useEffect(function () {
16581
+ var current = ref.current;
16582
+ if (current) {
16583
+ var handleMouseMove = function handleMouseMove(event) {
16584
+ var clientX = event.clientX,
16585
+ clientY = event.clientY;
16586
+ // Adjust the position of the tooltip based on the mouse position
16587
+ var rect = current.getBoundingClientRect();
16588
+ var tooltipWidth = rect.width;
16589
+ var tooltipHeight = rect.height;
16590
+ var isOffScreenRight = clientX + tooltipWidth + offset$1 > window.innerWidth;
16591
+ var isOffScreenBottom = clientY + tooltipHeight + offset$1 > window.innerHeight;
16592
+ var x = isOffScreenRight ? clientX - tooltipWidth - offset$1 : clientX + offset$1;
16593
+ var y = isOffScreenBottom ? clientY - tooltipHeight - offset$1 : clientY + offset$1;
16594
+ current.style.transform = "translate(" + x + "px, " + y + "px)";
16595
+ current.style.opacity = '1';
16596
+ };
16597
+ window.addEventListener('mousemove', handleMouseMove);
16598
+ return function () {
16599
+ window.removeEventListener('mousemove', handleMouseMove);
16600
+ };
16601
+ }
16602
+ return;
16603
+ }, []);
16604
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$o, {
16605
+ ref: ref
16606
+ }, React__default.createElement(SpellInfoDisplay, {
16607
+ spell: spell
16608
+ })));
16609
+ };
16610
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16611
+ displayName: "SpellTooltip__Container",
16612
+ componentId: "sc-1go0gwg-0"
16613
+ })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
16614
+
16615
+ var SpellInfoWrapper = function SpellInfoWrapper(_ref) {
16616
+ var children = _ref.children,
16617
+ spell = _ref.spell,
16618
+ scale = _ref.scale;
16619
+ var _useState = React.useState(false),
16620
+ isTooltipVisible = _useState[0],
16621
+ setIsTooltipVisible = _useState[1];
16622
+ var _useState2 = React.useState(false),
16623
+ isTooltipMobileVisible = _useState2[0],
16624
+ setIsTooltipMobileVisible = _useState2[1];
16625
+ return React__default.createElement("div", {
16626
+ onMouseEnter: function onMouseEnter() {
16627
+ if (!isTooltipMobileVisible) setIsTooltipVisible(true);
16628
+ },
16629
+ onMouseLeave: setIsTooltipVisible.bind(null, false),
16630
+ onTouchEnd: function onTouchEnd() {
16631
+ setIsTooltipMobileVisible(true);
16632
+ setIsTooltipVisible(false);
16633
+ }
16634
+ }, children, isTooltipVisible && !isTooltipMobileVisible && React__default.createElement(MagicTooltip, {
16635
+ spell: spell
16636
+ }), isTooltipMobileVisible && React__default.createElement(MobileSpellTooltip, {
16637
+ closeTooltip: function closeTooltip() {
16638
+ setIsTooltipMobileVisible(false);
16639
+ console.log('close');
16640
+ },
16641
+ spell: spell,
16642
+ scale: scale
16643
+ }));
16154
16644
  };
16155
- var SkillsDraggableContainer = /*#__PURE__*/styled(DraggableContainer).withConfig({
16156
- displayName: "SkillsContainer__SkillsDraggableContainer",
16157
- componentId: "sc-1g0c67q-0"
16158
- })(["border:1px solid black;width:400px;height:90%;.DraggableContainer__TitleContainer-sc-184mpyl-2{width:auto;height:auto;}"]);
16159
- var SkillsContainerDiv = /*#__PURE__*/styled.div.withConfig({
16160
- displayName: "SkillsContainer__SkillsContainerDiv",
16161
- componentId: "sc-1g0c67q-1"
16162
- })(["width:100%;-webkit-overflow-y:scroll;overflow-y:scroll;height:90%;padding-right:10px;"]);
16163
- var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
16164
- displayName: "SkillsContainer__SkillSplitDiv",
16165
- componentId: "sc-1g0c67q-2"
16166
- })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
16167
- var CloseButton$3 = /*#__PURE__*/styled.div.withConfig({
16168
- displayName: "SkillsContainer__CloseButton",
16169
- componentId: "sc-1g0c67q-3"
16170
- })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
16171
16645
 
16172
16646
  var Spell = function Spell(_ref) {
16173
16647
  var spellKey = _ref.spellKey,
16174
- name = _ref.name,
16175
- description = _ref.description,
16176
- magicWords = _ref.magicWords,
16177
- manaCost = _ref.manaCost,
16178
16648
  charMana = _ref.charMana,
16179
16649
  charMagicLevel = _ref.charMagicLevel,
16180
16650
  onPointerUp = _ref.onPointerUp,
16181
16651
  isSettingShortcut = _ref.isSettingShortcut,
16182
- minMagicLevelRequired = _ref.minMagicLevelRequired;
16652
+ spell = _ref.spell,
16653
+ activeCooldown = _ref.activeCooldown;
16654
+ var manaCost = spell.manaCost,
16655
+ minMagicLevelRequired = spell.minMagicLevelRequired,
16656
+ magicWords = spell.magicWords,
16657
+ name = spell.name,
16658
+ description = spell.description;
16183
16659
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16184
- return React__default.createElement(Container$k, {
16185
- disabled: disabled,
16660
+ return React__default.createElement(SpellInfoWrapper, {
16661
+ spell: spell
16662
+ }, React__default.createElement(Container$p, {
16663
+ disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16186
16664
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16187
16665
  isSettingShortcut: isSettingShortcut && !disabled,
16188
16666
  className: "spell"
16189
- }, disabled && React__default.createElement(Overlay, null, charMagicLevel < minMagicLevelRequired ? 'Low magic level' : manaCost > charMana && 'No mana'), React__default.createElement(SpellImage, null, magicWords.split(' ').map(function (word) {
16667
+ }, disabled && React__default.createElement(Overlay, null, charMagicLevel < minMagicLevelRequired ? 'Low magic level' : manaCost > charMana && 'No mana'), React__default.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React__default.createElement("span", {
16668
+ className: "cooldown"
16669
+ }, activeCooldown.toFixed(activeCooldown > 10 ? 0 : 1)) : null, magicWords.split(' ').map(function (word) {
16190
16670
  return word[0];
16191
- })), React__default.createElement(Info, null, React__default.createElement(Title$6, null, React__default.createElement("span", null, name), React__default.createElement("span", {
16671
+ })), React__default.createElement(Info, null, React__default.createElement(Title$7, null, React__default.createElement("span", null, name), React__default.createElement("span", {
16192
16672
  className: "spell"
16193
- }, "(", magicWords, ")")), React__default.createElement(Description$1, null, description)), React__default.createElement(Divider, null), React__default.createElement(Cost, null, React__default.createElement("span", null, "Mana cost:"), React__default.createElement("span", {
16673
+ }, "(", magicWords, ")")), React__default.createElement(Description$2, null, description)), React__default.createElement(Divider, null), React__default.createElement(Cost, null, React__default.createElement("span", null, "Mana cost:"), React__default.createElement("span", {
16194
16674
  className: "mana"
16195
- }, manaCost)));
16675
+ }, manaCost))));
16196
16676
  };
16197
- var Container$k = /*#__PURE__*/styled.button.withConfig({
16677
+ var Container$p = /*#__PURE__*/styled.button.withConfig({
16198
16678
  displayName: "Spell__Container",
16199
16679
  componentId: "sc-j96fa2-0"
16200
16680
  })(["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) {
@@ -16204,16 +16684,16 @@ var Container$k = /*#__PURE__*/styled.button.withConfig({
16204
16684
  var SpellImage = /*#__PURE__*/styled.div.withConfig({
16205
16685
  displayName: "Spell__SpellImage",
16206
16686
  componentId: "sc-j96fa2-1"
16207
- })(["width:4rem;height:4rem;font-size:", ";font-weight:bold;background-color:", ";color:", ";display:flex;justify-content:center;align-items:center;text-transform:uppercase;"], uiFonts.size.xLarge, uiColors.darkGray, uiColors.lightGray);
16687
+ })(["width:4rem;height:4rem;font-size:", ";font-weight:bold;background-color:", ";color:", ";display:flex;justify-content:center;align-items:center;text-transform:uppercase;position:relative;overflow:hidden;.cooldown{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0 0 0 / 20%);color:", ";font-weight:bold;display:flex;justify-content:center;align-items:center;}"], uiFonts.size.xLarge, uiColors.darkGray, uiColors.lightGray, uiColors.darkYellow);
16208
16688
  var Info = /*#__PURE__*/styled.span.withConfig({
16209
16689
  displayName: "Spell__Info",
16210
16690
  componentId: "sc-j96fa2-2"
16211
- })(["width:0;flex:1;"]);
16212
- var Title$6 = /*#__PURE__*/styled.p.withConfig({
16691
+ })(["width:0;flex:1;@media (orientation:portrait){display:none;}"]);
16692
+ var Title$7 = /*#__PURE__*/styled.p.withConfig({
16213
16693
  displayName: "Spell__Title",
16214
16694
  componentId: "sc-j96fa2-3"
16215
16695
  })(["display:flex;flex-wrap:wrap;align-items:center;margin-bottom:5px;margin:0;span{font-size:", " !important;font-weight:bold !important;color:", " !important;margin-right:0.5rem;}.spell{font-size:", " !important;font-weight:normal !important;color:", " !important;}"], uiFonts.size.medium, uiColors.yellow, uiFonts.size.small, uiColors.lightGray);
16216
- var Description$1 = /*#__PURE__*/styled.div.withConfig({
16696
+ var Description$2 = /*#__PURE__*/styled.div.withConfig({
16217
16697
  displayName: "Spell__Description",
16218
16698
  componentId: "sc-j96fa2-4"
16219
16699
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -16243,7 +16723,8 @@ var Spellbook = function Spellbook(_ref) {
16243
16723
  removeShortcut = _ref.removeShortcut,
16244
16724
  atlasIMG = _ref.atlasIMG,
16245
16725
  atlasJSON = _ref.atlasJSON,
16246
- scale = _ref.scale;
16726
+ scale = _ref.scale,
16727
+ spellCooldowns = _ref.spellCooldowns;
16247
16728
  var _useState = React.useState(''),
16248
16729
  search = _useState[0],
16249
16730
  setSearch = _useState[1];
@@ -16281,7 +16762,7 @@ var Spellbook = function Spellbook(_ref) {
16281
16762
  height: "inherit",
16282
16763
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
16283
16764
  scale: scale
16284
- }, React__default.createElement(Container$l, null, React__default.createElement(Title$7, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
16765
+ }, React__default.createElement(Container$q, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
16285
16766
  setSettingShortcutIndex: setSettingShortcutIndex,
16286
16767
  settingShortcutIndex: settingShortcutIndex,
16287
16768
  shortcuts: shortcuts,
@@ -16305,15 +16786,17 @@ var Spellbook = function Spellbook(_ref) {
16305
16786
  charMagicLevel: magicLevel,
16306
16787
  onPointerUp: settingShortcutIndex !== -1 ? setShortcut : onSpellClick,
16307
16788
  spellKey: spell.key,
16308
- isSettingShortcut: settingShortcutIndex !== -1
16789
+ isSettingShortcut: settingShortcutIndex !== -1,
16790
+ spell: spell,
16791
+ activeCooldown: spellCooldowns == null ? void 0 : spellCooldowns[spell.magicWords.replaceAll(' ', '_')]
16309
16792
  }, spell)));
16310
16793
  }))));
16311
16794
  };
16312
- var Title$7 = /*#__PURE__*/styled.h1.withConfig({
16795
+ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
16313
16796
  displayName: "Spellbook__Title",
16314
16797
  componentId: "sc-r02nfq-0"
16315
16798
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
16316
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16799
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16317
16800
  displayName: "Spellbook__Container",
16318
16801
  componentId: "sc-r02nfq-1"
16319
16802
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -16327,16 +16810,16 @@ var TextArea = function TextArea(_ref) {
16327
16810
  return React__default.createElement("textarea", Object.assign({}, props));
16328
16811
  };
16329
16812
 
16330
- var img$8 = 'data:image/gif;base64,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';
16813
+ var img$9 = 'data:image/gif;base64,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';
16331
16814
 
16332
- var img$9 = 'data:image/gif;base64,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';
16815
+ var img$a = 'data:image/gif;base64,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';
16333
16816
 
16334
- var img$a = 'data:image/gif;base64,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';
16817
+ var img$b = 'data:image/gif;base64,R0lGODlhTgBNAPIAAAAAAAgIMhkZS2tsbbcIL4zZ98jh6////yH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq4j4b6wy4qwYN+4Dc+biwfAoBCIk/EoL9twySQKXkcI4dasMm+EKMNnDRiA327wmY1OBeLA4ZAW6o7TtpotH5dX8XY4XA888QIDgoOEhYaHiIR/KFOJjo+QiyWNkJWWinc0gZecjgaDkiB5fV4Gpqd8XQYHfKEeo2pppmu0tKaybpkdlJeztb9rpp2uGryVvsDJrJ+XxBiwqsrStnLOF9BVq9PbqVbWFcae27SGtcyRutdoYtrbVtRi3xLYTe3Kbaxt8lLr0dN1+eKlQ9LPij1gpLo12feA3pCDv0hVGzivYLZ/EvVR5McO/2PGNAy3WGQCsdZHjc9GLim5JmGfkAscCmFJp47CLjAVyAxCk1SBlxsbjuzWs06BAz8npnwYEIw0PQaOrilwKxuRoA6wEX1qFGnHLzkB7OTJVU5SdleXdrxnE2iGsU7Z6qkTVqfKlWVPLsQqVE9evUPqir2L9y/gtMUIMzWsV7BdOTRbHvbDNwJcsu6GBFO6S/HKyMCqvrPzyjNJ0MtIORYpEdkv0XQrEwRDWxaqUxlXZ+0neTLnEHl6+xY4ScCe4cRNXG5dRfds5KtuOgdnWjjaJdMtjLWuWjZwJcideKexPPZ4EmdMx3ujpUES9VfInFfhgwpOLPN51MjBf0f7HhYxBPjfgAQWaOCBCCao4IIMNuggBwkAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAAA/8Iutz+MMpJq7046827/2AojmRpnmiqriPhvrDLirBg37gNz5uLB8CgEIiT8Sgv23DJJApeRwjhxjQIrU3nM8rwZb/gJ4E7FYCBh8N5qDtO12g1XLhlvef4ZT01Hfj/gIEGgIOBhod7Jn2HjI2OggOJLQKPlZaMkiCLl5yPhZFjNGZ5pFcBBgdWVpkcd3FwBrGysXNYRKEfm35plbFpv7+xnX+sGLqXvsDKacKOn8S4PaOwqMvWzLZrxRauZ9XX4Klz20iUyOHoqZzkEt1f3+hLwNlf7FLTYPDgX8Fw9g7usuhbBkectmjc8AmMN8dgGIQVAlYJR4pek39dFDYZCKz/1DiI7TRO3OfxoDGRQzj+KukPZASJKSmyPINRQUB6KuXgsfjwpDeSO2Hd8pky5jVSBfLUBOBKlTgsOfMUOJDU29ALN41aozY1TQFaS5yucnnv51E8U6vmu5owbFigcNS2zADzCtw1PKsEWGoTpVaCtfDwZerX7tmZF8m+LGx4K2Imgwnjlfk4SGTJk+8ivozZrGaPnDt71swMTBq20nbmtAaWn5zQmLPlPbUam1LFWBlXUdn6o6ggp6nN6i0YN9HglYHMRh2ibvLEJ5o+nw07pNVTVlGpYmM8l27keCF318QYfKnquVFCDWwZvTHnoI1wIaxk5o3xfHzovigGv50yI/XVc59/UdSQw4E7zNdDDAwq6OCDEEYo4YQUVmjhhRhmyEECACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAAA/8Iutz+MMpJq7046827/2AojmRpnmiqriPhvrDLirBg37gNz5uLB8CgEIiT8Sgv23DJJApeRwjh1qwyb4Qow2ftVp/Z6FTgDRzKQ91xim5fwyu2ey58xgWDvH7P7/v/egZ2KFOAhoeIgyWFiI2OAwZ5ijR4j5aGkZJwIHIBBkCfdGWfBgYHpZ6THp1mZ6JzoUSbHYx6BweOpbq6j5l6qhq1eZm+f6W3yMill7+zGaxox8nTt6hWsUHAGNBd0tTfp9he2hbCiKbg6dWW5Ehk0erxp23tEtxV6PJLyeJW9VLvvORTZ0UZmn8P7jEZ+A3NvDIIHSgcwpCam4ddIm4J2I3/IKyDzuxxxOfx1biQESYKqZjMJESUAJeIY4nM5cttIxeWtClTFs6eK9PR6ZcRZsKcM4V+HOXzghxSplCRUuqmQLSm5ZBSpIqmwAGrTaCG06iAW1Jw0Qx4vVXAWlisFVSC4lrGK9hucOOO7EfTVZu7N5/llElX4FWyC+TORduG6BejMQUW5pkNcuSOjCnXsXz52k7NiBso9vR5KKgAoUUP1ln6oqvUGxvrG1Kty628wVYv7PvN7dtUnN258ZbO90lKQfx2o2nc8eYWuq/t0iUKtkjNC/0FF2w4iHOKj1OMvnpM6nMVim83fjNDrvqrabZzUoK9jnVaZlfCR21EC4AxMdEdpIZ/W/gQ4BdgyBcHgAcWoeAaSeQg4Q4EBhPDhRVmqOGGHHbo4YcghijiiCQ+kAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHA5loe44TZvR7uBz1o7b1eHUdMDv+/+AgYJ+cyh7g4iJiYUlh4qPkH2MNAIDBn6XkZqBkx91d6BCcER5nmRBZ6GqAZ0cjnxnm7KCrRmvsga5urmzkqUanwEGQsNVuWfIyLmhtRfBacfJ0mfLds0Vt4rR09wHvJrXE89dBt3mynHhEeNW5efvxWnqD+xN7u+jqOjyv9inXvfOWdnnZZ6DeksCckvjjZ+tf+TexWlYxuAChEMUSrsTr/+LRQUYg2hMtqpgPwkhgYxEVtLjyXUQ7QlsaeUjgJQrU9H88lJKTCY5OVrrSe9nPmHmhKYjevBnwqR2CjAkhQEnVDcFDkh1Y9NqN2gGsp4pUM3lw4hf42TdWpFpUYBX07BtC8xpxrhlOpqsmxcvuaU97BLzu9PmFsGD067qOMzwYbiEVzl+DFmxKp2TLyJOHJkhnMyaoeFbQs0hiJQqc3IrC1SOWwufdBpTTU2vWUpAZLdbyZouCdQZd+m6Axrl5p1Dios7Duqo6xUpnYNSDpt5SerOlCBXg70q8KWvT4yxXnONlgZJyCcHE57O+ONF2mupkaP+jvM9YujHz7+///8NAAYo4IAEFmjggRwkAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq4j4b6wy4qwYN+4Dc+biwfAoBCIk/EoL9twySQKXkcI4dasMm+EKMNnDRiA327wmY1OBeLA4ZAW6o7TtpotH5dX8XY4XA888QIDgoOEhYaHiIR/KFOJjo+QiyWNkJWWinc0gZecjgaDkiB5faRDBgd8oR6jaqWlfH6ZHZSdtZWqGrS2Bry9vLagshmsdbxrx8e8rrgYxGnGyNFryn3MFrqV0NLbqJ+c1khocqfc5dN14BLOVuTm5rBi6VLiz+7HS8jwVvIP60zt5qwka8PPgb8lALe1QUVQ2ISDptzVYZim4AKIQhJGI6Wv/4lFBRjBBHRV0WGEkF5GkuzyEUBIjchWlmxGrwrMezJZmpyHMCI3jtV29quZEtZNOsX0EBFqkKgXnwr7FKj3peXLclIPTBUTxqpThFifGShwrAA1ncO+Zgwrh+zWmWm5sm3zFi5NuT+TymkJUi1UaXob9vAb5GhOj0xPEi489/DSWYtTNs7JtwHKo0hJIq28JbJIlTI5d9ZjDx/FeIkr5NnTRJu9boJDjFrTxTW3s3ZFiaPN9Sbu3LIFsBbr6zdwTY57Ik6Bss+pjqIvhOStdEn0uwIzl7qe1vN27rmaozOixSWV0G/Kb/Hh3TqZ1DzYK2GJBX75Gjny71AfPkYM/hIABijggAQWaOCBCCao4IIPJAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHGNAitTeczyvBlv+AngTsVgIGHw3moO07XaDVcuGW95/hlPTUd+P+AgQaAg4GGh3smfYeMjY6CA4ktAo+VloySIIuXnI+FkWM0ZnmkVwEGB1ZWmRx3caWkWEShH5t+aZcGuru6nYGsGLadumnFxb2Vn3/AFq5zxMbRabqkzBXOZ9DS26mya9YTwp7c5Med4BHYX6jl7d5htMGja+ztckLG71/oDupN9eW+HIPDr4G/Ku3gpCIYr9m8dQnnLDxTcMHBJQClxWIoj/9eQFjfGoZ7mCVjNJAhO4IxaQxlygvq3rEs5pKiSAkXg8y89wwOlooAYg7ZuREPUFeqFmIhmqeAz1kqTV0h1/SA05KnFh4liZCbTwMFihWghjXAVoxDqeIJe5Vj1JJq57RdafbmyGxxn84BqiCnzrzZjNrFybXrtppZ+PYtjBEw4rqtGKd1XFOxRclTKYO0fNlnRFhpoHbwm/kjvolZQkP2cMebvlM7t5F9WQszxtjTXicenMGV6pUzZ+/l3XvU72y8dlWBV4L0Yz3EI+t8fmo3H9vVs6/LqopN9NpnjgeGPsOv+GrfRTFe2jNImyheqNdNr4iKyxv0USTB3kSHES4mUpShRBj45QfffjnksAOAPcTgIIMQRijhhBRWaOGFGGao4YYcJAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHMpD3XGKbl/DK7Z7LnzGBYO8fs/v+/96BnYoU4CGh4iDJYWIjY4DBnmKNHiPloaRknAgcgEGQJ90ZZ8GBgelnpMenWZno6WwqGihRJsdjHoHB4ilur6+pY2ZeqoauHmZw329v826wZfFGKxezM7Xp7RL2rWrZLPY4cBt0hbHh6bi6sqH5Ujf1eq+S7/cX7bm8F3p6lbjZe4iUKvCDxuaU2gCStFHsF8bhF4UPhjIpKAzOvbeZKC4Tf+cKHL4JHAcYrHZx4QhBTKs6PEkwJQLt5Fs6bKLxC0rOxqck7FitwsDuZWcx3POzQVBZ+50U2DWz3ygPJlCRSrcnAIHmlZ7WiGpkKG6ZhnAqquArK9Ssx1V4DUIWFdtsGrdx/XdKKtMnQZYy5ahvbdFQRrLqfOam54y+fa9u7Smxo2EC190/Bgy48aU98KcMFIpZseKcYKjiTFqaNGjSQN51iWsZm+H3147W8X1adRtrIWjTRDU7Qadm+iuh/gepSBwX8XiHdXmZsuZRf2OGZ2klekqt7rVW9lE8MNpqdZ5ziky8uTa05APEdw19yDYpympDj/+xraeuIPRgpRKTSwv/AHng3nXgbEeDwPOV6AOB/JXQw4Q7hCgMTFUOOGFGGao4YYcdujhhyCGKOIDCQAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHA5loe44TZvR7uBz1o7b1eHUdMDv+/+AgYJ+cyh7g4iJiYUlh4qPkH2MNAIDBn6XkZqBkx91dwahoqFucER5nmRBZ16hZ6+vpHadHI58Z4iusLtnoZu0GbaKurzFB76RwBefAQZCzs/G0rFuyhbMVgbT28dp1kiVj9rcB4CwmYrfEthN49tW1F7qUqqt72XdZfMO7EzuxnHyddnXoN+Sf7xA6UN1rV4VhLvuVGMIrgxEWBInYjAYTf9aRo3LHLab9tEbxXUi/Xm0Aw1kQ3sAWc46GYFjkIus7BSYuTHlwZVuChzY6bICO1NAcCLNZkDomQKyBtKkB7OYzqH4TvW0CDQN0aIVqyaM09JkMJ8/Y6YpK29qTbRDlJaUqsFmR6tzmxDcAjcuybxL9vJd+xew1h59/RaWeTOA4IKJ73YF0gvsWbJKi0WtkvMxZFCZe7HlDMfzZ9DGNltGnHHUKLJy3G6lvNRw2xaqctpe2Cjybjwn7P4+HNz3ndrEDUVGfsd0XeMlnSOGPkt6LeHNjWgBMIa63jXbt/jwLgeMbDHdIxc5H557khzwd7QPFqP+/Pv48+vfz7+///8FAAbIXwIAOw==';
16335
16818
 
16336
16819
  var DayNightPeriod = function DayNightPeriod(_ref) {
16337
16820
  var _periodOfDaySrcFiles;
16338
16821
  var periodOfDay = _ref.periodOfDay;
16339
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16822
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
16340
16823
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
16341
16824
  src: periodOfDaySrcFiles[periodOfDay]
16342
16825
  }));
@@ -16346,7 +16829,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16346
16829
  componentId: "sc-10t97fw-0"
16347
16830
  })(["width:100%;img{width:67%;}"]);
16348
16831
 
16349
- var img$b = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
16832
+ 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';
16350
16833
 
16351
16834
  var TimeWidget = function TimeWidget(_ref) {
16352
16835
  var onClose = _ref.onClose,
@@ -16364,7 +16847,7 @@ var TimeWidget = function TimeWidget(_ref) {
16364
16847
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16365
16848
  displayName: "TimeWidget__WidgetContainer",
16366
16849
  componentId: "sc-1ja236h-0"
16367
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16850
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
16368
16851
  var Time = /*#__PURE__*/styled.div.withConfig({
16369
16852
  displayName: "TimeWidget__Time",
16370
16853
  componentId: "sc-1ja236h-1"
@@ -16550,7 +17033,7 @@ var TradingMenu = function TradingMenu(_ref) {
16550
17033
  style: {
16551
17034
  width: '100%'
16552
17035
  }
16553
- }, React__default.createElement(Title$8, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
17036
+ }, React__default.createElement(Title$9, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
16554
17037
  className: "golden"
16555
17038
  })), React__default.createElement(TradingComponentScrollWrapper, {
16556
17039
  id: "TraderContainer"
@@ -16580,7 +17063,7 @@ var TradingMenu = function TradingMenu(_ref) {
16580
17063
  }
16581
17064
  }, "Cancel"))));
16582
17065
  };
16583
- var Title$8 = /*#__PURE__*/styled.h1.withConfig({
17066
+ var Title$9 = /*#__PURE__*/styled.h1.withConfig({
16584
17067
  displayName: "TradingMenu__Title",
16585
17068
  componentId: "sc-1wjsz1l-0"
16586
17069
  })(["z-index:22;font-size:0.6rem;color:yellow !important;"]);
@@ -16614,230 +17097,17 @@ var Truncate = function Truncate(_ref) {
16614
17097
  var _ref$maxLines = _ref.maxLines,
16615
17098
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
16616
17099
  children = _ref.children;
16617
- return React__default.createElement(Container$m, {
17100
+ return React__default.createElement(Container$r, {
16618
17101
  maxLines: maxLines
16619
17102
  }, children);
16620
17103
  };
16621
- var Container$m = /*#__PURE__*/styled.div.withConfig({
17104
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
16622
17105
  displayName: "Truncate__Container",
16623
17106
  componentId: "sc-6x00qb-0"
16624
17107
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
16625
17108
  return props.maxLines;
16626
17109
  });
16627
17110
 
16628
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
16629
-
16630
- var chunkString = function chunkString(str, length) {
16631
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
16632
- };
16633
-
16634
- var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
16635
-
16636
- var NPCDialogText = function NPCDialogText(_ref) {
16637
- var text = _ref.text,
16638
- onClose = _ref.onClose,
16639
- onEndStep = _ref.onEndStep,
16640
- onStartStep = _ref.onStartStep,
16641
- type = _ref.type;
16642
- var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
16643
- function maxCharacters(width) {
16644
- // Set the font size to 16 pixels
16645
- var fontSize = 11.2;
16646
- // Calculate the number of characters that can fit in one line
16647
- var charactersPerLine = Math.floor(width / 2 / fontSize);
16648
- // Calculate the number of lines that can fit in the div
16649
- var linesPerDiv = Math.floor(180 / fontSize);
16650
- // Calculate the maximum number of characters that can fit in the div
16651
- var maxCharacters = charactersPerLine * linesPerDiv;
16652
- // Return the maximum number of characters
16653
- return Math.round(maxCharacters / 5);
16654
- }
16655
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
16656
- var _useState = React.useState(0),
16657
- chunkIndex = _useState[0],
16658
- setChunkIndex = _useState[1];
16659
- var onHandleSpacePress = function onHandleSpacePress(event) {
16660
- if (event.code === 'Space') {
16661
- goToNextStep();
16662
- }
16663
- };
16664
- var goToNextStep = function goToNextStep() {
16665
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
16666
- if (hasNextChunk) {
16667
- setChunkIndex(function (prev) {
16668
- return prev + 1;
16669
- });
16670
- } else {
16671
- // if there's no more text chunks, close the dialog
16672
- onClose();
16673
- }
16674
- };
16675
- React.useEffect(function () {
16676
- document.addEventListener('keydown', onHandleSpacePress);
16677
- return function () {
16678
- return document.removeEventListener('keydown', onHandleSpacePress);
16679
- };
16680
- }, [chunkIndex]);
16681
- var _useState2 = React.useState(false),
16682
- showGoNextIndicator = _useState2[0],
16683
- setShowGoNextIndicator = _useState2[1];
16684
- return React__default.createElement(Container$n, null, React__default.createElement(DynamicText, {
16685
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
16686
- onFinish: function onFinish() {
16687
- setShowGoNextIndicator(true);
16688
- onEndStep && onEndStep();
16689
- },
16690
- onStart: function onStart() {
16691
- setShowGoNextIndicator(false);
16692
- onStartStep && onStartStep();
16693
- }
16694
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
16695
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
16696
- src: IS_MOBILE_OR_TABLET ? img$c : img$6,
16697
- onPointerDown: function onPointerDown() {
16698
- goToNextStep();
16699
- }
16700
- }));
16701
- };
16702
- var Container$n = /*#__PURE__*/styled.div.withConfig({
16703
- displayName: "NPCDialogText__Container",
16704
- componentId: "sc-1cxkdh9-0"
16705
- })([""]);
16706
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
16707
- displayName: "NPCDialogText__PressSpaceIndicator",
16708
- componentId: "sc-1cxkdh9-1"
16709
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
16710
- var right = _ref2.right;
16711
- return right;
16712
- });
16713
-
16714
- (function (NPCDialogType) {
16715
- NPCDialogType["TextOnly"] = "TextOnly";
16716
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
16717
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
16718
- var NPCDialog = function NPCDialog(_ref) {
16719
- var text = _ref.text,
16720
- type = _ref.type,
16721
- _onClose = _ref.onClose,
16722
- imagePath = _ref.imagePath,
16723
- _ref$isQuestionDialog = _ref.isQuestionDialog,
16724
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
16725
- questions = _ref.questions,
16726
- answers = _ref.answers;
16727
- return React__default.createElement(RPGUIContainer, {
16728
- type: exports.RPGUIContainerTypes.FramedGold,
16729
- width: isQuestionDialog ? '600px' : '80%',
16730
- height: '180px'
16731
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
16732
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
16733
- }, React__default.createElement(QuestionDialog, {
16734
- questions: questions,
16735
- answers: answers,
16736
- onClose: function onClose() {
16737
- if (_onClose) {
16738
- _onClose();
16739
- }
16740
- }
16741
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
16742
- src: imagePath || img$5
16743
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$o, null, React__default.createElement(TextContainer$2, {
16744
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
16745
- }, React__default.createElement(NPCDialogText, {
16746
- type: type,
16747
- text: text || 'No text provided.',
16748
- onClose: function onClose() {
16749
- if (_onClose) {
16750
- _onClose();
16751
- }
16752
- }
16753
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
16754
- src: imagePath || img$5
16755
- })))));
16756
- };
16757
- var Container$o = /*#__PURE__*/styled.div.withConfig({
16758
- displayName: "NPCDialog__Container",
16759
- componentId: "sc-1b4aw74-0"
16760
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
16761
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
16762
- displayName: "NPCDialog__TextContainer",
16763
- componentId: "sc-1b4aw74-1"
16764
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
16765
- var flex = _ref2.flex;
16766
- return flex;
16767
- });
16768
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
16769
- displayName: "NPCDialog__ThumbnailContainer",
16770
- componentId: "sc-1b4aw74-2"
16771
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
16772
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
16773
- displayName: "NPCDialog__NPCThumbnail",
16774
- componentId: "sc-1b4aw74-3"
16775
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
16776
-
16777
- var HistoryDialog = function HistoryDialog(_ref) {
16778
- var backgroundImgPath = _ref.backgroundImgPath,
16779
- fullCoverBackground = _ref.fullCoverBackground,
16780
- questions = _ref.questions,
16781
- answers = _ref.answers,
16782
- text = _ref.text,
16783
- imagePath = _ref.imagePath,
16784
- textAndTypeArray = _ref.textAndTypeArray,
16785
- onClose = _ref.onClose;
16786
- var _useState = React.useState(0),
16787
- img = _useState[0],
16788
- setImage = _useState[1];
16789
- var onHandleSpacePress = function onHandleSpacePress(event) {
16790
- if (event.code === 'Space') {
16791
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
16792
- setImage(function (prev) {
16793
- return prev + 1;
16794
- });
16795
- } else {
16796
- // if there's no more text chunks, close the dialog
16797
- onClose();
16798
- }
16799
- }
16800
- };
16801
- React.useEffect(function () {
16802
- document.addEventListener('keydown', onHandleSpacePress);
16803
- return function () {
16804
- return document.removeEventListener('keydown', onHandleSpacePress);
16805
- };
16806
- }, [backgroundImgPath]);
16807
- return React__default.createElement(BackgroundContainer, {
16808
- imgPath: backgroundImgPath[img],
16809
- fullImg: fullCoverBackground
16810
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
16811
- textAndTypeArray: textAndTypeArray,
16812
- onClose: onClose
16813
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
16814
- questions: questions,
16815
- answers: answers,
16816
- onClose: onClose
16817
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
16818
- text: text,
16819
- imagePath: imagePath,
16820
- onClose: onClose,
16821
- type: exports.NPCDialogType.TextAndThumbnail
16822
- }) : React__default.createElement(NPCDialog, {
16823
- text: text,
16824
- onClose: onClose,
16825
- type: exports.NPCDialogType.TextOnly
16826
- })));
16827
- };
16828
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
16829
- displayName: "HistoryDialog__BackgroundContainer",
16830
- componentId: "sc-u6oe75-0"
16831
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
16832
- return props.imgPath;
16833
- }, function (props) {
16834
- return props.imgPath ? 'cover' : 'auto';
16835
- });
16836
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
16837
- displayName: "HistoryDialog__DialogContainer",
16838
- componentId: "sc-u6oe75-1"
16839
- })(["display:flex;justify-content:center;padding-top:200px;"]);
16840
-
16841
17111
  exports.Button = Button;
16842
17112
  exports.CharacterSelection = CharacterSelection;
16843
17113
  exports.Chat = Chat;