@rpg-engine/long-bow 0.4.7 → 0.4.9

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 (177) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/ConfirmModal.d.ts +8 -0
  4. package/dist/components/DraggableContainer.d.ts +1 -0
  5. package/dist/components/Item/Inventory/ItemSlot.d.ts +7 -7
  6. package/dist/components/Marketplace/BuyPanel.d.ts +23 -0
  7. package/dist/components/Marketplace/ManagmentPanel.d.ts +19 -0
  8. package/dist/components/Marketplace/Marketplace.d.ts +22 -9
  9. package/dist/components/Marketplace/MarketplaceRows.d.ts +3 -1
  10. package/dist/components/Marketplace/{__mocks__ → filters}/index.d.ts +1 -3
  11. package/dist/components/Pager.d.ts +9 -0
  12. package/dist/long-bow.cjs.development.js +1573 -1163
  13. package/dist/long-bow.cjs.development.js.map +1 -1
  14. package/dist/long-bow.cjs.production.min.js +1 -1
  15. package/dist/long-bow.cjs.production.min.js.map +1 -1
  16. package/dist/long-bow.esm.js +1629 -1219
  17. package/dist/long-bow.esm.js.map +1 -1
  18. package/package.json +100 -100
  19. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  20. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  21. package/src/components/Arrow/SelectArrow.tsx +69 -69
  22. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  23. package/src/components/Arrow/img/arrow01-left.png +0 -0
  24. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  25. package/src/components/Arrow/img/arrow01-right.png +0 -0
  26. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  27. package/src/components/Arrow/img/arrow02-left.png +0 -0
  28. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  29. package/src/components/Arrow/img/arrow02-right.png +0 -0
  30. package/src/components/Button.tsx +40 -40
  31. package/src/components/Character/CharacterSelection.tsx +98 -98
  32. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  33. package/src/components/Chat/Chat.tsx +196 -196
  34. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  35. package/src/components/CheckButton.tsx +65 -65
  36. package/src/components/CircularController/CircularController.tsx +282 -282
  37. package/src/components/ConfirmModal.tsx +87 -0
  38. package/src/components/CraftBook/CraftBook.tsx +286 -286
  39. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  40. package/src/components/CraftBook/MockItems.ts +101 -101
  41. package/src/components/DraggableContainer.tsx +183 -180
  42. package/src/components/Dropdown.tsx +114 -106
  43. package/src/components/DropdownSelectorContainer.tsx +42 -42
  44. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  45. package/src/components/HistoryDialog.tsx +104 -104
  46. package/src/components/Input.tsx +15 -15
  47. package/src/components/InputRadio.tsx +41 -41
  48. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  49. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  50. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  51. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  52. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  53. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  54. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  55. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  56. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  57. package/src/components/Item/Inventory/ItemSlot.tsx +595 -580
  58. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  59. package/src/components/ListMenu.tsx +63 -63
  60. package/src/components/Marketplace/BuyPanel.tsx +304 -0
  61. package/src/components/Marketplace/ManagmentPanel.tsx +255 -0
  62. package/src/components/Marketplace/Marketplace.tsx +106 -132
  63. package/src/components/Marketplace/MarketplaceRows.tsx +177 -171
  64. package/src/components/Marketplace/{__mocks__ → filters}/index.tsx +67 -65
  65. package/src/components/Multitab/Tab.tsx +66 -66
  66. package/src/components/Multitab/TabBody.tsx +13 -13
  67. package/src/components/Multitab/TabsContainer.tsx +97 -97
  68. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  69. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  70. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  71. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  72. package/src/components/Pager.tsx +94 -0
  73. package/src/components/ProgressBar.tsx +95 -95
  74. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  75. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  76. package/src/components/QuestList.tsx +135 -135
  77. package/src/components/RPGUIContainer.tsx +47 -47
  78. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  79. package/src/components/RPGUIRoot.tsx +14 -14
  80. package/src/components/RadioButton.tsx +53 -53
  81. package/src/components/RadioInput/RadioButton.tsx +96 -96
  82. package/src/components/RadioInput/RadioInput.tsx +102 -102
  83. package/src/components/RadioInput/instruments.ts +15 -15
  84. package/src/components/RangeSlider.tsx +78 -78
  85. package/src/components/RelativeListMenu.tsx +90 -90
  86. package/src/components/ScrollList.tsx +79 -79
  87. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  88. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  89. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  90. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  91. package/src/components/SimpleProgressBar.tsx +62 -62
  92. package/src/components/SkillProgressBar.tsx +198 -198
  93. package/src/components/SkillsContainer.tsx +213 -213
  94. package/src/components/Spellbook/Spell.tsx +235 -236
  95. package/src/components/Spellbook/Spellbook.tsx +145 -161
  96. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  97. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  98. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  99. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  100. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  101. package/src/components/Spellbook/constants.ts +7 -7
  102. package/src/components/Spellbook/mockSpells.ts +84 -84
  103. package/src/components/StaticBook/StaticBook.tsx +103 -103
  104. package/src/components/TextArea.tsx +11 -11
  105. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  106. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  107. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  108. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  109. package/src/components/TradingMenu/items.mock.ts +48 -48
  110. package/src/components/Truncate.tsx +25 -25
  111. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  112. package/src/components/shared/Column.tsx +16 -16
  113. package/src/components/shared/Ellipsis.tsx +76 -68
  114. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  115. package/src/components/typography/DynamicText.tsx +49 -49
  116. package/src/constants/uiColors.ts +20 -20
  117. package/src/constants/uiDevices.ts +3 -3
  118. package/src/constants/uiFonts.ts +12 -12
  119. package/src/hooks/useEventListener.ts +21 -21
  120. package/src/hooks/useOutsideAlerter.ts +25 -25
  121. package/src/index.tsx +42 -42
  122. package/src/libs/CastingTypeHelper.ts +7 -7
  123. package/src/libs/StringHelpers.ts +3 -3
  124. package/src/libs/itemCounter.ts +21 -21
  125. package/src/mocks/atlas/entities/entities.json +20215 -20215
  126. package/src/mocks/atlas/icons/icons.json +735 -735
  127. package/src/mocks/atlas/items/items.json +12086 -12086
  128. package/src/mocks/equipmentSet.mocks.ts +391 -391
  129. package/src/mocks/itemContainer.mocks.ts +605 -605
  130. package/src/mocks/skills.mocks.ts +130 -130
  131. package/src/stories/Arrow.stories.tsx +26 -26
  132. package/src/stories/Button.stories.tsx +36 -36
  133. package/src/stories/CharacterSelection.stories.tsx +44 -44
  134. package/src/stories/CharacterStatus.stories.tsx +29 -29
  135. package/src/stories/Chat.stories.tsx +187 -187
  136. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  137. package/src/stories/CheckButton.stories.tsx +48 -48
  138. package/src/stories/CircullarController.stories.tsx +37 -37
  139. package/src/stories/CraftBook.stories.tsx +42 -42
  140. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  141. package/src/stories/DraggableContainer.stories.tsx +28 -28
  142. package/src/stories/Dropdown.stories.tsx +46 -46
  143. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  144. package/src/stories/EquipmentSet.stories.tsx +65 -65
  145. package/src/stories/HistoryDialog.stories.tsx +61 -61
  146. package/src/stories/ItemContainer.stories.tsx +201 -201
  147. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  148. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  149. package/src/stories/ItemSelector.stories.tsx +77 -77
  150. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  151. package/src/stories/ListMenu.stories.tsx +56 -56
  152. package/src/stories/Marketplace.stories.tsx +57 -42
  153. package/src/stories/MarketplaceRows.stories.tsx +27 -28
  154. package/src/stories/Multitab.stories.tsx +51 -51
  155. package/src/stories/NPCDialog.stories.tsx +130 -130
  156. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  157. package/src/stories/ProgressBar.stories.tsx +23 -23
  158. package/src/stories/PropertySelect.stories.tsx +40 -40
  159. package/src/stories/QuestInfo.stories.tsx +107 -107
  160. package/src/stories/QuestList.stories.tsx +82 -82
  161. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  162. package/src/stories/RadioButton.stories.tsx +49 -49
  163. package/src/stories/RadioInput.stories.tsx +34 -34
  164. package/src/stories/RangeSlider.stories.tsx +64 -64
  165. package/src/stories/ScrollList.stories.tsx +85 -85
  166. package/src/stories/Shortcuts.stories.tsx +39 -39
  167. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  168. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  169. package/src/stories/SkillsContainer.stories.tsx +35 -35
  170. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  171. package/src/stories/Spellbook.stories.tsx +104 -104
  172. package/src/stories/StaticBook.stories.tsx +32 -32
  173. package/src/stories/Text.stories.tsx +42 -42
  174. package/src/stories/TimeWidget.stories.tsx +27 -27
  175. package/src/stories/TradingMenu.stories.tsx +47 -47
  176. package/src/types/eventTypes.ts +4 -4
  177. package/src/types/index.d.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  import React, { Component, useState, useEffect, useRef, useMemo, Fragment } from 'react';
2
2
  import styled from 'styled-components';
3
- import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
3
+ import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, getSPForLevel, PeriodOfDay, isMobileOrTablet } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
5
5
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
6
6
  import { RxPaperPlane } from 'react-icons/rx';
@@ -9,6 +9,7 @@ import ReactDOM from 'react-dom';
9
9
  import { camelCase } from 'lodash-es';
10
10
  import { observer } from 'mobx-react-lite';
11
11
  import { v4 } from 'uuid';
12
+ import { AiFillCaretRight } from 'react-icons/ai';
12
13
  import 'rpgui/rpgui.min.css';
13
14
  import 'rpgui/rpgui.min.js';
14
15
  import capitalize from 'lodash-es/capitalize';
@@ -12345,14 +12346,14 @@ var Ellipsis = function Ellipsis(_ref) {
12345
12346
  maxWidth: maxWidth,
12346
12347
  fontSize: fontSize,
12347
12348
  center: center
12348
- }, React.createElement("div", {
12349
+ }, React.createElement("span", {
12349
12350
  className: "ellipsis-" + maxLines + "-lines"
12350
12351
  }, children));
12351
12352
  };
12352
- var Container$1 = /*#__PURE__*/styled.div.withConfig({
12353
+ var Container$1 = /*#__PURE__*/styled.span.withConfig({
12353
12354
  displayName: "Ellipsis__Container",
12354
12355
  componentId: "sc-ysrlju-0"
12355
- })([".ellipsis-1-lines{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:", ";font-size:", ";", "}.ellipsis-2-lines{display:-webkit-box;max-width:", "px;height:25px;margin:0 auto;line-height:1;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden;font-size:", ";}.ellipsis-3-lines{display:-webkit-box;max-width:", "px;height:43px;margin:0 auto;line-height:1;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden;font-size:", ";}"], function (props) {
12356
+ })(["display:block;margin:0;.ellipsis-1-lines{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:", ";font-size:", ";", "}.ellipsis-2-lines{display:block;display:-webkit-box;max-width:", "px;height:25px;margin:0 auto;line-height:1;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden;font-size:", ";}.ellipsis-3-lines{display:block;display:-webkit-box;max-width:", "px;height:43px;margin:0 auto;line-height:1;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden;font-size:", ";}"], function (props) {
12356
12357
  return props.maxWidth;
12357
12358
  }, function (props) {
12358
12359
  return props.fontSize;
@@ -13051,7 +13052,9 @@ var DraggableContainer = function DraggableContainer(_ref) {
13051
13052
  x: 0,
13052
13053
  y: 0
13053
13054
  } : _ref$initialPosition,
13054
- scale = _ref.scale;
13055
+ scale = _ref.scale,
13056
+ _ref$dragDisabled = _ref.dragDisabled,
13057
+ dragDisabled = _ref$dragDisabled === void 0 ? false : _ref$dragDisabled;
13055
13058
  var draggableRef = useRef(null);
13056
13059
  useOutsideClick(draggableRef, 'item-container');
13057
13060
  useEffect(function () {
@@ -13069,6 +13072,7 @@ var DraggableContainer = function DraggableContainer(_ref) {
13069
13072
  }, []);
13070
13073
  return React.createElement(Draggable, {
13071
13074
  cancel: ".container-close," + cancelDrag,
13075
+ disabled: dragDisabled,
13072
13076
  onDrag: function onDrag(_e, data) {
13073
13077
  if (onPositionChange) {
13074
13078
  onPositionChange({
@@ -13493,7 +13497,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13493
13497
  y: 0
13494
13498
  });
13495
13499
  setIsFocused(false);
13496
- if (item) {
13500
+ if (item && containerType) {
13497
13501
  setContextActions(generateContextMenu(item, containerType, isDepotSystem));
13498
13502
  }
13499
13503
  }, [item, isDepotSystem]);
@@ -13609,7 +13613,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13609
13613
  });
13610
13614
  setIsFocused(false);
13611
13615
  } else if (item) {
13612
- onDragEnd(quantity);
13616
+ onDragEnd == null ? void 0 : onDragEnd(quantity);
13613
13617
  }
13614
13618
  };
13615
13619
  return React.createElement(Container$a, {
@@ -13617,7 +13621,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13617
13621
  className: "rpgui-icon empty-slot",
13618
13622
  onMouseUp: function onMouseUp() {
13619
13623
  var data = item ? item : null;
13620
- if (onPlaceDrop) onPlaceDrop(data, slotIndex, containerType);
13624
+ if (onPlaceDrop && containerType) onPlaceDrop(data, slotIndex, containerType);
13621
13625
  },
13622
13626
  onTouchEnd: function onTouchEnd(e) {
13623
13627
  var _document$elementFrom;
@@ -13631,11 +13635,15 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13631
13635
  });
13632
13636
  (_document$elementFrom = document.elementFromPoint(clientX, clientY)) == null ? void 0 : _document$elementFrom.dispatchEvent(simulatedEvent);
13633
13637
  },
13638
+ onPointerDown: onDragStart !== undefined && onDragEnd !== undefined ? undefined : function () {
13639
+ if (item) onPointerDown(item.type, containerType != null ? containerType : null, item);
13640
+ },
13634
13641
  isSelectingShortcut: isSelectingShortcut && ((item == null ? void 0 : item.type) === ItemType.Consumable || (item == null ? void 0 : item.type) === ItemType.Tool)
13635
13642
  }, React.createElement(Draggable, {
13636
13643
  axis: isSelectingShortcut ? 'none' : 'both',
13637
13644
  defaultClassName: item ? 'draggable' : 'empty-slot',
13638
13645
  scale: dragScale,
13646
+ disabled: onDragStart === undefined || onDragEnd === undefined,
13639
13647
  onStop: function onStop(e, data) {
13640
13648
  var target = e.target;
13641
13649
  if (target != null && target.id.includes('shortcutSetter') && setItemShortcut && item) {
@@ -13669,7 +13677,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13669
13677
  y: y
13670
13678
  });
13671
13679
  setTimeout(function () {
13672
- if (checkIfItemCanBeMoved()) {
13680
+ if (checkIfItemCanBeMoved != null && checkIfItemCanBeMoved()) {
13673
13681
  if (checkIfItemShouldDragEnd && !checkIfItemShouldDragEnd()) return;
13674
13682
  if (item.stackQty && item.stackQty !== 1 && openQuantitySelector) openQuantitySelector(item.stackQty, onSuccesfulDrag);else onSuccesfulDrag(item.stackQty);
13675
13683
  } else {
@@ -13697,14 +13705,14 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13697
13705
  });
13698
13706
  }
13699
13707
  }
13700
- onPointerDown(item.type, containerType, item);
13708
+ onPointerDown(item.type, containerType != null ? containerType : null, item);
13701
13709
  }
13702
13710
  },
13703
13711
  onStart: function onStart() {
13704
13712
  if (!item || isSelectingShortcut) {
13705
13713
  return;
13706
13714
  }
13707
- if (onDragStart) {
13715
+ if (onDragStart && containerType) {
13708
13716
  onDragStart(item, slotIndex, containerType);
13709
13717
  }
13710
13718
  },
@@ -13720,7 +13728,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13720
13728
  ref: dragContainer,
13721
13729
  isFocused: isFocused,
13722
13730
  onMouseOver: function onMouseOver(event) {
13723
- _onMouseOver(event, slotIndex, item, event.clientX, event.clientY);
13731
+ _onMouseOver == null ? void 0 : _onMouseOver(event, slotIndex, item, event.clientX, event.clientY);
13724
13732
  },
13725
13733
  onMouseOut: function onMouseOut() {
13726
13734
  if (_onMouseOut) _onMouseOut();
@@ -13749,7 +13757,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13749
13757
  onSelected: function onSelected(optionId) {
13750
13758
  setIsContextMenuVisible(false);
13751
13759
  if (item) {
13752
- _onSelected(optionId, item);
13760
+ _onSelected == null ? void 0 : _onSelected(optionId, item);
13753
13761
  }
13754
13762
  }
13755
13763
  }), !isContextMenuDisabled && isContextMenuVisible && contextActions && React.createElement(RelativeListMenu, {
@@ -13757,7 +13765,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
13757
13765
  onSelected: function onSelected(optionId) {
13758
13766
  setIsContextMenuVisible(false);
13759
13767
  if (item) {
13760
- _onSelected(optionId, item);
13768
+ _onSelected == null ? void 0 : _onSelected(optionId, item);
13761
13769
  }
13762
13770
  },
13763
13771
  onOutsideClick: function onOutsideClick() {
@@ -14430,7 +14438,7 @@ var Dropdown = function Dropdown(_ref) {
14430
14438
  }, React.createElement(DropdownSelect, {
14431
14439
  id: "dropdown-" + dropdownId,
14432
14440
  className: "rpgui-dropdown-imp rpgui-dropdown-imp-header",
14433
- onPointerDown: function onPointerDown() {
14441
+ onPointerUp: function onPointerUp() {
14434
14442
  return setOpened(function (prev) {
14435
14443
  return !prev;
14436
14444
  });
@@ -14441,7 +14449,7 @@ var Dropdown = function Dropdown(_ref) {
14441
14449
  }, options.map(function (option) {
14442
14450
  return React.createElement("li", {
14443
14451
  key: option.id,
14444
- onPointerDown: function onPointerDown() {
14452
+ onPointerUp: function onPointerUp() {
14445
14453
  setSelectedValue(option.value);
14446
14454
  setSelectedOption(option.option);
14447
14455
  setOpened(false);
@@ -14458,11 +14466,11 @@ var Container$d = /*#__PURE__*/styled.div.withConfig({
14458
14466
  var DropdownSelect = /*#__PURE__*/styled.p.withConfig({
14459
14467
  displayName: "Dropdown__DropdownSelect",
14460
14468
  componentId: "sc-8arn65-1"
14461
- })(["width:100%;box-sizing:border-box;"]);
14469
+ })(["width:100%;box-sizing:border-box;label{display:inline-block;transform:translateY(-2px);}"]);
14462
14470
  var DropdownOptions = /*#__PURE__*/styled.ul.withConfig({
14463
14471
  displayName: "Dropdown__DropdownOptions",
14464
14472
  componentId: "sc-8arn65-2"
14465
- })(["position:absolute;width:100%;display:", ";box-sizing:border-box;@media (max-width:768px){padding:8px 0;}"], function (props) {
14473
+ })(["position:absolute;width:100%;max-height:300px;overflow-y:auto;display:", ";box-sizing:border-box;@media (max-width:768px){padding:8px 0;}"], function (props) {
14466
14474
  return props.opened ? 'block' : 'none';
14467
14475
  });
14468
14476
 
@@ -14588,1240 +14596,1440 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14588
14596
  componentId: "sc-1wuddg2-1"
14589
14597
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14590
14598
 
14591
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
14592
-
14593
- var chunkString = function chunkString(str, length) {
14594
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
14595
- };
14596
-
14597
- var DynamicText = function DynamicText(_ref) {
14598
- var text = _ref.text,
14599
- onFinish = _ref.onFinish,
14600
- onStart = _ref.onStart;
14601
- var _useState = useState(''),
14602
- textState = _useState[0],
14603
- setTextState = _useState[1];
14604
- useEffect(function () {
14605
- var i = 0;
14606
- var interval = setInterval(function () {
14607
- // on every interval, show one more character
14608
- if (i === 0) {
14609
- if (onStart) {
14610
- onStart();
14611
- }
14599
+ var SlotsContainer = function SlotsContainer(_ref) {
14600
+ var children = _ref.children,
14601
+ title = _ref.title,
14602
+ onClose = _ref.onClose,
14603
+ _onPositionChange = _ref.onPositionChange,
14604
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
14605
+ _onPositionChangeStart = _ref.onPositionChangeStart,
14606
+ onOutsideClick = _ref.onOutsideClick,
14607
+ initialPosition = _ref.initialPosition,
14608
+ scale = _ref.scale;
14609
+ return React.createElement(DraggableContainer, {
14610
+ title: title,
14611
+ type: RPGUIContainerTypes.Framed,
14612
+ onCloseButton: function onCloseButton() {
14613
+ if (onClose) {
14614
+ onClose();
14612
14615
  }
14613
- if (i < text.length) {
14614
- setTextState(text.substring(0, i + 1));
14615
- i++;
14616
- } else {
14617
- clearInterval(interval);
14618
- if (onFinish) {
14619
- onFinish();
14620
- }
14616
+ },
14617
+ width: "400px",
14618
+ cancelDrag: ".item-container-body, #shortcuts_list",
14619
+ onPositionChange: function onPositionChange(_ref2) {
14620
+ var x = _ref2.x,
14621
+ y = _ref2.y;
14622
+ if (_onPositionChange) {
14623
+ _onPositionChange({
14624
+ x: x,
14625
+ y: y
14626
+ });
14621
14627
  }
14622
- }, 50);
14623
- return function () {
14624
- clearInterval(interval);
14625
- };
14626
- }, [text]);
14627
- return React.createElement(TextContainer, null, textState);
14628
+ },
14629
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14630
+ var x = _ref3.x,
14631
+ y = _ref3.y;
14632
+ if (_onPositionChangeEnd) {
14633
+ _onPositionChangeEnd({
14634
+ x: x,
14635
+ y: y
14636
+ });
14637
+ }
14638
+ },
14639
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
14640
+ var x = _ref4.x,
14641
+ y = _ref4.y;
14642
+ if (_onPositionChangeStart) {
14643
+ _onPositionChangeStart({
14644
+ x: x,
14645
+ y: y
14646
+ });
14647
+ }
14648
+ },
14649
+ onOutsideClick: onOutsideClick,
14650
+ initialPosition: initialPosition,
14651
+ scale: scale
14652
+ }, children);
14628
14653
  };
14629
- var TextContainer = /*#__PURE__*/styled.p.withConfig({
14630
- displayName: "DynamicText__TextContainer",
14631
- componentId: "sc-1ggl9nd-0"
14632
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14633
14654
 
14634
- var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14635
-
14636
- var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
14637
-
14638
- var NPCDialogText = function NPCDialogText(_ref) {
14639
- var text = _ref.text,
14640
- onClose = _ref.onClose,
14641
- onEndStep = _ref.onEndStep,
14642
- onStartStep = _ref.onStartStep,
14643
- type = _ref.type;
14644
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
14645
- function maxCharacters(width) {
14646
- // Set the font size to 16 pixels
14647
- var fontSize = 11.2;
14648
- // Calculate the number of characters that can fit in one line
14649
- var charactersPerLine = Math.floor(width / 2 / fontSize);
14650
- // Calculate the number of lines that can fit in the div
14651
- var linesPerDiv = Math.floor(180 / fontSize);
14652
- // Calculate the maximum number of characters that can fit in the div
14653
- var maxCharacters = charactersPerLine * linesPerDiv;
14654
- // Return the maximum number of characters
14655
- return Math.round(maxCharacters / 5);
14656
- }
14657
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14655
+ var RangeSliderType;
14656
+ (function (RangeSliderType) {
14657
+ RangeSliderType["Slider"] = "rpgui-slider";
14658
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14659
+ })(RangeSliderType || (RangeSliderType = {}));
14660
+ var RangeSlider = function RangeSlider(_ref) {
14661
+ var type = _ref.type,
14662
+ valueMin = _ref.valueMin,
14663
+ valueMax = _ref.valueMax,
14664
+ width = _ref.width,
14665
+ _onChange = _ref.onChange,
14666
+ value = _ref.value;
14667
+ var sliderId = v4();
14668
+ var containerRef = useRef(null);
14658
14669
  var _useState = useState(0),
14659
- chunkIndex = _useState[0],
14660
- setChunkIndex = _useState[1];
14661
- var onHandleSpacePress = function onHandleSpacePress(event) {
14662
- if (event.code === 'Space') {
14663
- goToNextStep();
14664
- }
14665
- };
14666
- var goToNextStep = function goToNextStep() {
14667
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14668
- if (hasNextChunk) {
14669
- setChunkIndex(function (prev) {
14670
- return prev + 1;
14671
- });
14672
- } else {
14673
- // if there's no more text chunks, close the dialog
14674
- onClose();
14675
- }
14676
- };
14670
+ left = _useState[0],
14671
+ setLeft = _useState[1];
14677
14672
  useEffect(function () {
14678
- document.addEventListener('keydown', onHandleSpacePress);
14679
- return function () {
14680
- return document.removeEventListener('keydown', onHandleSpacePress);
14681
- };
14682
- }, [chunkIndex]);
14683
- var _useState2 = useState(false),
14684
- showGoNextIndicator = _useState2[0],
14685
- setShowGoNextIndicator = _useState2[1];
14686
- return React.createElement(Container$e, null, React.createElement(DynamicText, {
14687
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14688
- onFinish: function onFinish() {
14689
- setShowGoNextIndicator(true);
14690
- onEndStep && onEndStep();
14673
+ var _containerRef$current;
14674
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14675
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14676
+ }, [value, valueMin, valueMax]);
14677
+ var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
14678
+ return React.createElement("div", {
14679
+ style: {
14680
+ width: width,
14681
+ position: 'relative'
14691
14682
  },
14692
- onStart: function onStart() {
14693
- setShowGoNextIndicator(false);
14694
- onStartStep && onStartStep();
14683
+ className: "rpgui-slider-container " + typeClass,
14684
+ id: "rpgui-slider-" + sliderId,
14685
+ ref: containerRef
14686
+ }, React.createElement("div", {
14687
+ style: {
14688
+ pointerEvents: 'none'
14695
14689
  }
14696
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
14697
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14698
- src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14699
- onPointerDown: function onPointerDown() {
14700
- goToNextStep();
14690
+ }, React.createElement("div", {
14691
+ className: "rpgui-slider-track " + typeClass
14692
+ }), React.createElement("div", {
14693
+ className: "rpgui-slider-left-edge " + typeClass
14694
+ }), React.createElement("div", {
14695
+ className: "rpgui-slider-right-edge " + typeClass
14696
+ }), React.createElement("div", {
14697
+ className: "rpgui-slider-thumb " + typeClass,
14698
+ style: {
14699
+ left: left
14701
14700
  }
14701
+ })), React.createElement(Input$1, {
14702
+ type: "range",
14703
+ style: {
14704
+ width: width
14705
+ },
14706
+ min: valueMin,
14707
+ max: valueMax,
14708
+ onChange: function onChange(e) {
14709
+ return _onChange(Number(e.target.value));
14710
+ },
14711
+ value: value,
14712
+ className: "rpgui-cursor-point"
14702
14713
  }));
14703
14714
  };
14704
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14705
- displayName: "NPCDialogText__Container",
14706
- componentId: "sc-1cxkdh9-0"
14707
- })([""]);
14708
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14709
- displayName: "NPCDialogText__PressSpaceIndicator",
14710
- componentId: "sc-1cxkdh9-1"
14711
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14712
- var right = _ref2.right;
14713
- return right;
14714
- });
14715
-
14716
- //@ts-ignore
14717
- var useEventListener = function useEventListener(type, handler, el) {
14718
- if (el === void 0) {
14719
- el = window;
14720
- }
14721
- var savedHandler = React.useRef();
14722
- React.useEffect(function () {
14723
- savedHandler.current = handler;
14724
- }, [handler]);
14725
- React.useEffect(function () {
14726
- //@ts-ignore
14727
- var listener = function listener(e) {
14728
- return savedHandler.current(e);
14729
- };
14730
- el.addEventListener(type, listener);
14731
- return function () {
14732
- el.removeEventListener(type, listener);
14733
- };
14734
- }, [type, el]);
14735
- };
14715
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
14716
+ displayName: "RangeSlider__Input",
14717
+ componentId: "sc-v8mte9-0"
14718
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14736
14719
 
14737
- var QuestionDialog = function QuestionDialog(_ref) {
14738
- var questions = _ref.questions,
14739
- answers = _ref.answers,
14720
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14721
+ var quantity = _ref.quantity,
14722
+ onConfirm = _ref.onConfirm,
14740
14723
  onClose = _ref.onClose;
14741
- var _useState = useState(questions[0]),
14742
- currentQuestion = _useState[0],
14743
- setCurrentQuestion = _useState[1];
14744
- var _useState2 = useState(false),
14745
- canShowAnswers = _useState2[0],
14746
- setCanShowAnswers = _useState2[1];
14747
- var onGetFirstAnswer = function onGetFirstAnswer() {
14748
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14749
- return null;
14750
- }
14751
- var firstAnswerId = currentQuestion.answerIds[0];
14752
- return answers.find(function (answer) {
14753
- return answer.id === firstAnswerId;
14754
- });
14755
- };
14756
- var _useState3 = useState(onGetFirstAnswer()),
14757
- currentAnswer = _useState3[0],
14758
- setCurrentAnswer = _useState3[1];
14724
+ var _useState = useState(quantity),
14725
+ value = _useState[0],
14726
+ setValue = _useState[1];
14727
+ var inputRef = useRef(null);
14759
14728
  useEffect(function () {
14760
- setCurrentAnswer(onGetFirstAnswer());
14761
- }, [currentQuestion]);
14762
- var onGetAnswers = function onGetAnswers(answerIds) {
14763
- return answerIds.map(function (answerId) {
14764
- return answers.find(function (answer) {
14765
- return answer.id === answerId;
14766
- });
14767
- });
14768
- };
14769
- var onKeyPress = function onKeyPress(e) {
14770
- switch (e.key) {
14771
- case 'ArrowDown':
14772
- // select next answer, if any.
14773
- // if no next answer, select first answer
14774
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14775
- // (answer) => answer?.id === currentAnswer!.id + 1
14776
- // );
14777
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14778
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14779
- });
14780
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14781
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14782
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
14783
- });
14784
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14785
- break;
14786
- case 'ArrowUp':
14787
- // select previous answer, if any.
14788
- // if no previous answer, select last answer
14789
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14790
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14791
- });
14792
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14793
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14794
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
14795
- });
14796
- if (previousAnswer) {
14797
- setCurrentAnswer(previousAnswer);
14798
- } else {
14799
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14800
- }
14801
- break;
14802
- case 'Enter':
14803
- setCanShowAnswers(false);
14804
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14729
+ if (inputRef.current) {
14730
+ inputRef.current.focus();
14731
+ inputRef.current.select();
14732
+ var closeSelector = function closeSelector(e) {
14733
+ if (e.key === 'Escape') {
14805
14734
  onClose();
14806
- return;
14807
- } else {
14808
- setCurrentQuestion(questions.find(function (question) {
14809
- return question.id === currentAnswer.nextQuestionId;
14810
- }));
14811
14735
  }
14812
- break;
14813
- }
14814
- };
14815
- useEventListener('keydown', onKeyPress);
14816
- var onAnswerClick = function onAnswerClick(answer) {
14817
- setCanShowAnswers(false);
14818
- if (answer.nextQuestionId) {
14819
- // if there is a next question, go to it
14820
- setCurrentQuestion(questions.find(function (question) {
14821
- return question.id === answer.nextQuestionId;
14822
- }));
14823
- } else {
14824
- // else, finish dialog!
14825
- onClose();
14826
- }
14827
- };
14828
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14829
- var answerIds = currentQuestion.answerIds;
14830
- if (!answerIds) {
14831
- return null;
14832
- }
14833
- var answers = onGetAnswers(answerIds);
14834
- if (!answers) {
14835
- return null;
14736
+ };
14737
+ document.addEventListener('keydown', closeSelector);
14738
+ return function () {
14739
+ document.removeEventListener('keydown', closeSelector);
14740
+ };
14836
14741
  }
14837
- return answers.map(function (answer) {
14838
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14839
- var selectedColor = isSelected ? 'yellow' : 'white';
14840
- if (answer) {
14841
- return React.createElement(AnswerRow, {
14842
- key: "answer_" + answer.id
14843
- }, React.createElement(AnswerSelectedIcon, {
14844
- color: selectedColor
14845
- }, isSelected ? 'X' : null), React.createElement(Answer, {
14846
- key: answer.id,
14847
- onPointerDown: function onPointerDown() {
14848
- return onAnswerClick(answer);
14849
- },
14850
- color: selectedColor
14851
- }, answer.text));
14852
- }
14853
- return null;
14854
- });
14855
- };
14856
- return React.createElement(Container$f, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
14857
- text: currentQuestion.text,
14858
- onStart: function onStart() {
14859
- return setCanShowAnswers(false);
14742
+ return function () {};
14743
+ }, []);
14744
+ return React.createElement(StyledContainer, {
14745
+ type: RPGUIContainerTypes.Framed,
14746
+ width: "25rem"
14747
+ }, React.createElement(CloseButton$2, {
14748
+ className: "container-close",
14749
+ onPointerDown: onClose
14750
+ }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
14751
+ style: {
14752
+ width: '100%'
14860
14753
  },
14861
- onFinish: function onFinish() {
14862
- return setCanShowAnswers(true);
14863
- }
14864
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14865
- };
14866
- var Container$f = /*#__PURE__*/styled.div.withConfig({
14867
- displayName: "QuestionDialog__Container",
14868
- componentId: "sc-bxc5u0-0"
14869
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14870
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14871
- displayName: "QuestionDialog__QuestionContainer",
14872
- componentId: "sc-bxc5u0-1"
14873
- })(["flex:100%;width:100%;"]);
14874
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14875
- displayName: "QuestionDialog__AnswersContainer",
14876
- componentId: "sc-bxc5u0-2"
14877
- })(["flex:100%;"]);
14878
- var Answer = /*#__PURE__*/styled.p.withConfig({
14879
- displayName: "QuestionDialog__Answer",
14880
- componentId: "sc-bxc5u0-3"
14881
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14882
- return props.color;
14883
- });
14884
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14885
- displayName: "QuestionDialog__AnswerSelectedIcon",
14886
- componentId: "sc-bxc5u0-4"
14887
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
14888
- return props.color;
14889
- });
14890
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14891
- displayName: "QuestionDialog__AnswerRow",
14892
- componentId: "sc-bxc5u0-5"
14893
- })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
14894
-
14895
- var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14896
-
14897
- var NPCDialogType;
14898
- (function (NPCDialogType) {
14899
- NPCDialogType["TextOnly"] = "TextOnly";
14900
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14901
- })(NPCDialogType || (NPCDialogType = {}));
14902
- var NPCDialog = function NPCDialog(_ref) {
14903
- var text = _ref.text,
14904
- type = _ref.type,
14905
- _onClose = _ref.onClose,
14906
- imagePath = _ref.imagePath,
14907
- _ref$isQuestionDialog = _ref.isQuestionDialog,
14908
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14909
- questions = _ref.questions,
14910
- answers = _ref.answers;
14911
- return React.createElement(RPGUIContainer, {
14912
- type: RPGUIContainerTypes.FramedGold,
14913
- width: isQuestionDialog ? '600px' : '80%',
14914
- height: '180px'
14915
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
14916
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14917
- }, React.createElement(QuestionDialog, {
14918
- questions: questions,
14919
- answers: answers,
14920
- onClose: function onClose() {
14921
- if (_onClose) {
14922
- _onClose();
14754
+ onSubmit: function onSubmit(e) {
14755
+ e.preventDefault();
14756
+ var numberValue = Number(value);
14757
+ if (Number.isNaN(numberValue)) {
14758
+ return;
14923
14759
  }
14924
- }
14925
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14926
- src: imagePath || img$7
14927
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$g, null, React.createElement(TextContainer$1, {
14928
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14929
- }, React.createElement(NPCDialogText, {
14930
- type: type,
14931
- text: text || 'No text provided.',
14932
- onClose: function onClose() {
14933
- if (_onClose) {
14934
- _onClose();
14760
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14761
+ },
14762
+ noValidate: true
14763
+ }, React.createElement(StyledInput, {
14764
+ innerRef: inputRef,
14765
+ placeholder: "Enter quantity",
14766
+ type: "number",
14767
+ min: 1,
14768
+ max: quantity,
14769
+ value: value,
14770
+ onChange: function onChange(e) {
14771
+ if (Number(e.target.value) >= quantity) {
14772
+ setValue(quantity);
14773
+ return;
14935
14774
  }
14775
+ setValue(e.target.value);
14776
+ },
14777
+ onBlur: function onBlur(e) {
14778
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14779
+ setValue(newValue);
14936
14780
  }
14937
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14938
- src: imagePath || img$7
14939
- })))));
14781
+ }), React.createElement(RangeSlider, {
14782
+ type: RangeSliderType.Slider,
14783
+ valueMin: 1,
14784
+ valueMax: quantity,
14785
+ width: "100%",
14786
+ onChange: setValue,
14787
+ value: value
14788
+ }), React.createElement(Button, {
14789
+ buttonType: ButtonTypes.RPGUIButton,
14790
+ type: "submit"
14791
+ }, "Confirm")));
14940
14792
  };
14941
- var Container$g = /*#__PURE__*/styled.div.withConfig({
14942
- displayName: "NPCDialog__Container",
14943
- componentId: "sc-1b4aw74-0"
14944
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14945
- var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14946
- displayName: "NPCDialog__TextContainer",
14947
- componentId: "sc-1b4aw74-1"
14948
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14949
- var flex = _ref2.flex;
14950
- return flex;
14951
- });
14952
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14953
- displayName: "NPCDialog__ThumbnailContainer",
14954
- componentId: "sc-1b4aw74-2"
14955
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14956
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14957
- displayName: "NPCDialog__NPCThumbnail",
14958
- componentId: "sc-1b4aw74-3"
14959
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
14960
-
14961
- var ImgSide;
14962
- (function (ImgSide) {
14963
- ImgSide["right"] = "right";
14964
- ImgSide["left"] = "left";
14965
- })(ImgSide || (ImgSide = {}));
14966
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
14967
- var _textAndTypeArray$sli;
14968
- var _onClose = _ref.onClose,
14969
- textAndTypeArray = _ref.textAndTypeArray;
14970
- var _useState = useState(false),
14971
- showGoNextIndicator = _useState[0],
14972
- setShowGoNextIndicator = _useState[1];
14973
- var _useState2 = useState(0),
14974
- slide = _useState2[0],
14975
- setSlide = _useState2[1];
14976
- var onHandleSpacePress = function onHandleSpacePress(event) {
14977
- if (event.code === 'Space') {
14978
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14979
- setSlide(function (prev) {
14980
- return prev + 1;
14981
- });
14982
- } else {
14983
- // if there's no more text chunks, close the dialog
14984
- _onClose();
14985
- }
14986
- }
14987
- };
14988
- useEffect(function () {
14989
- document.addEventListener('keydown', onHandleSpacePress);
14990
- return function () {
14991
- return document.removeEventListener('keydown', onHandleSpacePress);
14992
- };
14993
- }, [slide]);
14994
- return React.createElement(RPGUIContainer, {
14995
- type: RPGUIContainerTypes.FramedGold,
14996
- width: '50%',
14997
- height: '180px'
14998
- }, React.createElement(React.Fragment, null, React.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
14999
- flex: '70%'
15000
- }, React.createElement(NPCDialogText, {
15001
- onStartStep: function onStartStep() {
15002
- return setShowGoNextIndicator(false);
15003
- },
15004
- onEndStep: function onEndStep() {
15005
- return setShowGoNextIndicator(true);
15006
- },
15007
- text: textAndTypeArray[slide].text || 'No text provided.',
15008
- onClose: function onClose() {
15009
- if (_onClose) {
15010
- _onClose();
15011
- }
15012
- }
15013
- })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15014
- src: textAndTypeArray[slide].imagePath || img$7
15015
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15016
- right: '10.5rem',
15017
- src: img$6
15018
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15019
- src: textAndTypeArray[slide].imagePath || img$7
15020
- })), React.createElement(TextContainer$2, {
15021
- flex: '70%'
15022
- }, React.createElement(NPCDialogText, {
15023
- onStartStep: function onStartStep() {
15024
- return setShowGoNextIndicator(false);
15025
- },
15026
- onEndStep: function onEndStep() {
15027
- return setShowGoNextIndicator(true);
15028
- },
15029
- text: textAndTypeArray[slide].text || 'No text provided.',
15030
- onClose: function onClose() {
15031
- if (_onClose) {
15032
- _onClose();
15033
- }
15034
- }
15035
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15036
- right: '1rem',
15037
- src: img$6
15038
- }))), ")"));
15039
- };
15040
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15041
- displayName: "NPCMultiDialog__Container",
15042
- componentId: "sc-rvu5wg-0"
15043
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15044
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15045
- displayName: "NPCMultiDialog__TextContainer",
15046
- componentId: "sc-rvu5wg-1"
15047
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15048
- var flex = _ref2.flex;
15049
- return flex;
15050
- });
15051
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15052
- displayName: "NPCMultiDialog__ThumbnailContainer",
15053
- componentId: "sc-rvu5wg-2"
15054
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15055
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15056
- displayName: "NPCMultiDialog__NPCThumbnail",
15057
- componentId: "sc-rvu5wg-3"
15058
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15059
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15060
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15061
- componentId: "sc-rvu5wg-4"
15062
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15063
- var right = _ref3.right;
15064
- return right;
15065
- });
14793
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14794
+ displayName: "ItemQuantitySelector__StyledContainer",
14795
+ componentId: "sc-yfdtpn-0"
14796
+ })(["display:flex;flex-direction:column;align-items:center;"]);
14797
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
14798
+ displayName: "ItemQuantitySelector__StyledForm",
14799
+ componentId: "sc-yfdtpn-1"
14800
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14801
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14802
+ displayName: "ItemQuantitySelector__StyledInput",
14803
+ componentId: "sc-yfdtpn-2"
14804
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14805
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14806
+ displayName: "ItemQuantitySelector__CloseButton",
14807
+ componentId: "sc-yfdtpn-3"
14808
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15066
14809
 
15067
- var HistoryDialog = function HistoryDialog(_ref) {
15068
- var backgroundImgPath = _ref.backgroundImgPath,
15069
- fullCoverBackground = _ref.fullCoverBackground,
15070
- questions = _ref.questions,
15071
- answers = _ref.answers,
15072
- text = _ref.text,
15073
- imagePath = _ref.imagePath,
15074
- textAndTypeArray = _ref.textAndTypeArray,
15075
- onClose = _ref.onClose;
15076
- var _useState = useState(0),
15077
- img = _useState[0],
15078
- setImage = _useState[1];
15079
- var onHandleSpacePress = function onHandleSpacePress(event) {
15080
- if (event.code === 'Space') {
15081
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15082
- setImage(function (prev) {
15083
- return prev + 1;
15084
- });
15085
- } else {
15086
- // if there's no more text chunks, close the dialog
15087
- onClose();
15088
- }
14810
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
14811
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14812
+ settingShortcutIndex = _ref.settingShortcutIndex,
14813
+ shortcuts = _ref.shortcuts,
14814
+ removeShortcut = _ref.removeShortcut,
14815
+ atlasJSON = _ref.atlasJSON,
14816
+ atlasIMG = _ref.atlasIMG;
14817
+ var getContent = function getContent(index) {
14818
+ var _shortcuts$index, _shortcuts$index3;
14819
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
14820
+ var _shortcuts$index2;
14821
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14822
+ if (!_payload) return null;
14823
+ return React.createElement(SpriteFromAtlas, {
14824
+ atlasIMG: atlasIMG,
14825
+ atlasJSON: atlasJSON,
14826
+ spriteKey: getItemTextureKeyPath({
14827
+ key: _payload.texturePath,
14828
+ texturePath: _payload.texturePath,
14829
+ stackQty: _payload.stackQty || 1,
14830
+ isStackable: _payload.isStackable
14831
+ }, atlasJSON),
14832
+ width: 32,
14833
+ height: 32,
14834
+ imgScale: 1.6,
14835
+ imgStyle: {
14836
+ left: '5px'
14837
+ }
14838
+ });
15089
14839
  }
14840
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14841
+ return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14842
+ return word[0];
14843
+ }));
15090
14844
  };
15091
- useEffect(function () {
15092
- document.addEventListener('keydown', onHandleSpacePress);
15093
- return function () {
15094
- return document.removeEventListener('keydown', onHandleSpacePress);
15095
- };
15096
- }, [backgroundImgPath]);
15097
- return React.createElement(BackgroundContainer, {
15098
- imgPath: backgroundImgPath[img],
15099
- fullImg: fullCoverBackground
15100
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
15101
- textAndTypeArray: textAndTypeArray,
15102
- onClose: onClose
15103
- }) : questions && answers ? React.createElement(QuestionDialog, {
15104
- questions: questions,
15105
- answers: answers,
15106
- onClose: onClose
15107
- }) : text && imagePath ? React.createElement(NPCDialog, {
15108
- text: text,
15109
- imagePath: imagePath,
15110
- onClose: onClose,
15111
- type: NPCDialogType.TextAndThumbnail
15112
- }) : React.createElement(NPCDialog, {
15113
- text: text,
15114
- onClose: onClose,
15115
- type: NPCDialogType.TextOnly
14845
+ return React.createElement(Container$e, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
14846
+ id: "shortcuts_list"
14847
+ }, Array.from({
14848
+ length: 6
14849
+ }).map(function (_, i) {
14850
+ return React.createElement(Shortcut, {
14851
+ key: i,
14852
+ onPointerDown: function onPointerDown() {
14853
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14854
+ removeShortcut(i);
14855
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
14856
+ },
14857
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14858
+ isBeingSet: settingShortcutIndex === i,
14859
+ id: "shortcutSetter_" + i
14860
+ }, getContent(i));
15116
14861
  })));
15117
14862
  };
15118
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15119
- displayName: "HistoryDialog__BackgroundContainer",
15120
- componentId: "sc-u6oe75-0"
15121
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15122
- return props.imgPath;
15123
- }, function (props) {
15124
- return props.imgPath ? 'cover' : 'auto';
15125
- });
15126
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15127
- displayName: "HistoryDialog__DialogContainer",
15128
- componentId: "sc-u6oe75-1"
15129
- })(["display:flex;justify-content:center;padding-top:200px;"]);
14863
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14864
+ displayName: "ShortcutsSetter__Container",
14865
+ componentId: "sc-xuouuf-0"
14866
+ })(["p{margin:0;margin-left:0.5rem;}"]);
14867
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
14868
+ displayName: "ShortcutsSetter__Shortcut",
14869
+ componentId: "sc-xuouuf-1"
14870
+ })(["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) {
14871
+ var isBeingSet = _ref2.isBeingSet;
14872
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14873
+ }, uiColors.darkGray, uiColors.gray);
14874
+ var List = /*#__PURE__*/styled.div.withConfig({
14875
+ displayName: "ShortcutsSetter__List",
14876
+ componentId: "sc-xuouuf-2"
14877
+ })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
15130
14878
 
15131
- var SlotsContainer = function SlotsContainer(_ref) {
15132
- var children = _ref.children,
15133
- title = _ref.title,
14879
+ var ItemContainer$1 = function ItemContainer(_ref) {
14880
+ var itemContainer = _ref.itemContainer,
15134
14881
  onClose = _ref.onClose,
15135
- _onPositionChange = _ref.onPositionChange,
15136
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
15137
- _onPositionChangeStart = _ref.onPositionChangeStart,
15138
- onOutsideClick = _ref.onOutsideClick,
15139
- initialPosition = _ref.initialPosition,
15140
- scale = _ref.scale;
15141
- return React.createElement(DraggableContainer, {
15142
- title: title,
15143
- type: RPGUIContainerTypes.Framed,
15144
- onCloseButton: function onCloseButton() {
15145
- if (onClose) {
15146
- onClose();
15147
- }
15148
- },
15149
- width: "400px",
15150
- cancelDrag: ".item-container-body, #shortcuts_list",
15151
- onPositionChange: function onPositionChange(_ref2) {
15152
- var x = _ref2.x,
15153
- y = _ref2.y;
15154
- if (_onPositionChange) {
15155
- _onPositionChange({
15156
- x: x,
15157
- y: y
15158
- });
15159
- }
15160
- },
15161
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15162
- var x = _ref3.x,
15163
- y = _ref3.y;
15164
- if (_onPositionChangeEnd) {
15165
- _onPositionChangeEnd({
15166
- x: x,
15167
- y: y
15168
- });
15169
- }
15170
- },
15171
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
15172
- var x = _ref4.x,
15173
- y = _ref4.y;
15174
- if (_onPositionChangeStart) {
15175
- _onPositionChangeStart({
15176
- x: x,
15177
- y: y
15178
- });
15179
- }
15180
- },
15181
- onOutsideClick: onOutsideClick,
14882
+ _onMouseOver = _ref.onMouseOver,
14883
+ _onSelected = _ref.onSelected,
14884
+ onItemClick = _ref.onItemClick,
14885
+ type = _ref.type,
14886
+ atlasJSON = _ref.atlasJSON,
14887
+ atlasIMG = _ref.atlasIMG,
14888
+ _ref$disableContextMe = _ref.disableContextMenu,
14889
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14890
+ onItemDragEnd = _ref.onItemDragEnd,
14891
+ onItemDragStart = _ref.onItemDragStart,
14892
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
14893
+ _onOutsideDrop = _ref.onOutsideDrop,
14894
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
14895
+ initialPosition = _ref.initialPosition,
14896
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14897
+ scale = _ref.scale,
14898
+ shortcuts = _ref.shortcuts,
14899
+ setItemShortcut = _ref.setItemShortcut,
14900
+ removeShortcut = _ref.removeShortcut,
14901
+ equipmentSet = _ref.equipmentSet,
14902
+ isDepotSystem = _ref.isDepotSystem,
14903
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
14904
+ onPositionChangeStart = _ref.onPositionChangeStart;
14905
+ var _useState = useState({
14906
+ isOpen: false,
14907
+ maxQuantity: 1,
14908
+ callback: function callback(_quantity) {}
14909
+ }),
14910
+ quantitySelect = _useState[0],
14911
+ setQuantitySelect = _useState[1];
14912
+ var _useState2 = useState(-1),
14913
+ settingShortcutIndex = _useState2[0],
14914
+ setSettingShortcutIndex = _useState2[1];
14915
+ var handleSetShortcut = function handleSetShortcut(item, index) {
14916
+ if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
14917
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
14918
+ }
14919
+ };
14920
+ var onRenderSlots = function onRenderSlots() {
14921
+ var slots = [];
14922
+ for (var i = 0; i < itemContainer.slotQty; i++) {
14923
+ var _itemContainer$slots;
14924
+ slots.push(React.createElement(ItemSlot, {
14925
+ isContextMenuDisabled: disableContextMenu,
14926
+ key: i,
14927
+ slotIndex: i,
14928
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14929
+ itemContainerType: type,
14930
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
14931
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14932
+ },
14933
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
14934
+ if (settingShortcutIndex !== -1) {
14935
+ setSettingShortcutIndex(-1);
14936
+ handleSetShortcut(item, settingShortcutIndex);
14937
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
14938
+ },
14939
+ onSelected: function onSelected(optionId, item) {
14940
+ if (_onSelected) _onSelected(optionId, item);
14941
+ },
14942
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14943
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14944
+ },
14945
+ onDragEnd: function onDragEnd(quantity) {
14946
+ if (onItemDragEnd) onItemDragEnd(quantity);
14947
+ },
14948
+ dragScale: scale,
14949
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14950
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14951
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14952
+ setQuantitySelect({
14953
+ isOpen: true,
14954
+ maxQuantity: maxQuantity,
14955
+ callback: callback
14956
+ });
14957
+ },
14958
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14959
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14960
+ },
14961
+ onOutsideDrop: function onOutsideDrop(item, position) {
14962
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
14963
+ },
14964
+ atlasIMG: atlasIMG,
14965
+ atlasJSON: atlasJSON,
14966
+ isSelectingShortcut: settingShortcutIndex !== -1,
14967
+ equipmentSet: equipmentSet,
14968
+ setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
14969
+ isDepotSystem: isDepotSystem
14970
+ }));
14971
+ }
14972
+ return slots;
14973
+ };
14974
+ return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
14975
+ title: itemContainer.name || 'Container',
14976
+ onClose: onClose,
15182
14977
  initialPosition: initialPosition,
15183
- scale: scale
15184
- }, children);
14978
+ scale: scale,
14979
+ onPositionChangeEnd: onPositionChangeEnd,
14980
+ onPositionChangeStart: onPositionChangeStart
14981
+ }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
14982
+ setSettingShortcutIndex: setSettingShortcutIndex,
14983
+ settingShortcutIndex: settingShortcutIndex,
14984
+ shortcuts: shortcuts,
14985
+ removeShortcut: removeShortcut,
14986
+ atlasIMG: atlasIMG,
14987
+ atlasJSON: atlasJSON
14988
+ }), React.createElement(ItemsContainer, {
14989
+ className: "item-container-body"
14990
+ }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
14991
+ quantity: quantitySelect.maxQuantity,
14992
+ onConfirm: function onConfirm(quantity) {
14993
+ quantitySelect.callback(quantity);
14994
+ setQuantitySelect({
14995
+ isOpen: false,
14996
+ maxQuantity: 1,
14997
+ callback: function callback() {}
14998
+ });
14999
+ },
15000
+ onClose: function onClose() {
15001
+ quantitySelect.callback(-1);
15002
+ setQuantitySelect({
15003
+ isOpen: false,
15004
+ maxQuantity: 1,
15005
+ callback: function callback() {}
15006
+ });
15007
+ }
15008
+ }))));
15185
15009
  };
15010
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15011
+ displayName: "ItemContainer__ItemsContainer",
15012
+ componentId: "sc-15y5p9l-0"
15013
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15014
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15015
+ displayName: "ItemContainer__QuantitySelectorContainer",
15016
+ componentId: "sc-15y5p9l-1"
15017
+ })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15186
15018
 
15187
- var RangeSliderType;
15188
- (function (RangeSliderType) {
15189
- RangeSliderType["Slider"] = "rpgui-slider";
15190
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15191
- })(RangeSliderType || (RangeSliderType = {}));
15192
- var RangeSlider = function RangeSlider(_ref) {
15193
- var type = _ref.type,
15194
- valueMin = _ref.valueMin,
15195
- valueMax = _ref.valueMax,
15196
- width = _ref.width,
15197
- _onChange = _ref.onChange,
15198
- value = _ref.value;
15199
- var sliderId = v4();
15200
- var containerRef = useRef(null);
15201
- var _useState = useState(0),
15202
- left = _useState[0],
15203
- setLeft = _useState[1];
15019
+ var ItemSelector = function ItemSelector(_ref) {
15020
+ var atlasIMG = _ref.atlasIMG,
15021
+ atlasJSON = _ref.atlasJSON,
15022
+ options = _ref.options,
15023
+ onClose = _ref.onClose,
15024
+ onSelect = _ref.onSelect;
15025
+ var _useState = useState(),
15026
+ selectedValue = _useState[0],
15027
+ setSelectedValue = _useState[1];
15028
+ var handleClick = function handleClick() {
15029
+ var element = document.querySelector("input[name='test']:checked");
15030
+ var elementValue = element.value;
15031
+ setSelectedValue(elementValue);
15032
+ };
15204
15033
  useEffect(function () {
15205
- var _containerRef$current;
15206
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15207
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15208
- }, [value, valueMin, valueMax]);
15209
- var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
15210
- return React.createElement("div", {
15211
- style: {
15212
- width: width,
15213
- position: 'relative'
15214
- },
15215
- className: "rpgui-slider-container " + typeClass,
15216
- id: "rpgui-slider-" + sliderId,
15217
- ref: containerRef
15218
- }, React.createElement("div", {
15219
- style: {
15220
- pointerEvents: 'none'
15034
+ if (selectedValue) {
15035
+ onSelect(selectedValue);
15036
+ }
15037
+ }, [selectedValue]);
15038
+ return React.createElement(DraggableContainer, {
15039
+ type: RPGUIContainerTypes.Framed,
15040
+ width: "500px",
15041
+ cancelDrag: ".equipment-container-body .arrow-selector",
15042
+ onCloseButton: function onCloseButton() {
15043
+ if (onClose) {
15044
+ onClose();
15045
+ }
15221
15046
  }
15222
15047
  }, React.createElement("div", {
15223
- className: "rpgui-slider-track " + typeClass
15224
- }), React.createElement("div", {
15225
- className: "rpgui-slider-left-edge " + typeClass
15226
- }), React.createElement("div", {
15227
- className: "rpgui-slider-right-edge " + typeClass
15228
- }), React.createElement("div", {
15229
- className: "rpgui-slider-thumb " + typeClass,
15230
15048
  style: {
15231
- left: left
15049
+ width: '100%'
15232
15050
  }
15233
- })), React.createElement(Input$1, {
15234
- type: "range",
15235
- style: {
15236
- width: width
15237
- },
15238
- min: valueMin,
15239
- max: valueMax,
15240
- onChange: function onChange(e) {
15241
- return _onChange(Number(e.target.value));
15242
- },
15243
- value: value,
15244
- className: "rpgui-cursor-point"
15245
- }));
15246
- };
15247
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
15248
- displayName: "RangeSlider__Input",
15249
- componentId: "sc-v8mte9-0"
15250
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15251
-
15252
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15253
- var quantity = _ref.quantity,
15254
- onConfirm = _ref.onConfirm,
15255
- onClose = _ref.onClose;
15256
- var _useState = useState(quantity),
15257
- value = _useState[0],
15258
- setValue = _useState[1];
15259
- var inputRef = useRef(null);
15260
- useEffect(function () {
15261
- if (inputRef.current) {
15262
- inputRef.current.focus();
15263
- inputRef.current.select();
15264
- var closeSelector = function closeSelector(e) {
15265
- if (e.key === 'Escape') {
15266
- onClose();
15267
- }
15268
- };
15269
- document.addEventListener('keydown', closeSelector);
15270
- return function () {
15271
- document.removeEventListener('keydown', closeSelector);
15272
- };
15273
- }
15274
- return function () {};
15275
- }, []);
15276
- return React.createElement(StyledContainer, {
15277
- type: RPGUIContainerTypes.Framed,
15278
- width: "25rem"
15279
- }, React.createElement(CloseButton$2, {
15280
- className: "container-close",
15281
- onPointerDown: onClose
15282
- }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
15283
- style: {
15284
- width: '100%'
15285
- },
15286
- onSubmit: function onSubmit(e) {
15287
- e.preventDefault();
15288
- var numberValue = Number(value);
15289
- if (Number.isNaN(numberValue)) {
15290
- return;
15291
- }
15292
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15293
- },
15294
- noValidate: true
15295
- }, React.createElement(StyledInput, {
15296
- innerRef: inputRef,
15297
- placeholder: "Enter quantity",
15298
- type: "number",
15299
- min: 1,
15300
- max: quantity,
15301
- value: value,
15302
- onChange: function onChange(e) {
15303
- if (Number(e.target.value) >= quantity) {
15304
- setValue(quantity);
15305
- return;
15051
+ }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15052
+ className: "golden"
15053
+ })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15054
+ return React.createElement(RadioOptionsWrapper$1, {
15055
+ key: index
15056
+ }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15057
+ atlasIMG: atlasIMG,
15058
+ atlasJSON: atlasJSON,
15059
+ spriteKey: option.imageKey,
15060
+ imgScale: 3
15061
+ })), React.createElement("div", null, React.createElement("input", {
15062
+ className: "rpgui-radio",
15063
+ type: "radio",
15064
+ value: option.name,
15065
+ name: "test"
15066
+ }), React.createElement("label", {
15067
+ onPointerDown: handleClick,
15068
+ style: {
15069
+ display: 'flex',
15070
+ alignItems: 'center'
15306
15071
  }
15307
- setValue(e.target.value);
15308
- },
15309
- onBlur: function onBlur(e) {
15310
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15311
- setValue(newValue);
15312
- }
15313
- }), React.createElement(RangeSlider, {
15314
- type: RangeSliderType.Slider,
15315
- valueMin: 1,
15316
- valueMax: quantity,
15317
- width: "100%",
15318
- onChange: setValue,
15319
- value: value
15320
- }), React.createElement(Button, {
15072
+ }, option.name, " ", React.createElement("br", null), option.description)));
15073
+ })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15321
15074
  buttonType: ButtonTypes.RPGUIButton,
15322
- type: "submit"
15323
- }, "Confirm")));
15075
+ onPointerDown: onClose
15076
+ }, "Cancel"), React.createElement(Button, {
15077
+ buttonType: ButtonTypes.RPGUIButton
15078
+ }, "Select")));
15324
15079
  };
15325
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15326
- displayName: "ItemQuantitySelector__StyledContainer",
15327
- componentId: "sc-yfdtpn-0"
15328
- })(["display:flex;flex-direction:column;align-items:center;"]);
15329
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
15330
- displayName: "ItemQuantitySelector__StyledForm",
15331
- componentId: "sc-yfdtpn-1"
15332
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15333
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15334
- displayName: "ItemQuantitySelector__StyledInput",
15335
- componentId: "sc-yfdtpn-2"
15336
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15337
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15338
- displayName: "ItemQuantitySelector__CloseButton",
15339
- componentId: "sc-yfdtpn-3"
15340
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15080
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15081
+ displayName: "ItemSelector__Title",
15082
+ componentId: "sc-gptoxp-0"
15083
+ })(["font-size:0.6rem;color:yellow !important;"]);
15084
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15085
+ displayName: "ItemSelector__Subtitle",
15086
+ componentId: "sc-gptoxp-1"
15087
+ })(["font-size:0.4rem;color:yellow !important;"]);
15088
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15089
+ displayName: "ItemSelector__RadioInputScroller",
15090
+ componentId: "sc-gptoxp-2"
15091
+ })(["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;"]);
15092
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15093
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15094
+ componentId: "sc-gptoxp-3"
15095
+ })(["margin-right:40px;"]);
15096
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15097
+ displayName: "ItemSelector__RadioOptionsWrapper",
15098
+ componentId: "sc-gptoxp-4"
15099
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15100
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15101
+ displayName: "ItemSelector__ButtonWrapper",
15102
+ componentId: "sc-gptoxp-5"
15103
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15341
15104
 
15342
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
15343
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15344
- settingShortcutIndex = _ref.settingShortcutIndex,
15345
- shortcuts = _ref.shortcuts,
15346
- removeShortcut = _ref.removeShortcut,
15347
- atlasJSON = _ref.atlasJSON,
15348
- atlasIMG = _ref.atlasIMG;
15349
- var getContent = function getContent(index) {
15350
- var _shortcuts$index, _shortcuts$index3;
15351
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
15352
- var _shortcuts$index2;
15353
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15354
- if (!_payload) return null;
15355
- return React.createElement(SpriteFromAtlas, {
15356
- atlasIMG: atlasIMG,
15357
- atlasJSON: atlasJSON,
15358
- spriteKey: getItemTextureKeyPath({
15359
- key: _payload.texturePath,
15360
- texturePath: _payload.texturePath,
15361
- stackQty: _payload.stackQty || 1,
15362
- isStackable: _payload.isStackable
15363
- }, atlasJSON),
15364
- width: 32,
15365
- height: 32,
15366
- imgScale: 1.6,
15367
- imgStyle: {
15368
- left: '5px'
15369
- }
15370
- });
15105
+ var ListMenu = function ListMenu(_ref) {
15106
+ var options = _ref.options,
15107
+ onSelected = _ref.onSelected,
15108
+ x = _ref.x,
15109
+ y = _ref.y;
15110
+ return React.createElement(Container$f, {
15111
+ x: x,
15112
+ y: y
15113
+ }, React.createElement("ul", {
15114
+ className: "rpgui-list-imp",
15115
+ style: {
15116
+ overflow: 'hidden'
15371
15117
  }
15372
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15373
- return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15374
- return word[0];
15375
- }));
15376
- };
15377
- return React.createElement(Container$i, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
15378
- id: "shortcuts_list"
15379
- }, Array.from({
15380
- length: 6
15381
- }).map(function (_, i) {
15382
- return React.createElement(Shortcut, {
15383
- key: i,
15118
+ }, options.map(function (params, index) {
15119
+ return React.createElement(ListElement$1, {
15120
+ key: (params == null ? void 0 : params.id) || index,
15384
15121
  onPointerDown: function onPointerDown() {
15385
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15386
- removeShortcut(i);
15387
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
15388
- },
15389
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15390
- isBeingSet: settingShortcutIndex === i,
15391
- id: "shortcutSetter_" + i
15392
- }, getContent(i));
15122
+ onSelected(params == null ? void 0 : params.id);
15123
+ }
15124
+ }, (params == null ? void 0 : params.text) || 'No text');
15393
15125
  })));
15394
15126
  };
15395
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15396
- displayName: "ShortcutsSetter__Container",
15397
- componentId: "sc-xuouuf-0"
15398
- })(["p{margin:0;margin-left:0.5rem;}"]);
15399
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
15400
- displayName: "ShortcutsSetter__Shortcut",
15401
- componentId: "sc-xuouuf-1"
15402
- })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
15403
- var isBeingSet = _ref2.isBeingSet;
15404
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15405
- }, uiColors.darkGray, uiColors.gray);
15406
- var List = /*#__PURE__*/styled.div.withConfig({
15407
- displayName: "ShortcutsSetter__List",
15408
- componentId: "sc-xuouuf-2"
15409
- })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
15127
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
15128
+ displayName: "ListMenu__Container",
15129
+ componentId: "sc-i9097t-0"
15130
+ })(["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) {
15131
+ return props.y || 0;
15132
+ }, function (props) {
15133
+ return props.x || 0;
15134
+ }, uiFonts.size.xsmall);
15135
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15136
+ displayName: "ListMenu__ListElement",
15137
+ componentId: "sc-i9097t-1"
15138
+ })(["margin-right:0.5rem;"]);
15410
15139
 
15411
- var ItemContainer$1 = function ItemContainer(_ref) {
15412
- var itemContainer = _ref.itemContainer,
15140
+ var Pager = function Pager(_ref) {
15141
+ var totalItems = _ref.totalItems,
15142
+ currentPage = _ref.currentPage,
15143
+ itemsPerPage = _ref.itemsPerPage,
15144
+ onPageChange = _ref.onPageChange;
15145
+ var totalPages = Math.ceil(totalItems / itemsPerPage);
15146
+ return React.createElement(Container$g, null, React.createElement("p", null, "Total items: ", totalItems), React.createElement(PagerContainer, null, React.createElement("button", {
15147
+ disabled: currentPage === 1,
15148
+ onPointerDown: function onPointerDown() {
15149
+ return onPageChange(Math.max(currentPage - 1, 1));
15150
+ }
15151
+ }, '<'), React.createElement("div", {
15152
+ className: "rpgui-container framed-grey"
15153
+ }, currentPage), React.createElement("button", {
15154
+ disabled: currentPage === totalPages,
15155
+ onPointerDown: function onPointerDown() {
15156
+ return onPageChange(Math.min(currentPage + 1, totalPages));
15157
+ }
15158
+ }, '>')));
15159
+ };
15160
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
15161
+ displayName: "Pager__Container",
15162
+ componentId: "sc-1ekmf50-0"
15163
+ })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
15164
+ var PagerContainer = /*#__PURE__*/styled.div.withConfig({
15165
+ displayName: "Pager__PagerContainer",
15166
+ componentId: "sc-1ekmf50-1"
15167
+ })(["display:flex;justify-content:center;align-items:center;gap:5px;p{margin:0;}div{color:white;}button{width:40px;height:40px;background-color:", ";border:none;border-radius:5px;color:white;:hover{background-color:", ";}:disabled{opacity:0.5;}&.active{background-color:", ";font-weight:bold;color:black;}}"], uiColors.darkGray, uiColors.lightGray, uiColors.orange);
15168
+
15169
+ var ConfirmModal = function ConfirmModal(_ref) {
15170
+ var onConfirm = _ref.onConfirm,
15413
15171
  onClose = _ref.onClose,
15414
- _onMouseOver = _ref.onMouseOver,
15415
- _onSelected = _ref.onSelected,
15416
- onItemClick = _ref.onItemClick,
15417
- type = _ref.type,
15418
- atlasJSON = _ref.atlasJSON,
15172
+ message = _ref.message;
15173
+ return React.createElement(ModalPortal, null, React.createElement(Background, null), React.createElement(Container$h, {
15174
+ onPointerDown: onClose
15175
+ }, React.createElement(DraggableContainer, {
15176
+ width: "auto",
15177
+ dragDisabled: true
15178
+ }, React.createElement(Wrapper$1, {
15179
+ onPointerDown: function onPointerDown(e) {
15180
+ return e.stopPropagation();
15181
+ }
15182
+ }, React.createElement("p", null, message != null ? message : 'Are you sure?'), React.createElement(ButtonsWrapper, null, React.createElement("div", {
15183
+ className: "cancel-button"
15184
+ }, React.createElement(Button, {
15185
+ buttonType: ButtonTypes.RPGUIButton,
15186
+ onPointerDown: onClose
15187
+ }, "No")), React.createElement(Button, {
15188
+ buttonType: ButtonTypes.RPGUIButton,
15189
+ onPointerDown: onConfirm
15190
+ }, "Yes"))))));
15191
+ };
15192
+ var Background = /*#__PURE__*/styled.div.withConfig({
15193
+ displayName: "ConfirmModal__Background",
15194
+ componentId: "sc-11qkyu1-0"
15195
+ })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
15196
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15197
+ displayName: "ConfirmModal__Container",
15198
+ componentId: "sc-11qkyu1-1"
15199
+ })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
15200
+ var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
15201
+ displayName: "ConfirmModal__Wrapper",
15202
+ componentId: "sc-11qkyu1-2"
15203
+ })(["p{margin:0;}"]);
15204
+ var ButtonsWrapper = /*#__PURE__*/styled.div.withConfig({
15205
+ displayName: "ConfirmModal__ButtonsWrapper",
15206
+ componentId: "sc-11qkyu1-3"
15207
+ })(["display:flex;justify-content:flex-end;gap:5px;margin-top:5px;.cancel-button{filter:grayscale(0.7);}"]);
15208
+
15209
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15210
+ var atlasJSON = _ref.atlasJSON,
15419
15211
  atlasIMG = _ref.atlasIMG,
15420
- _ref$disableContextMe = _ref.disableContextMenu,
15421
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15422
- onItemDragEnd = _ref.onItemDragEnd,
15423
- onItemDragStart = _ref.onItemDragStart,
15424
- onItemPlaceDrop = _ref.onItemPlaceDrop,
15425
- _onOutsideDrop = _ref.onOutsideDrop,
15426
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15427
- initialPosition = _ref.initialPosition,
15428
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15429
- scale = _ref.scale,
15430
- shortcuts = _ref.shortcuts,
15431
- setItemShortcut = _ref.setItemShortcut,
15432
- removeShortcut = _ref.removeShortcut,
15212
+ item = _ref.item,
15213
+ itemPrice = _ref.itemPrice,
15433
15214
  equipmentSet = _ref.equipmentSet,
15434
- isDepotSystem = _ref.isDepotSystem,
15435
- onPositionChangeEnd = _ref.onPositionChangeEnd,
15436
- onPositionChangeStart = _ref.onPositionChangeStart;
15437
- var _useState = useState({
15438
- isOpen: false,
15439
- maxQuantity: 1,
15440
- callback: function callback(_quantity) {}
15441
- }),
15442
- quantitySelect = _useState[0],
15443
- setQuantitySelect = _useState[1];
15444
- var _useState2 = useState(-1),
15445
- settingShortcutIndex = _useState2[0],
15446
- setSettingShortcutIndex = _useState2[1];
15447
- var handleSetShortcut = function handleSetShortcut(item, index) {
15448
- if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
15449
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15215
+ scale = _ref.scale,
15216
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15217
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15218
+ disabled = _ref.disabled;
15219
+ return React.createElement(MarketplaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15220
+ item: item,
15221
+ atlasIMG: atlasIMG,
15222
+ atlasJSON: atlasJSON,
15223
+ equipmentSet: equipmentSet,
15224
+ scale: scale
15225
+ }, React.createElement(RarityContainer, {
15226
+ item: item
15227
+ }, React.createElement(SpriteFromAtlas, {
15228
+ atlasIMG: atlasIMG,
15229
+ atlasJSON: atlasJSON,
15230
+ spriteKey: getItemTextureKeyPath({
15231
+ key: item.key,
15232
+ stackQty: item.stackQty || 1,
15233
+ texturePath: item.texturePath,
15234
+ isStackable: item.isStackable
15235
+ }, atlasJSON),
15236
+ imgScale: 2
15237
+ })), React.createElement(QuantityContainer, null, item.stackQty && item.stackQty > 1 && "x" + Math.round(item.stackQty * 10) / 10))), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15238
+ maxLines: 1,
15239
+ maxWidth: "200px",
15240
+ fontSize: "10px"
15241
+ }, item.name)))), React.createElement(Flex$1, null, React.createElement(ItemIconContainer, null, React.createElement(GoldContainer, null, React.createElement(SpriteFromAtlas, {
15242
+ atlasIMG: atlasIMG,
15243
+ atlasJSON: atlasJSON,
15244
+ spriteKey: "others/gold-coin-qty-5.png",
15245
+ imgScale: 2
15246
+ })), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15247
+ maxLines: 1,
15248
+ maxWidth: "200px",
15249
+ fontSize: "10px"
15250
+ }, "$", itemPrice)))), React.createElement(ButtonContainer$1, null, React.createElement(Button, {
15251
+ buttonType: ButtonTypes.RPGUIButton,
15252
+ disabled: disabled,
15253
+ onPointerDown: function onPointerDown() {
15254
+ if (disabled) return;
15255
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy();
15256
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove();
15450
15257
  }
15258
+ }, onMarketPlaceItemBuy ? 'Buy' : 'Remove'))));
15259
+ };
15260
+ var MarketplaceWrapper = /*#__PURE__*/styled.div.withConfig({
15261
+ displayName: "MarketplaceRows__MarketplaceWrapper",
15262
+ componentId: "sc-wmpr1o-0"
15263
+ })(["margin:auto;display:flex;justify-content:space-between;padding:0.5rem;&:hover{background-color:", ";}p{font-size:0.8rem;}"], uiColors.darkGray);
15264
+ var QuantityContainer = /*#__PURE__*/styled.p.withConfig({
15265
+ displayName: "MarketplaceRows__QuantityContainer",
15266
+ componentId: "sc-wmpr1o-1"
15267
+ })(["position:absolute;display:block;top:15px;left:25px;font-size:", " !important;"], uiFonts.size.xsmall);
15268
+ var Flex$1 = /*#__PURE__*/styled.div.withConfig({
15269
+ displayName: "MarketplaceRows__Flex",
15270
+ componentId: "sc-wmpr1o-2"
15271
+ })(["display:flex;gap:24px;"]);
15272
+ var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15273
+ displayName: "MarketplaceRows__ItemIconContainer",
15274
+ componentId: "sc-wmpr1o-3"
15275
+ })(["display:flex;justify-content:flex-start;align-items:center;"]);
15276
+ var GoldContainer = /*#__PURE__*/styled.div.withConfig({
15277
+ displayName: "MarketplaceRows__GoldContainer",
15278
+ componentId: "sc-wmpr1o-4"
15279
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15280
+ var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15281
+ displayName: "MarketplaceRows__SpriteContainer",
15282
+ componentId: "sc-wmpr1o-5"
15283
+ })(["position:relative;left:0.5rem;"]);
15284
+ var PriceValue = /*#__PURE__*/styled.div.withConfig({
15285
+ displayName: "MarketplaceRows__PriceValue",
15286
+ componentId: "sc-wmpr1o-6"
15287
+ })(["margin-left:40px;"]);
15288
+ var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15289
+ displayName: "MarketplaceRows__ButtonContainer",
15290
+ componentId: "sc-wmpr1o-7"
15291
+ })(["margin:auto;"]);
15292
+ var RarityContainer = /*#__PURE__*/styled.div.withConfig({
15293
+ displayName: "MarketplaceRows__RarityContainer",
15294
+ componentId: "sc-wmpr1o-8"
15295
+ })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref2) {
15296
+ var item = _ref2.item;
15297
+ return rarityColor(item);
15298
+ }, function (_ref3) {
15299
+ var item = _ref3.item;
15300
+ return "0 0 5px 8px " + rarityColor(item);
15301
+ }, function (_ref4) {
15302
+ var item = _ref4.item;
15303
+ return "0 0 8px 6px " + rarityColor(item);
15304
+ });
15305
+
15306
+ var OrderByType;
15307
+ (function (OrderByType) {
15308
+ OrderByType["Name"] = "Name";
15309
+ OrderByType["Price"] = "Price";
15310
+ })(OrderByType || (OrderByType = {}));
15311
+ var itemTypeOptions = /*#__PURE__*/['Type'].concat(Object.keys(ItemSubType)).filter(function (type) {
15312
+ return type !== 'DeadBody';
15313
+ }).map(function (itemType, index) {
15314
+ return {
15315
+ id: index + 1,
15316
+ value: itemType,
15317
+ option: itemType
15451
15318
  };
15452
- var onRenderSlots = function onRenderSlots() {
15453
- var slots = [];
15454
- for (var i = 0; i < itemContainer.slotQty; i++) {
15455
- var _itemContainer$slots;
15456
- slots.push(React.createElement(ItemSlot, {
15457
- isContextMenuDisabled: disableContextMenu,
15458
- key: i,
15459
- slotIndex: i,
15460
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15461
- itemContainerType: type,
15462
- onMouseOver: function onMouseOver(event, slotIndex, item) {
15463
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15464
- },
15465
- onPointerDown: function onPointerDown(itemType, containerType, item) {
15466
- if (settingShortcutIndex !== -1) {
15467
- setSettingShortcutIndex(-1);
15468
- handleSetShortcut(item, settingShortcutIndex);
15469
- } else if (onItemClick) onItemClick(item, itemType, containerType);
15470
- },
15471
- onSelected: function onSelected(optionId, item) {
15472
- if (_onSelected) _onSelected(optionId, item);
15473
- },
15474
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15475
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15476
- },
15477
- onDragEnd: function onDragEnd(quantity) {
15478
- if (onItemDragEnd) onItemDragEnd(quantity);
15479
- },
15480
- dragScale: scale,
15481
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15482
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15483
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15484
- setQuantitySelect({
15485
- isOpen: true,
15486
- maxQuantity: maxQuantity,
15487
- callback: callback
15488
- });
15489
- },
15490
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15491
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15492
- },
15493
- onOutsideDrop: function onOutsideDrop(item, position) {
15494
- if (_onOutsideDrop) _onOutsideDrop(item, position);
15495
- },
15496
- atlasIMG: atlasIMG,
15497
- atlasJSON: atlasJSON,
15498
- isSelectingShortcut: settingShortcutIndex !== -1,
15499
- equipmentSet: equipmentSet,
15500
- setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
15501
- isDepotSystem: isDepotSystem
15502
- }));
15503
- }
15504
- return slots;
15319
+ });
15320
+ var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(ItemRarities)).map(function (itemRarity, index) {
15321
+ return {
15322
+ id: index + 1,
15323
+ value: itemRarity,
15324
+ option: itemRarity
15505
15325
  };
15506
- return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
15507
- title: itemContainer.name || 'Container',
15508
- onClose: onClose,
15509
- initialPosition: initialPosition,
15510
- scale: scale,
15511
- onPositionChangeEnd: onPositionChangeEnd,
15512
- onPositionChangeStart: onPositionChangeStart
15513
- }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
15514
- setSettingShortcutIndex: setSettingShortcutIndex,
15515
- settingShortcutIndex: settingShortcutIndex,
15516
- shortcuts: shortcuts,
15517
- removeShortcut: removeShortcut,
15326
+ });
15327
+ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (orderBy, index) {
15328
+ return [{
15329
+ id: index * 2 + 1,
15330
+ value: orderBy.toLowerCase(),
15331
+ option: React.createElement(React.Fragment, null, orderBy, ' ', React.createElement("span", {
15332
+ style: {
15333
+ transform: 'translateY(-2px)',
15334
+ display: 'inline-block'
15335
+ }
15336
+ }, "\u2193"))
15337
+ }, {
15338
+ id: index * 2 + 2,
15339
+ value: '-' + orderBy.toLowerCase(),
15340
+ option: React.createElement(React.Fragment, null, orderBy, ' ', React.createElement("span", {
15341
+ style: {
15342
+ transform: 'translateY(-2px)',
15343
+ display: 'inline-block'
15344
+ }
15345
+ }, "\u2191"))
15346
+ }];
15347
+ });
15348
+
15349
+ var BuyPanel = function BuyPanel(_ref) {
15350
+ var items = _ref.items,
15351
+ atlasIMG = _ref.atlasIMG,
15352
+ atlasJSON = _ref.atlasJSON,
15353
+ onChangeType = _ref.onChangeType,
15354
+ onChangeRarity = _ref.onChangeRarity,
15355
+ onChangeOrder = _ref.onChangeOrder,
15356
+ onChangeNameInput = _ref.onChangeNameInput,
15357
+ onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15358
+ onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15359
+ onChangePriceInput = _ref.onChangePriceInput,
15360
+ equipmentSet = _ref.equipmentSet,
15361
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15362
+ characterId = _ref.characterId,
15363
+ enableHotkeys = _ref.enableHotkeys,
15364
+ disableHotkeys = _ref.disableHotkeys,
15365
+ currentPage = _ref.currentPage;
15366
+ var _useState = useState(''),
15367
+ name = _useState[0],
15368
+ setName = _useState[1];
15369
+ var _useState2 = useState([undefined, undefined]),
15370
+ mainLevel = _useState2[0],
15371
+ setMainLevel = _useState2[1];
15372
+ var _useState3 = useState([undefined, undefined]),
15373
+ secondaryLevel = _useState3[0],
15374
+ setSecondaryLevel = _useState3[1];
15375
+ var _useState4 = useState([undefined, undefined]),
15376
+ price = _useState4[0],
15377
+ setPrice = _useState4[1];
15378
+ var _useState5 = useState(null),
15379
+ buyingItemId = _useState5[0],
15380
+ setBuyingItemId = _useState5[1];
15381
+ var itemsContainer = useRef(null);
15382
+ useEffect(function () {
15383
+ var _itemsContainer$curre;
15384
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15385
+ }, [currentPage]);
15386
+ return React.createElement(React.Fragment, null, buyingItemId && React.createElement(ConfirmModal, {
15387
+ onClose: setBuyingItemId.bind(null, null),
15388
+ onConfirm: function onConfirm() {
15389
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15390
+ setBuyingItemId(null);
15391
+ enableHotkeys == null ? void 0 : enableHotkeys();
15392
+ },
15393
+ message: "Are you sure to buy this item?"
15394
+ }), React.createElement(InputWrapper, null, React.createElement("p", null, "Search By Name"), React.createElement(Input, {
15395
+ onChange: function onChange(e) {
15396
+ setName(e.target.value);
15397
+ onChangeNameInput(e.target.value);
15398
+ },
15399
+ value: name,
15400
+ placeholder: "Enter name...",
15401
+ onBlur: enableHotkeys,
15402
+ onFocus: disableHotkeys
15403
+ })), React.createElement(OptionsWrapper, null, React.createElement(FilterInputsWrapper, null, React.createElement("div", null, React.createElement("p", null, "Main level"), React.createElement(Input, {
15404
+ onChange: function onChange(e) {
15405
+ setMainLevel([Number(e.target.value), mainLevel[1]]);
15406
+ onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15407
+ },
15408
+ placeholder: "Min",
15409
+ type: "number",
15410
+ min: 0,
15411
+ onBlur: enableHotkeys,
15412
+ onFocus: disableHotkeys
15413
+ }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15414
+ onChange: function onChange(e) {
15415
+ setMainLevel([mainLevel[0], Number(e.target.value)]);
15416
+ onChangeMainLevelInput([mainLevel[0], Number(e.target.value)]);
15417
+ },
15418
+ placeholder: "Max",
15419
+ type: "number",
15420
+ min: 0,
15421
+ onBlur: enableHotkeys,
15422
+ onFocus: disableHotkeys
15423
+ })), React.createElement("div", null, React.createElement("p", null, "Secondary level"), React.createElement(Input, {
15424
+ onChange: function onChange(e) {
15425
+ setSecondaryLevel([Number(e.target.value), secondaryLevel[1]]);
15426
+ onChangeSecondaryLevelInput([Number(e.target.value), secondaryLevel[1]]);
15427
+ },
15428
+ placeholder: "Min",
15429
+ type: "number",
15430
+ min: 0,
15431
+ onBlur: enableHotkeys,
15432
+ onFocus: disableHotkeys
15433
+ }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15434
+ onChange: function onChange(e) {
15435
+ setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15436
+ onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15437
+ },
15438
+ placeholder: "Max",
15439
+ type: "number",
15440
+ min: 0,
15441
+ onBlur: enableHotkeys,
15442
+ onFocus: disableHotkeys
15443
+ })), React.createElement("div", null, React.createElement("p", null, "Price"), React.createElement(Input, {
15444
+ onChange: function onChange(e) {
15445
+ setPrice([Number(e.target.value), price[1]]);
15446
+ onChangePriceInput([Number(e.target.value), price[1]]);
15447
+ },
15448
+ placeholder: "Min",
15449
+ type: "number",
15450
+ min: 0,
15451
+ className: "big-input",
15452
+ onBlur: enableHotkeys,
15453
+ onFocus: disableHotkeys
15454
+ }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15455
+ onChange: function onChange(e) {
15456
+ setPrice([price[0], Number(e.target.value)]);
15457
+ onChangePriceInput([price[0], Number(e.target.value)]);
15458
+ },
15459
+ placeholder: "Max",
15460
+ type: "number",
15461
+ min: 0,
15462
+ className: "big-input",
15463
+ onBlur: enableHotkeys,
15464
+ onFocus: disableHotkeys
15465
+ }))), React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
15466
+ options: itemTypeOptions,
15467
+ onChange: onChangeType,
15468
+ width: "95%"
15469
+ }), React.createElement(StyledDropdown, {
15470
+ options: itemRarityOptions,
15471
+ onChange: onChangeRarity,
15472
+ width: "95%"
15473
+ }), React.createElement(StyledDropdown, {
15474
+ options: orderByOptions,
15475
+ onChange: onChangeOrder,
15476
+ width: "100%"
15477
+ }))), React.createElement(ItemComponentScrollWrapper, {
15478
+ id: "MarketContainer",
15479
+ ref: itemsContainer
15480
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
15481
+ var item = _ref2.item,
15482
+ price = _ref2.price,
15483
+ _id = _ref2._id,
15484
+ owner = _ref2.owner;
15485
+ return React.createElement(MarketplaceRows, {
15486
+ key: item.key + "_" + index,
15487
+ atlasIMG: atlasIMG,
15488
+ atlasJSON: atlasJSON,
15489
+ item: item,
15490
+ itemPrice: price,
15491
+ equipmentSet: equipmentSet,
15492
+ onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
15493
+ disabled: owner === characterId
15494
+ });
15495
+ })));
15496
+ };
15497
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15498
+ displayName: "BuyPanel__InputWrapper",
15499
+ componentId: "sc-1si8t7i-0"
15500
+ })(["width:95%;display:flex !important;justify-content:flex-start;align-items:center;margin:auto;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15501
+ var OptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15502
+ displayName: "BuyPanel__OptionsWrapper",
15503
+ componentId: "sc-1si8t7i-1"
15504
+ })(["width:100%;height:100px;"]);
15505
+ var FilterInputsWrapper = /*#__PURE__*/styled.div.withConfig({
15506
+ displayName: "BuyPanel__FilterInputsWrapper",
15507
+ componentId: "sc-1si8t7i-2"
15508
+ })(["width:95%;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;margin-left:10px;gap:5px;color:white;flex-wrap:wrap;p{width:auto;margin:0;}input{width:75px;height:10px;}.big-input{width:130px;}"]);
15509
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15510
+ displayName: "BuyPanel__WrapperContainer",
15511
+ componentId: "sc-1si8t7i-3"
15512
+ })(["display:grid;grid-template-columns:40% 30% 30%;justify-content:space-between;width:calc(100% - 40px);margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
15513
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15514
+ displayName: "BuyPanel__ItemComponentScrollWrapper",
15515
+ componentId: "sc-1si8t7i-4"
15516
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15517
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15518
+ displayName: "BuyPanel__StyledDropdown",
15519
+ componentId: "sc-1si8t7i-5"
15520
+ })(["margin:3px !important;width:170px !important;"]);
15521
+
15522
+ var ManagmentPanel = function ManagmentPanel(_ref) {
15523
+ var items = _ref.items,
15524
+ atlasIMG = _ref.atlasIMG,
15525
+ atlasJSON = _ref.atlasJSON,
15526
+ onChangeNameInput = _ref.onChangeNameInput,
15527
+ equipmentSet = _ref.equipmentSet,
15528
+ availableGold = _ref.availableGold,
15529
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15530
+ selectedItemToSell = _ref.selectedItemToSell,
15531
+ onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
15532
+ onAddItemToMarketplace = _ref.onAddItemToMarketplace,
15533
+ enableHotkeys = _ref.enableHotkeys,
15534
+ disableHotkeys = _ref.disableHotkeys,
15535
+ onMoneyWithdraw = _ref.onMoneyWithdraw,
15536
+ currentPage = _ref.currentPage;
15537
+ var _useState = useState(''),
15538
+ name = _useState[0],
15539
+ setName = _useState[1];
15540
+ var _useState2 = useState(''),
15541
+ price = _useState2[0],
15542
+ setPrice = _useState2[1];
15543
+ var _useState3 = useState(false),
15544
+ isCreatingOffer = _useState3[0],
15545
+ setIsCreatingOffer = _useState3[1];
15546
+ var _useState4 = useState(null),
15547
+ removingItemId = _useState4[0],
15548
+ setRemovingItemId = _useState4[1];
15549
+ var itemsContainer = useRef(null);
15550
+ useEffect(function () {
15551
+ var _itemsContainer$curre;
15552
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15553
+ }, [currentPage]);
15554
+ return React.createElement(React.Fragment, null, isCreatingOffer && React.createElement(ConfirmModal, {
15555
+ onClose: setIsCreatingOffer.bind(null, false),
15556
+ onConfirm: function onConfirm() {
15557
+ if (selectedItemToSell && price && Number(price)) {
15558
+ onAddItemToMarketplace(selectedItemToSell, Number(price));
15559
+ setPrice('');
15560
+ onSelectedItemToSellRemove(selectedItemToSell);
15561
+ setIsCreatingOffer(false);
15562
+ enableHotkeys == null ? void 0 : enableHotkeys();
15563
+ }
15564
+ },
15565
+ message: "Are you sure to create this offer?"
15566
+ }), removingItemId && React.createElement(ConfirmModal, {
15567
+ onClose: setRemovingItemId.bind(null, null),
15568
+ onConfirm: function onConfirm() {
15569
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
15570
+ setRemovingItemId(null);
15571
+ enableHotkeys == null ? void 0 : enableHotkeys();
15572
+ },
15573
+ message: "Are you sure to remove this item?"
15574
+ }), React.createElement(InputWrapper$1, null, React.createElement("p", null, "Search By Name"), React.createElement(Input, {
15575
+ onChange: function onChange(e) {
15576
+ setName(e.target.value);
15577
+ onChangeNameInput(e.target.value);
15578
+ },
15579
+ value: name,
15580
+ placeholder: "Enter name...",
15581
+ onBlur: enableHotkeys,
15582
+ onFocus: disableHotkeys
15583
+ })), React.createElement(OptionsWrapper$1, null, React.createElement(InnerOptionsWrapper, null, React.createElement(SellDescription, null, "Click on item in inventory to sell it"), React.createElement(Flex$2, null, React.createElement(ItemSlot, {
15584
+ slotIndex: 0,
15518
15585
  atlasIMG: atlasIMG,
15519
- atlasJSON: atlasJSON
15520
- }), React.createElement(ItemsContainer, {
15521
- className: "item-container-body"
15522
- }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
15523
- quantity: quantitySelect.maxQuantity,
15524
- onConfirm: function onConfirm(quantity) {
15525
- quantitySelect.callback(quantity);
15526
- setQuantitySelect({
15527
- isOpen: false,
15528
- maxQuantity: 1,
15529
- callback: function callback() {}
15530
- });
15586
+ atlasJSON: atlasJSON,
15587
+ onPointerDown: function onPointerDown(_, __, item) {
15588
+ return onSelectedItemToSellRemove(item);
15531
15589
  },
15532
- onClose: function onClose() {
15533
- quantitySelect.callback(-1);
15534
- setQuantitySelect({
15535
- isOpen: false,
15536
- maxQuantity: 1,
15537
- callback: function callback() {}
15538
- });
15590
+ item: selectedItemToSell
15591
+ }), React.createElement(PriceInputWrapper, null, React.createElement("p", null, "Enter price"), React.createElement(Flex$2, null, React.createElement(Input, {
15592
+ onChange: function onChange(e) {
15593
+ setPrice(e.target.value);
15594
+ },
15595
+ value: price,
15596
+ placeholder: "Enter price...",
15597
+ type: "number",
15598
+ disabled: !selectedItemToSell,
15599
+ onBlur: enableHotkeys,
15600
+ onFocus: disableHotkeys
15601
+ }), React.createElement(Button, {
15602
+ buttonType: ButtonTypes.RPGUIButton,
15603
+ disabled: !selectedItemToSell || !price,
15604
+ onPointerDown: function onPointerDown() {
15605
+ if (selectedItemToSell && price && Number(price)) {
15606
+ setIsCreatingOffer(true);
15607
+ }
15608
+ }
15609
+ }, "Create offer"))))), React.createElement(InnerOptionsWrapper, null, React.createElement(AvailableGold, {
15610
+ "$disabled": availableGold === 0
15611
+ }, React.createElement("p", null, "Available gold"), React.createElement("p", {
15612
+ className: "center"
15613
+ }, "$", availableGold), React.createElement(Button, {
15614
+ buttonType: ButtonTypes.RPGUIButton,
15615
+ disabled: availableGold === 0,
15616
+ onPointerDown: function onPointerDown() {
15617
+ return availableGold > 0 && onMoneyWithdraw();
15618
+ }
15619
+ }, "Withdraw")))), React.createElement(ItemComponentScrollWrapper$1, {
15620
+ id: "MarketContainer",
15621
+ ref: itemsContainer
15622
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
15623
+ var item = _ref2.item,
15624
+ price = _ref2.price,
15625
+ _id = _ref2._id;
15626
+ return React.createElement(MarketplaceRows, {
15627
+ key: item.key + "_" + index,
15628
+ atlasIMG: atlasIMG,
15629
+ atlasJSON: atlasJSON,
15630
+ item: item,
15631
+ itemPrice: price,
15632
+ equipmentSet: equipmentSet,
15633
+ onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
15634
+ });
15635
+ })));
15636
+ };
15637
+ var Flex$2 = /*#__PURE__*/styled.div.withConfig({
15638
+ displayName: "ManagmentPanel__Flex",
15639
+ componentId: "sc-1yyi6jn-0"
15640
+ })(["display:flex;gap:5px;align-items:center;"]);
15641
+ var InputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15642
+ displayName: "ManagmentPanel__InputWrapper",
15643
+ componentId: "sc-1yyi6jn-1"
15644
+ })(["width:95%;display:flex !important;justify-content:flex-start;align-items:center;margin:auto;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15645
+ var OptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15646
+ displayName: "ManagmentPanel__OptionsWrapper",
15647
+ componentId: "sc-1yyi6jn-2"
15648
+ })(["width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;"]);
15649
+ var InnerOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15650
+ displayName: "ManagmentPanel__InnerOptionsWrapper",
15651
+ componentId: "sc-1yyi6jn-3"
15652
+ })(["display:flex;justify-content:space-between;flex-direction:column;height:100%;"]);
15653
+ var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15654
+ displayName: "ManagmentPanel__ItemComponentScrollWrapper",
15655
+ componentId: "sc-1yyi6jn-4"
15656
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15657
+ var PriceInputWrapper = /*#__PURE__*/styled.div.withConfig({
15658
+ displayName: "ManagmentPanel__PriceInputWrapper",
15659
+ componentId: "sc-1yyi6jn-5"
15660
+ })(["p{margin:0;}input{width:200px;}"]);
15661
+ var SellDescription = /*#__PURE__*/styled.p.withConfig({
15662
+ displayName: "ManagmentPanel__SellDescription",
15663
+ componentId: "sc-1yyi6jn-6"
15664
+ })(["margin:0;font-size:", " !important;"], uiFonts.size.xsmall);
15665
+ var AvailableGold = /*#__PURE__*/styled.div.withConfig({
15666
+ displayName: "ManagmentPanel__AvailableGold",
15667
+ componentId: "sc-1yyi6jn-7"
15668
+ })(["height:100%;display:flex;flex-direction:column;justify-content:space-between;p{margin:0;color:", " !important;}.center{text-align:center;font-size:", " !important;color:", " !important;}"], function (props) {
15669
+ return props.$disabled ? uiColors.lightGray : 'white';
15670
+ }, uiFonts.size.large, function (props) {
15671
+ return props.$disabled ? uiColors.lightGray : uiColors.lightGreen;
15672
+ });
15673
+
15674
+ var Marketplace = function Marketplace(props) {
15675
+ var onClose = props.onClose,
15676
+ scale = props.scale,
15677
+ onYourPanelToggle = props.onYourPanelToggle;
15678
+ var _useState = useState(false),
15679
+ isYourPanel = _useState[0],
15680
+ setIsYourPanel = _useState[1];
15681
+ return React.createElement(DraggableContainer, {
15682
+ type: RPGUIContainerTypes.Framed,
15683
+ onCloseButton: function onCloseButton() {
15684
+ if (onClose) onClose();
15685
+ },
15686
+ width: "800px",
15687
+ cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
15688
+ scale: scale
15689
+ }, isYourPanel && React.createElement(React.Fragment, null, React.createElement(ManagmentPanel, Object.assign({}, props)), React.createElement(PagerContainer$1, null, React.createElement(Button, {
15690
+ buttonType: ButtonTypes.RPGUIButton,
15691
+ onPointerDown: function onPointerDown() {
15692
+ onYourPanelToggle(false);
15693
+ setIsYourPanel(false);
15694
+ }
15695
+ }, "Go to marketplace"), React.createElement(Pager, Object.assign({}, props)))), !isYourPanel && React.createElement(React.Fragment, null, React.createElement(BuyPanel, Object.assign({}, props)), React.createElement(PagerContainer$1, null, React.createElement(Button, {
15696
+ buttonType: ButtonTypes.RPGUIButton,
15697
+ onPointerDown: function onPointerDown() {
15698
+ onYourPanelToggle(true);
15699
+ setIsYourPanel(true);
15700
+ }
15701
+ }, "Go to your panel"), React.createElement(Pager, Object.assign({}, props)))));
15702
+ };
15703
+ var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
15704
+ displayName: "Marketplace__PagerContainer",
15705
+ componentId: "sc-h904b1-0"
15706
+ })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
15707
+
15708
+ var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15709
+
15710
+ 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';
15711
+
15712
+ var ImgSide;
15713
+ (function (ImgSide) {
15714
+ ImgSide["right"] = "right";
15715
+ ImgSide["left"] = "left";
15716
+ })(ImgSide || (ImgSide = {}));
15717
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
15718
+ var _textAndTypeArray$sli;
15719
+ var _onClose = _ref.onClose,
15720
+ textAndTypeArray = _ref.textAndTypeArray;
15721
+ var _useState = useState(false),
15722
+ showGoNextIndicator = _useState[0],
15723
+ setShowGoNextIndicator = _useState[1];
15724
+ var _useState2 = useState(0),
15725
+ slide = _useState2[0],
15726
+ setSlide = _useState2[1];
15727
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15728
+ if (event.code === 'Space') {
15729
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15730
+ setSlide(function (prev) {
15731
+ return prev + 1;
15732
+ });
15733
+ } else {
15734
+ // if there's no more text chunks, close the dialog
15735
+ _onClose();
15736
+ }
15737
+ }
15738
+ };
15739
+ useEffect(function () {
15740
+ document.addEventListener('keydown', onHandleSpacePress);
15741
+ return function () {
15742
+ return document.removeEventListener('keydown', onHandleSpacePress);
15743
+ };
15744
+ }, [slide]);
15745
+ return React.createElement(RPGUIContainer, {
15746
+ type: RPGUIContainerTypes.FramedGold,
15747
+ width: '50%',
15748
+ height: '180px'
15749
+ }, React.createElement(React.Fragment, null, React.createElement(Container$i, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
15750
+ flex: '70%'
15751
+ }, React.createElement(NPCDialogText, {
15752
+ onStartStep: function onStartStep() {
15753
+ return setShowGoNextIndicator(false);
15754
+ },
15755
+ onEndStep: function onEndStep() {
15756
+ return setShowGoNextIndicator(true);
15757
+ },
15758
+ text: textAndTypeArray[slide].text || 'No text provided.',
15759
+ onClose: function onClose() {
15760
+ if (_onClose) {
15761
+ _onClose();
15762
+ }
15763
+ }
15764
+ })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15765
+ src: textAndTypeArray[slide].imagePath || img$5
15766
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15767
+ right: '10.5rem',
15768
+ src: img$6
15769
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15770
+ src: textAndTypeArray[slide].imagePath || img$5
15771
+ })), React.createElement(TextContainer, {
15772
+ flex: '70%'
15773
+ }, React.createElement(NPCDialogText, {
15774
+ onStartStep: function onStartStep() {
15775
+ return setShowGoNextIndicator(false);
15776
+ },
15777
+ onEndStep: function onEndStep() {
15778
+ return setShowGoNextIndicator(true);
15779
+ },
15780
+ text: textAndTypeArray[slide].text || 'No text provided.',
15781
+ onClose: function onClose() {
15782
+ if (_onClose) {
15783
+ _onClose();
15784
+ }
15785
+ }
15786
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15787
+ right: '1rem',
15788
+ src: img$6
15789
+ }))), ")"));
15790
+ };
15791
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15792
+ displayName: "NPCMultiDialog__Container",
15793
+ componentId: "sc-rvu5wg-0"
15794
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15795
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
15796
+ displayName: "NPCMultiDialog__TextContainer",
15797
+ componentId: "sc-rvu5wg-1"
15798
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15799
+ var flex = _ref2.flex;
15800
+ return flex;
15801
+ });
15802
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15803
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15804
+ componentId: "sc-rvu5wg-2"
15805
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15806
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15807
+ displayName: "NPCMultiDialog__NPCThumbnail",
15808
+ componentId: "sc-rvu5wg-3"
15809
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15810
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15811
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15812
+ componentId: "sc-rvu5wg-4"
15813
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15814
+ var right = _ref3.right;
15815
+ return right;
15816
+ });
15817
+
15818
+ //@ts-ignore
15819
+ var useEventListener = function useEventListener(type, handler, el) {
15820
+ if (el === void 0) {
15821
+ el = window;
15822
+ }
15823
+ var savedHandler = React.useRef();
15824
+ React.useEffect(function () {
15825
+ savedHandler.current = handler;
15826
+ }, [handler]);
15827
+ React.useEffect(function () {
15828
+ //@ts-ignore
15829
+ var listener = function listener(e) {
15830
+ return savedHandler.current(e);
15831
+ };
15832
+ el.addEventListener(type, listener);
15833
+ return function () {
15834
+ el.removeEventListener(type, listener);
15835
+ };
15836
+ }, [type, el]);
15837
+ };
15838
+
15839
+ var DynamicText = function DynamicText(_ref) {
15840
+ var text = _ref.text,
15841
+ onFinish = _ref.onFinish,
15842
+ onStart = _ref.onStart;
15843
+ var _useState = useState(''),
15844
+ textState = _useState[0],
15845
+ setTextState = _useState[1];
15846
+ useEffect(function () {
15847
+ var i = 0;
15848
+ var interval = setInterval(function () {
15849
+ // on every interval, show one more character
15850
+ if (i === 0) {
15851
+ if (onStart) {
15852
+ onStart();
15853
+ }
15854
+ }
15855
+ if (i < text.length) {
15856
+ setTextState(text.substring(0, i + 1));
15857
+ i++;
15858
+ } else {
15859
+ clearInterval(interval);
15860
+ if (onFinish) {
15861
+ onFinish();
15862
+ }
15863
+ }
15864
+ }, 50);
15865
+ return function () {
15866
+ clearInterval(interval);
15867
+ };
15868
+ }, [text]);
15869
+ return React.createElement(TextContainer$1, null, textState);
15870
+ };
15871
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15872
+ displayName: "DynamicText__TextContainer",
15873
+ componentId: "sc-1ggl9nd-0"
15874
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15875
+
15876
+ var QuestionDialog = function QuestionDialog(_ref) {
15877
+ var questions = _ref.questions,
15878
+ answers = _ref.answers,
15879
+ onClose = _ref.onClose;
15880
+ var _useState = useState(questions[0]),
15881
+ currentQuestion = _useState[0],
15882
+ setCurrentQuestion = _useState[1];
15883
+ var _useState2 = useState(false),
15884
+ canShowAnswers = _useState2[0],
15885
+ setCanShowAnswers = _useState2[1];
15886
+ var onGetFirstAnswer = function onGetFirstAnswer() {
15887
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15888
+ return null;
15889
+ }
15890
+ var firstAnswerId = currentQuestion.answerIds[0];
15891
+ return answers.find(function (answer) {
15892
+ return answer.id === firstAnswerId;
15893
+ });
15894
+ };
15895
+ var _useState3 = useState(onGetFirstAnswer()),
15896
+ currentAnswer = _useState3[0],
15897
+ setCurrentAnswer = _useState3[1];
15898
+ useEffect(function () {
15899
+ setCurrentAnswer(onGetFirstAnswer());
15900
+ }, [currentQuestion]);
15901
+ var onGetAnswers = function onGetAnswers(answerIds) {
15902
+ return answerIds.map(function (answerId) {
15903
+ return answers.find(function (answer) {
15904
+ return answer.id === answerId;
15905
+ });
15906
+ });
15907
+ };
15908
+ var onKeyPress = function onKeyPress(e) {
15909
+ switch (e.key) {
15910
+ case 'ArrowDown':
15911
+ // select next answer, if any.
15912
+ // if no next answer, select first answer
15913
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15914
+ // (answer) => answer?.id === currentAnswer!.id + 1
15915
+ // );
15916
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15917
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15918
+ });
15919
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15920
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15921
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
15922
+ });
15923
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15924
+ break;
15925
+ case 'ArrowUp':
15926
+ // select previous answer, if any.
15927
+ // if no previous answer, select last answer
15928
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15929
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15930
+ });
15931
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15932
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15933
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
15934
+ });
15935
+ if (previousAnswer) {
15936
+ setCurrentAnswer(previousAnswer);
15937
+ } else {
15938
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15939
+ }
15940
+ break;
15941
+ case 'Enter':
15942
+ setCanShowAnswers(false);
15943
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15944
+ onClose();
15945
+ return;
15946
+ } else {
15947
+ setCurrentQuestion(questions.find(function (question) {
15948
+ return question.id === currentAnswer.nextQuestionId;
15949
+ }));
15950
+ }
15951
+ break;
15539
15952
  }
15540
- }))));
15541
- };
15542
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15543
- displayName: "ItemContainer__ItemsContainer",
15544
- componentId: "sc-15y5p9l-0"
15545
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15546
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15547
- displayName: "ItemContainer__QuantitySelectorContainer",
15548
- componentId: "sc-15y5p9l-1"
15549
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15550
-
15551
- var ItemSelector = function ItemSelector(_ref) {
15552
- var atlasIMG = _ref.atlasIMG,
15553
- atlasJSON = _ref.atlasJSON,
15554
- options = _ref.options,
15555
- onClose = _ref.onClose,
15556
- onSelect = _ref.onSelect;
15557
- var _useState = useState(),
15558
- selectedValue = _useState[0],
15559
- setSelectedValue = _useState[1];
15560
- var handleClick = function handleClick() {
15561
- var element = document.querySelector("input[name='test']:checked");
15562
- var elementValue = element.value;
15563
- setSelectedValue(elementValue);
15564
15953
  };
15565
- useEffect(function () {
15566
- if (selectedValue) {
15567
- onSelect(selectedValue);
15568
- }
15569
- }, [selectedValue]);
15570
- return React.createElement(DraggableContainer, {
15571
- type: RPGUIContainerTypes.Framed,
15572
- width: "500px",
15573
- cancelDrag: ".equipment-container-body .arrow-selector",
15574
- onCloseButton: function onCloseButton() {
15575
- if (onClose) {
15576
- onClose();
15577
- }
15954
+ useEventListener('keydown', onKeyPress);
15955
+ var onAnswerClick = function onAnswerClick(answer) {
15956
+ setCanShowAnswers(false);
15957
+ if (answer.nextQuestionId) {
15958
+ // if there is a next question, go to it
15959
+ setCurrentQuestion(questions.find(function (question) {
15960
+ return question.id === answer.nextQuestionId;
15961
+ }));
15962
+ } else {
15963
+ // else, finish dialog!
15964
+ onClose();
15578
15965
  }
15579
- }, React.createElement("div", {
15580
- style: {
15581
- width: '100%'
15966
+ };
15967
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15968
+ var answerIds = currentQuestion.answerIds;
15969
+ if (!answerIds) {
15970
+ return null;
15582
15971
  }
15583
- }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15584
- className: "golden"
15585
- })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15586
- return React.createElement(RadioOptionsWrapper$1, {
15587
- key: index
15588
- }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15589
- atlasIMG: atlasIMG,
15590
- atlasJSON: atlasJSON,
15591
- spriteKey: option.imageKey,
15592
- imgScale: 3
15593
- })), React.createElement("div", null, React.createElement("input", {
15594
- className: "rpgui-radio",
15595
- type: "radio",
15596
- value: option.name,
15597
- name: "test"
15598
- }), React.createElement("label", {
15599
- onPointerDown: handleClick,
15600
- style: {
15601
- display: 'flex',
15602
- alignItems: 'center'
15603
- }
15604
- }, option.name, " ", React.createElement("br", null), option.description)));
15605
- })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15606
- buttonType: ButtonTypes.RPGUIButton,
15607
- onPointerDown: onClose
15608
- }, "Cancel"), React.createElement(Button, {
15609
- buttonType: ButtonTypes.RPGUIButton
15610
- }, "Select")));
15611
- };
15612
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15613
- displayName: "ItemSelector__Title",
15614
- componentId: "sc-gptoxp-0"
15615
- })(["font-size:0.6rem;color:yellow !important;"]);
15616
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15617
- displayName: "ItemSelector__Subtitle",
15618
- componentId: "sc-gptoxp-1"
15619
- })(["font-size:0.4rem;color:yellow !important;"]);
15620
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15621
- displayName: "ItemSelector__RadioInputScroller",
15622
- componentId: "sc-gptoxp-2"
15623
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15624
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15625
- displayName: "ItemSelector__SpriteAtlasWrapper",
15626
- componentId: "sc-gptoxp-3"
15627
- })(["margin-right:40px;"]);
15628
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15629
- displayName: "ItemSelector__RadioOptionsWrapper",
15630
- componentId: "sc-gptoxp-4"
15631
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15632
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15633
- displayName: "ItemSelector__ButtonWrapper",
15634
- componentId: "sc-gptoxp-5"
15635
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15636
-
15637
- var ListMenu = function ListMenu(_ref) {
15638
- var options = _ref.options,
15639
- onSelected = _ref.onSelected,
15640
- x = _ref.x,
15641
- y = _ref.y;
15642
- return React.createElement(Container$j, {
15643
- x: x,
15644
- y: y
15645
- }, React.createElement("ul", {
15646
- className: "rpgui-list-imp",
15647
- style: {
15648
- overflow: 'hidden'
15972
+ var answers = onGetAnswers(answerIds);
15973
+ if (!answers) {
15974
+ return null;
15649
15975
  }
15650
- }, options.map(function (params, index) {
15651
- return React.createElement(ListElement$1, {
15652
- key: (params == null ? void 0 : params.id) || index,
15653
- onPointerDown: function onPointerDown() {
15654
- onSelected(params == null ? void 0 : params.id);
15976
+ return answers.map(function (answer) {
15977
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15978
+ var selectedColor = isSelected ? 'yellow' : 'white';
15979
+ if (answer) {
15980
+ return React.createElement(AnswerRow, {
15981
+ key: "answer_" + answer.id
15982
+ }, React.createElement(AnswerSelectedIcon, {
15983
+ color: selectedColor
15984
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
15985
+ key: answer.id,
15986
+ onPointerDown: function onPointerDown() {
15987
+ return onAnswerClick(answer);
15988
+ },
15989
+ color: selectedColor
15990
+ }, answer.text));
15655
15991
  }
15656
- }, (params == null ? void 0 : params.text) || 'No text');
15657
- })));
15658
- };
15659
- var Container$j = /*#__PURE__*/styled.div.withConfig({
15660
- displayName: "ListMenu__Container",
15661
- componentId: "sc-i9097t-0"
15662
- })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
15663
- return props.y || 0;
15664
- }, function (props) {
15665
- return props.x || 0;
15666
- }, uiFonts.size.xsmall);
15667
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15668
- displayName: "ListMenu__ListElement",
15669
- componentId: "sc-i9097t-1"
15670
- })(["margin-right:0.5rem;"]);
15671
-
15672
- var MarketplaceRows = function MarketplaceRows(_ref) {
15673
- var atlasJSON = _ref.atlasJSON,
15674
- atlasIMG = _ref.atlasIMG,
15675
- item = _ref.item,
15676
- itemPrice = _ref.itemPrice,
15677
- equipmentSet = _ref.equipmentSet,
15678
- scale = _ref.scale,
15679
- onHandleClick = _ref.onHandleClick;
15680
- return React.createElement(MarketPlaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15681
- item: item,
15682
- atlasIMG: atlasIMG,
15683
- atlasJSON: atlasJSON,
15684
- equipmentSet: equipmentSet,
15685
- scale: scale
15686
- }, React.createElement(SpriteFromAtlas, {
15687
- atlasIMG: atlasIMG,
15688
- atlasJSON: atlasJSON,
15689
- spriteKey: getItemTextureKeyPath({
15690
- key: item.key,
15691
- stackQty: item.stackQty || 1,
15692
- texturePath: item.texturePath,
15693
- isStackable: item.isStackable
15694
- }, atlasJSON),
15695
- imgScale: 2
15696
- }))), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15697
- maxLines: 1,
15698
- maxWidth: "150px",
15699
- fontSize: "10px"
15700
- }, item.name)))), React.createElement(QuantityContainer, null, React.createElement(QuantityDisplay, null, React.createElement(TextOverlay$1, null, React.createElement(Item$1, null, React.createElement(Ellipsis, {
15701
- maxLines: 1,
15702
- maxWidth: "150px",
15703
- fontSize: "10px"
15704
- }, item.rarity))))), React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(SpriteFromAtlas, {
15705
- atlasIMG: atlasIMG,
15706
- atlasJSON: atlasJSON,
15707
- spriteKey: 'others/gold-coin-qty-4.png',
15708
- imgScale: 2
15709
- })), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15710
- maxLines: 1,
15711
- maxWidth: "150px",
15712
- fontSize: "10px"
15713
- }, "$", itemPrice)))), React.createElement(ButtonContainer$1, null, React.createElement(Button, {
15714
- buttonType: ButtonTypes.RPGUIButton,
15715
- onClick: function onClick() {
15716
- return onHandleClick(item.name);
15717
- }
15718
- }, "Buy")));
15719
- };
15720
- var MarketPlaceWrapper = /*#__PURE__*/styled.div.withConfig({
15721
- displayName: "MarketplaceRows__MarketPlaceWrapper",
15722
- componentId: "sc-wmpr1o-0"
15723
- })(["margin:auto;display:grid;grid-template-columns:35% 20% 20% 25%;&:hover{background-color:", ";}padding:0.5rem;p{font-size:0.8rem;}"], uiColors.darkGray);
15724
- var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15725
- displayName: "MarketplaceRows__ItemIconContainer",
15726
- componentId: "sc-wmpr1o-1"
15727
- })(["display:flex;justify-content:flex-start;align-items:center;"]);
15728
- var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15729
- displayName: "MarketplaceRows__SpriteContainer",
15730
- componentId: "sc-wmpr1o-2"
15731
- })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15732
- var Item$1 = /*#__PURE__*/styled.span.withConfig({
15733
- displayName: "MarketplaceRows__Item",
15734
- componentId: "sc-wmpr1o-3"
15735
- })(["color:white;text-align:center;z-index:1;width:100%;"]);
15736
- var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15737
- displayName: "MarketplaceRows__TextOverlay",
15738
- componentId: "sc-wmpr1o-4"
15739
- })(["width:100%;position:relative;"]);
15740
- var QuantityContainer = /*#__PURE__*/styled.div.withConfig({
15741
- displayName: "MarketplaceRows__QuantityContainer",
15742
- componentId: "sc-wmpr1o-5"
15743
- })(["position:relative;display:flex;min-width:100px;justify-content:center;align-items:center;"]);
15744
- var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
15745
- displayName: "MarketplaceRows__QuantityDisplay",
15746
- componentId: "sc-wmpr1o-6"
15747
- })(["font-size:", ";"], uiFonts.size.small);
15748
- var PriceValue = /*#__PURE__*/styled.div.withConfig({
15749
- displayName: "MarketplaceRows__PriceValue",
15750
- componentId: "sc-wmpr1o-7"
15751
- })(["margin-left:40px;"]);
15752
- var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15753
- displayName: "MarketplaceRows__ButtonContainer",
15754
- componentId: "sc-wmpr1o-8"
15755
- })(["margin:auto;"]);
15756
-
15757
- var Marketplace = function Marketplace(_ref) {
15758
- var items = _ref.items,
15759
- atlasIMG = _ref.atlasIMG,
15760
- atlasJSON = _ref.atlasJSON,
15761
- onClose = _ref.onClose,
15762
- optionsType = _ref.optionsType,
15763
- optionsRarity = _ref.optionsRarity,
15764
- optionsPrice = _ref.optionsPrice,
15765
- onChangeType = _ref.onChangeType,
15766
- onChangeRarity = _ref.onChangeRarity,
15767
- onChangeOrder = _ref.onChangeOrder,
15768
- onChangeNameInput = _ref.onChangeNameInput,
15769
- scale = _ref.scale,
15770
- equipmentSet = _ref.equipmentSet,
15771
- onHandleClick = _ref.onHandleClick;
15772
- return React.createElement(DraggableContainer, {
15773
- type: RPGUIContainerTypes.Framed,
15774
- onCloseButton: function onCloseButton() {
15775
- if (onClose) onClose();
15776
- },
15777
- width: "800px",
15778
- cancelDrag: "#MarketContainer",
15779
- scale: scale
15780
- }, React.createElement(React.Fragment, null, React.createElement(InputWrapper, null, React.createElement("p", null, " Search By Name"), React.createElement(Input, {
15781
- onChange: onChangeNameInput,
15782
- placeholder: 'Search...'
15783
- })), React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
15784
- options: optionsType,
15785
- onChange: onChangeType,
15786
- width: '220px'
15787
- }), React.createElement(StyledDropdown, {
15788
- options: optionsRarity,
15789
- onChange: onChangeRarity,
15790
- width: '220px'
15791
- }), React.createElement(StyledDropdown, {
15792
- options: optionsPrice,
15793
- onChange: onChangeOrder,
15794
- width: '220px'
15795
- })), React.createElement(ItemComponentScrollWrapper, {
15796
- id: "MarketContainer"
15797
- }, items == null ? void 0 : items.map(function (item, index) {
15798
- return React.createElement(MarketplaceRows, {
15799
- key: item.key + "_" + index,
15800
- atlasIMG: atlasIMG,
15801
- atlasJSON: atlasJSON,
15802
- item: item,
15803
- itemPrice: 10,
15804
- equipmentSet: equipmentSet,
15805
- onHandleClick: onHandleClick
15992
+ return null;
15806
15993
  });
15807
- }))));
15994
+ };
15995
+ return React.createElement(Container$j, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
15996
+ text: currentQuestion.text,
15997
+ onStart: function onStart() {
15998
+ return setCanShowAnswers(false);
15999
+ },
16000
+ onFinish: function onFinish() {
16001
+ return setCanShowAnswers(true);
16002
+ }
16003
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15808
16004
  };
15809
- var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15810
- displayName: "Marketplace__InputWrapper",
15811
- componentId: "sc-h904b1-0"
15812
- })(["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;}"]);
15813
- var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15814
- displayName: "Marketplace__WrapperContainer",
15815
- componentId: "sc-h904b1-1"
15816
- })(["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;}"]);
15817
- var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15818
- displayName: "Marketplace__ItemComponentScrollWrapper",
15819
- componentId: "sc-h904b1-2"
15820
- })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;"]);
15821
- var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15822
- displayName: "Marketplace__StyledDropdown",
15823
- componentId: "sc-h904b1-3"
15824
- })(["margin:3px !important;width:170px !important;"]);
16005
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
16006
+ displayName: "QuestionDialog__Container",
16007
+ componentId: "sc-bxc5u0-0"
16008
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
16009
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
16010
+ displayName: "QuestionDialog__QuestionContainer",
16011
+ componentId: "sc-bxc5u0-1"
16012
+ })(["flex:100%;width:100%;"]);
16013
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
16014
+ displayName: "QuestionDialog__AnswersContainer",
16015
+ componentId: "sc-bxc5u0-2"
16016
+ })(["flex:100%;"]);
16017
+ var Answer = /*#__PURE__*/styled.p.withConfig({
16018
+ displayName: "QuestionDialog__Answer",
16019
+ componentId: "sc-bxc5u0-3"
16020
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
16021
+ return props.color;
16022
+ });
16023
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
16024
+ displayName: "QuestionDialog__AnswerSelectedIcon",
16025
+ componentId: "sc-bxc5u0-4"
16026
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
16027
+ return props.color;
16028
+ });
16029
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
16030
+ displayName: "QuestionDialog__AnswerRow",
16031
+ componentId: "sc-bxc5u0-5"
16032
+ })(["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;}"]);
15825
16033
 
15826
16034
  var ProgressBar = function ProgressBar(_ref) {
15827
16035
  var max = _ref.max,
@@ -15849,7 +16057,7 @@ var ProgressBar = function ProgressBar(_ref) {
15849
16057
  percentageWidth: percentageWidth,
15850
16058
  minWidth: minWidth,
15851
16059
  style: style
15852
- }, displayText && React.createElement(TextOverlay$2, null, React.createElement(ProgressBarText, null, value, "/", max)), React.createElement("div", {
16060
+ }, displayText && React.createElement(TextOverlay$1, null, React.createElement(ProgressBarText, null, value, "/", max)), React.createElement("div", {
15853
16061
  className: " rpgui-progress-track"
15854
16062
  }, React.createElement("div", {
15855
16063
  className: "rpgui-progress-fill " + color + " ",
@@ -15867,7 +16075,7 @@ var ProgressBarText = /*#__PURE__*/styled.span.withConfig({
15867
16075
  displayName: "ProgressBar__ProgressBarText",
15868
16076
  componentId: "sc-qa6fzh-0"
15869
16077
  })(["font-size:", " !important;color:white;text-align:center;z-index:1;position:absolute;left:50%;transform:translateX(-50%);top:12px;"], uiFonts.size.small);
15870
- var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
16078
+ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15871
16079
  displayName: "ProgressBar__TextOverlay",
15872
16080
  componentId: "sc-qa6fzh-1"
15873
16081
  })(["width:100%;position:relative;"]);
@@ -15882,7 +16090,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
15882
16090
  return props.style;
15883
16091
  });
15884
16092
 
15885
- var img$8 = 'data:image/png;base64,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';
16093
+ var img$7 = 'data:image/png;base64,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';
15886
16094
 
15887
16095
  var QuestInfo = function QuestInfo(_ref) {
15888
16096
  var quests = _ref.quests,
@@ -15926,7 +16134,7 @@ var QuestInfo = function QuestInfo(_ref) {
15926
16134
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15927
16135
  className: "drag-handler"
15928
16136
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15929
- src: quests[currentIndex].thumbnail || img$8
16137
+ src: quests[currentIndex].thumbnail || img$7
15930
16138
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15931
16139
  className: "golden"
15932
16140
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -15945,7 +16153,7 @@ var QuestInfo = function QuestInfo(_ref) {
15945
16153
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15946
16154
  className: "drag-handler"
15947
16155
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15948
- src: quests[0].thumbnail || img$8
16156
+ src: quests[0].thumbnail || img$7
15949
16157
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15950
16158
  className: "golden"
15951
16159
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -16541,13 +16749,13 @@ var Statistic$1 = /*#__PURE__*/styled.div.withConfig({
16541
16749
  var SpellInfoDisplay = function SpellInfoDisplay(_ref) {
16542
16750
  var spell = _ref.spell,
16543
16751
  isMobile = _ref.isMobile;
16544
- return React.createElement(Flex$1, {
16752
+ return React.createElement(Flex$3, {
16545
16753
  "$isMobile": isMobile
16546
16754
  }, React.createElement(SpellInfo, {
16547
16755
  spell: spell
16548
16756
  }));
16549
16757
  };
16550
- var Flex$1 = /*#__PURE__*/styled.div.withConfig({
16758
+ var Flex$3 = /*#__PURE__*/styled.div.withConfig({
16551
16759
  displayName: "SpellInfoDisplay__Flex",
16552
16760
  componentId: "sc-1htnsmm-0"
16553
16761
  })(["display:flex;gap:0.5rem;flex-direction:", ";@media (max-width:580px){flex-direction:column-reverse;align-items:center;}"], function (_ref2) {
@@ -16692,7 +16900,6 @@ var Spell = function Spell(_ref) {
16692
16900
  return React.createElement(SpellInfoWrapper, {
16693
16901
  spell: spell
16694
16902
  }, React.createElement(Container$p, {
16695
- disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16696
16903
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16697
16904
  isSettingShortcut: isSettingShortcut && !disabled,
16698
16905
  className: "spell"
@@ -16763,17 +16970,6 @@ var Spellbook = function Spellbook(_ref) {
16763
16970
  var _useState2 = useState(-1),
16764
16971
  settingShortcutIndex = _useState2[0],
16765
16972
  setSettingShortcutIndex = _useState2[1];
16766
- useEffect(function () {
16767
- var handleEscapeClose = function handleEscapeClose(e) {
16768
- if (e.key === 'Escape') {
16769
- onClose == null ? void 0 : onClose();
16770
- }
16771
- };
16772
- document.addEventListener('keydown', handleEscapeClose);
16773
- return function () {
16774
- document.removeEventListener('keydown', handleEscapeClose);
16775
- };
16776
- }, [onClose]);
16777
16973
  var spellsToDisplay = useMemo(function () {
16778
16974
  return spells.sort(function (a, b) {
16779
16975
  if (a.minMagicLevelRequired > b.minMagicLevelRequired) return 1;
@@ -16842,16 +17038,16 @@ var TextArea = function TextArea(_ref) {
16842
17038
  return React.createElement("textarea", Object.assign({}, props));
16843
17039
  };
16844
17040
 
16845
- var img$9 = 'data:image/gif;base64,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';
17041
+ var img$8 = 'data:image/gif;base64,R0lGODlhTgBNAPMAAAAAALcIL7ObdNGqnf3vnP/wl93Goerfx/Xx3vr6+vn49QAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlAMFm5ybmZV2KHh0naWcepYlo22mradzqUUClK61nJSxIJiMrgm+v664oSKrXqa/yMmmbrkexVXHydK+y2bNULON0dPTppLXGs9UpdzlCaVt4FpsZuTm5ejWwx3iU53v753p89jtnPj49JVRZ2ELgoMHoP0DaE6gF4JjBByciCChEncMucV7yC+DQYoI/y8uzAjvFUddEkGGRHKPZMlN8lCqXGmgpctuJs90XDdzpc2bynJWgSjh40yLP4ECE1pHZs8DB5MqPcd0ClEARlVCjTpy6kadTrWC7KpU4NaDVndeyNqTa4GpSzedBblHbcGUbSmSddlprsokV7HizYtAKsO+hBEYCCw48UTD+RAnZsw2L0aApfy2pTw48eWGczX3ZNzYsdtNAf2KVkm6tOnC2+JqXg2ytWBStiSLzWv7dh5XBHS/Pti7nj9TW2kT7u1bT03dB5SPtuuMnfMkqqXXpl79uhLR2icyj+gdSfjN3FF6Pz89kXU3itnPHO/xfXlm6VXZv3+ShnH+gOUnikAUAFpFny7/XYeGGBOssR8qQjBYQRQPpoOGgHc4WOEeYGAYB4VBBDGEhMTkYCKJKKao4oostujiizDGKOOMF0QAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6BaChoHpMdieec6KqoXqcRQKaq7Khmq4gmI2zurSUth6oZbMJw8Szc74dwF2rxM3Oq27IG7iGzM7Xw6uT0hnKVNbY2NBm3Bfe36Lh6gmq0aa/bGaq6+vt5O/J8cGh9PSibeUqbEGA4MAyfv38sSoTcMJAggQNTkmXsN5Chvg0PIRYcMm8iur/7HlpCGAjR4lIKIIMefFMxm4COEJEaUDlSnEtq5A0eTKJzZvPcta5FVNmRJ8IgV77h5Go0YgEayZV2ozpyJdaiho9APEnVXZCp+zUepLjx69gF3KFuGTsU6Negf5bazSJ27dmp1IVRfdpqRA838YFyRcvRJISAj89e1NV37eIS5I1zLiiY8OHscLEnFevP7oFHkPWvJkzwcohH4s2GjnxZMyol4peLbO161SyloKiTZug7du4dREobLo26Wn6gs9a29vwb+B5ls9s/vS5w+R0Lp+kztH6dVJTVnP3ffzDOTrjR7c43yZ99fIi2FdBYMA9a/ivwIP3jlx/Hv5QYOefQUtxSDGgTgCaJx8paIhxnYH+geGgQEYIGA0a+NFQIYRngJGhGlEEIeIQE8aXw4klpqjiiiy26OKLMMYo44w0XhABACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6n2d2J555BaanpqCcRQKaf6iwp64DqyCYk7G5spq1HqRmusGndL0dv166CcrLunPFG7eLscvU1bGUzxnHVdPV3sqxbtkX21Td39/hbeMV5VOw6PEJsOKivmzAqPLy9GbsYwIQHCijbx+/Yf7sQQmIoOFAc6cMGkS1TqGGLQ0zPlxSUGI8ign/bTHMKJBjR4/pQHr5BwAjyZJKTqJMmaoMS5cvNxqQOdMawpUWtY0kqZNnT2Y/Q4l86bAhEqNH5yWtcnOoxow7I0b1plLpB5xXSUI9qvIAyT1BtVhligDeVqTDzLJlkpbcWrZjUVKUyxaBAZYt777M6xEV376AA/cdrHXr3sUNE4Nd7JasYciR66rFnLGyXr4GDiPWvJnzOYkFRItmmljCZMqe+a1e/bK1a3z5CM+jLXCx7dtzklFTcJlzbdIXcbcRVpw35N/A6TDne8A5W+gT3HXRpdo6SezZlUuHRdt75hriQZkf3UJ7m/XXkYtwX8UvfNbyWYFSlZ8E/f1LgGdMRXoAUtXfKFIUSJWAtvyXBxpihJcggGBE2I4RBK6DxoF9rDHhGWBwSEQPQZQ4hIXz5aAiiiy26OKLMMYo44w01mjjjRdEAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeeQWmp6agnEUCmn+osKeuA6sgmJOxubKatR6kZrrBp3S9Hb9eugnKy7pzxRu3i7HL1NWxlM8Zx1XT1d7KsW7ZF9tU3d/f4W3jFeVTsOjxCbDior5swKjy8vRm7GMCEBwoo28fv2H+7EEJiKDhQHOnDBpEtU6hhi0NMz5cUlBiPIoJ/20xzCiQY0eP6UB6+QcAI8mSSk6iTJmqDEuXLzcakDnTGsKVFrWNJKmTZ09mP0OJfOmwIRKjR+clrXJzqMaMOyNG9aZS6QecV0lCParyAMk9QbVYZYoA3lakw8yyZZKW3Fq2Y1FSlMsWgQGWLe++zOsRFd++gAP3Hax1697FDRODXeyWrGHIkeuqxZyxsl6+Bg4j1ryZ8zmJBUSLZppYwmTKnvmtXv2ytWt8+QjPoy1wse3bc5JRU3CZc23SF3G3EVacN+TfwOkw53vAOVvoE9x10aXaOkns2ZVLh0Xbe+Ya4kGZH91Ce5v115GLcF/FL3zW8lmBUpWfBP39S4BnTEV6AFLV3yhSFEiVgLb8lwcaYoSXIIBgRNiOEQSug8aBfawx4RlgcEhED0GUOISF8+WgIoostujiizDGKOOMNNZo440XRAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZSZjZYmeHoFoKGgekx2J55zoqqhepxFApqrsqGariCYjbO6tJS2HqhlswnDxLNzvh3AXavEzc6rbsgbuIbMztfDq5PSGcpU1tjY0GbcF97fouHqCarRpr9sZqrr6+3k78nxwaH09KJt5SpsQYDgwDJ+/fyxKhNwwkCCBA1OSZew3kKG+DQ8hFhwybyK6v/seWkIYCNHiUgoggx58UzGbgI4QkRpQOVKcS2rkDR5MonNm89y1rkVU2ZEnwiBXvuHkajRiARrJlXajOnIl1qKGj0A8SdVdkKn7NR6kuPHr2AXcoW4ZOxTo16B/ltrNInbt2anUhVF92mpEDzfxgXJFy9EkhICPz17U1Xft4hLkjXMuKJjw4exwsTctbI/ugUeQ9a8mTMCcJ9lijYaOfFkyp6Xil4ts7XrVLKWgqJNm6Dt27h1EShsujbpafqCz1rb2/Bv4HmWz2z+9LnD5HQun6TO0fp1UlNWc/d9/MM5OuNHtzjfJn318iLYV0FgwD1r+K/Ag/eOXH8e/lBg559BS3FIMaBOAJonHyloiHGdgf6B4aBARggYDRr40VAhhGeAkaEaUQQh4hATxpfDiSWmqOKKLLbo4oswxijjjDReEAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZQDBZucm5mVdih4dJ2lnHqWJaNtpq2nc6lFApSutZyUsSCYjK4Jvr+uuKEiq16mv8jJpm65HsVVx8nSvstmzVCzjdHT06aS1xrPVKXc5QmlbeBabGbk5uXo1sMd4lOd7++d6fPY7Zz4+PSVUWdhC4KDB6D9A2hOoBeCYwQcnIggoRJ3DLnFe8gvg0GKCP8vLswI7xVHXRJBhkRyj2TJTfJQqlxpoKXLbibPdFw3c6XNm8pyVoEo4eNMiz+BAhNaR2bPAweTKj3HdApRAEZVQo06cupGnU61guyqVODWg1Z3Xsjak2uBqUs3nQW5R23BlG0pknXZaa7KJFex4s2LQCrDvoQRGAgsOPFEw/kQJ2bMNi9GgKX8tqU8OPHlhnM192Tc2LHbTQH9ilZJurTpwtvial4NsrVgUrYki81r+3YeVwR0vz7Yu54/U1tpE+7tW09N3QeUj7brjJ3zJKql16Ze/boS0donMo/oHUn4zdxRej8/PZF1N4rZzxzv8X15ZulV2b9/koZx/oDlJ4pAFABaRZ8u/12HhhgTrLEfKkIwWEEUD6aDhoB3OFjhHmBgGAeFQQQxhITE5GAiiSimqOKKLLbo4oswxijjjBdEAAA7';
16846
17042
 
16847
- var img$a = 'data:image/gif;base64,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';
17043
+ var img$9 = 'data:image/gif;base64,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';
16848
17044
 
16849
- var img$b = 'data:image/gif;base64,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';
17045
+ var img$a = '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==';
16850
17046
 
16851
17047
  var DayNightPeriod = function DayNightPeriod(_ref) {
16852
17048
  var _periodOfDaySrcFiles;
16853
17049
  var periodOfDay = _ref.periodOfDay;
16854
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
17050
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16855
17051
  return React.createElement(GifContainer, null, React.createElement("img", {
16856
17052
  src: periodOfDaySrcFiles[periodOfDay]
16857
17053
  }));
@@ -16861,7 +17057,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16861
17057
  componentId: "sc-10t97fw-0"
16862
17058
  })(["width:100%;img{width:67%;}"]);
16863
17059
 
16864
- 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';
17060
+ 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';
16865
17061
 
16866
17062
  var TimeWidget = function TimeWidget(_ref) {
16867
17063
  var onClose = _ref.onClose,
@@ -16879,7 +17075,7 @@ var TimeWidget = function TimeWidget(_ref) {
16879
17075
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16880
17076
  displayName: "TimeWidget__WidgetContainer",
16881
17077
  componentId: "sc-1ja236h-0"
16882
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
17078
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16883
17079
  var Time = /*#__PURE__*/styled.div.withConfig({
16884
17080
  displayName: "TimeWidget__Time",
16885
17081
  componentId: "sc-1ja236h-1"
@@ -16944,7 +17140,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
16944
17140
  className: "arrow-selector",
16945
17141
  direction: "left",
16946
17142
  onPointerDown: onLeftClick
16947
- }), React.createElement(QuantityDisplay$1, null, React.createElement(TextOverlay$3, null, React.createElement(Item$2, null, selectedQty))), React.createElement(StyledArrow, {
17143
+ }), React.createElement(QuantityDisplay, null, React.createElement(TextOverlay$2, null, React.createElement(Item$1, null, selectedQty))), React.createElement(StyledArrow, {
16948
17144
  size: 32,
16949
17145
  className: "arrow-selector",
16950
17146
  direction: "right",
@@ -16980,11 +17176,11 @@ var NameValue = /*#__PURE__*/styled.div.withConfig({
16980
17176
  displayName: "TradingItemRow__NameValue",
16981
17177
  componentId: "sc-mja0b5-5"
16982
17178
  })(["p{font-size:0.75rem;margin:0;}"]);
16983
- var Item$2 = /*#__PURE__*/styled.span.withConfig({
17179
+ var Item$1 = /*#__PURE__*/styled.span.withConfig({
16984
17180
  displayName: "TradingItemRow__Item",
16985
17181
  componentId: "sc-mja0b5-6"
16986
17182
  })(["color:white;text-align:center;z-index:1;width:100%;"]);
16987
- var TextOverlay$3 = /*#__PURE__*/styled.div.withConfig({
17183
+ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
16988
17184
  displayName: "TradingItemRow__TextOverlay",
16989
17185
  componentId: "sc-mja0b5-7"
16990
17186
  })(["width:100%;position:relative;"]);
@@ -16992,7 +17188,7 @@ var QuantityContainer$1 = /*#__PURE__*/styled.div.withConfig({
16992
17188
  displayName: "TradingItemRow__QuantityContainer",
16993
17189
  componentId: "sc-mja0b5-8"
16994
17190
  })(["position:relative;display:flex;min-width:100px;width:40%;justify-content:center;align-items:center;flex:40%;"]);
16995
- var QuantityDisplay$1 = /*#__PURE__*/styled.div.withConfig({
17191
+ var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
16996
17192
  displayName: "TradingItemRow__QuantityDisplay",
16997
17193
  componentId: "sc-mja0b5-9"
16998
17194
  })(["font-size:", ";"], uiFonts.size.small);
@@ -17140,5 +17336,219 @@ var Container$r = /*#__PURE__*/styled.div.withConfig({
17140
17336
  return props.maxLines;
17141
17337
  });
17142
17338
 
17339
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
17340
+
17341
+ var chunkString = function chunkString(str, length) {
17342
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
17343
+ };
17344
+
17345
+ var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
17346
+
17347
+ var NPCDialogText = function NPCDialogText(_ref) {
17348
+ var text = _ref.text,
17349
+ onClose = _ref.onClose,
17350
+ onEndStep = _ref.onEndStep,
17351
+ onStartStep = _ref.onStartStep,
17352
+ type = _ref.type;
17353
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
17354
+ function maxCharacters(width) {
17355
+ // Set the font size to 16 pixels
17356
+ var fontSize = 11.2;
17357
+ // Calculate the number of characters that can fit in one line
17358
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
17359
+ // Calculate the number of lines that can fit in the div
17360
+ var linesPerDiv = Math.floor(180 / fontSize);
17361
+ // Calculate the maximum number of characters that can fit in the div
17362
+ var maxCharacters = charactersPerLine * linesPerDiv;
17363
+ // Return the maximum number of characters
17364
+ return Math.round(maxCharacters / 5);
17365
+ }
17366
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
17367
+ var _useState = useState(0),
17368
+ chunkIndex = _useState[0],
17369
+ setChunkIndex = _useState[1];
17370
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17371
+ if (event.code === 'Space') {
17372
+ goToNextStep();
17373
+ }
17374
+ };
17375
+ var goToNextStep = function goToNextStep() {
17376
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
17377
+ if (hasNextChunk) {
17378
+ setChunkIndex(function (prev) {
17379
+ return prev + 1;
17380
+ });
17381
+ } else {
17382
+ // if there's no more text chunks, close the dialog
17383
+ onClose();
17384
+ }
17385
+ };
17386
+ useEffect(function () {
17387
+ document.addEventListener('keydown', onHandleSpacePress);
17388
+ return function () {
17389
+ return document.removeEventListener('keydown', onHandleSpacePress);
17390
+ };
17391
+ }, [chunkIndex]);
17392
+ var _useState2 = useState(false),
17393
+ showGoNextIndicator = _useState2[0],
17394
+ setShowGoNextIndicator = _useState2[1];
17395
+ return React.createElement(Container$s, null, React.createElement(DynamicText, {
17396
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
17397
+ onFinish: function onFinish() {
17398
+ setShowGoNextIndicator(true);
17399
+ onEndStep && onEndStep();
17400
+ },
17401
+ onStart: function onStart() {
17402
+ setShowGoNextIndicator(false);
17403
+ onStartStep && onStartStep();
17404
+ }
17405
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
17406
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
17407
+ src: IS_MOBILE_OR_TABLET ? img$c : img$6,
17408
+ onPointerDown: function onPointerDown() {
17409
+ goToNextStep();
17410
+ }
17411
+ }));
17412
+ };
17413
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
17414
+ displayName: "NPCDialogText__Container",
17415
+ componentId: "sc-1cxkdh9-0"
17416
+ })([""]);
17417
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
17418
+ displayName: "NPCDialogText__PressSpaceIndicator",
17419
+ componentId: "sc-1cxkdh9-1"
17420
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
17421
+ var right = _ref2.right;
17422
+ return right;
17423
+ });
17424
+
17425
+ var NPCDialogType;
17426
+ (function (NPCDialogType) {
17427
+ NPCDialogType["TextOnly"] = "TextOnly";
17428
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
17429
+ })(NPCDialogType || (NPCDialogType = {}));
17430
+ var NPCDialog = function NPCDialog(_ref) {
17431
+ var text = _ref.text,
17432
+ type = _ref.type,
17433
+ _onClose = _ref.onClose,
17434
+ imagePath = _ref.imagePath,
17435
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
17436
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
17437
+ questions = _ref.questions,
17438
+ answers = _ref.answers;
17439
+ return React.createElement(RPGUIContainer, {
17440
+ type: RPGUIContainerTypes.FramedGold,
17441
+ width: isQuestionDialog ? '600px' : '80%',
17442
+ height: '180px'
17443
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
17444
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17445
+ }, React.createElement(QuestionDialog, {
17446
+ questions: questions,
17447
+ answers: answers,
17448
+ onClose: function onClose() {
17449
+ if (_onClose) {
17450
+ _onClose();
17451
+ }
17452
+ }
17453
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17454
+ src: imagePath || img$5
17455
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$t, null, React.createElement(TextContainer$2, {
17456
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17457
+ }, React.createElement(NPCDialogText, {
17458
+ type: type,
17459
+ text: text || 'No text provided.',
17460
+ onClose: function onClose() {
17461
+ if (_onClose) {
17462
+ _onClose();
17463
+ }
17464
+ }
17465
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17466
+ src: imagePath || img$5
17467
+ })))));
17468
+ };
17469
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
17470
+ displayName: "NPCDialog__Container",
17471
+ componentId: "sc-1b4aw74-0"
17472
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17473
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17474
+ displayName: "NPCDialog__TextContainer",
17475
+ componentId: "sc-1b4aw74-1"
17476
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17477
+ var flex = _ref2.flex;
17478
+ return flex;
17479
+ });
17480
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17481
+ displayName: "NPCDialog__ThumbnailContainer",
17482
+ componentId: "sc-1b4aw74-2"
17483
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17484
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17485
+ displayName: "NPCDialog__NPCThumbnail",
17486
+ componentId: "sc-1b4aw74-3"
17487
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
17488
+
17489
+ var HistoryDialog = function HistoryDialog(_ref) {
17490
+ var backgroundImgPath = _ref.backgroundImgPath,
17491
+ fullCoverBackground = _ref.fullCoverBackground,
17492
+ questions = _ref.questions,
17493
+ answers = _ref.answers,
17494
+ text = _ref.text,
17495
+ imagePath = _ref.imagePath,
17496
+ textAndTypeArray = _ref.textAndTypeArray,
17497
+ onClose = _ref.onClose;
17498
+ var _useState = useState(0),
17499
+ img = _useState[0],
17500
+ setImage = _useState[1];
17501
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17502
+ if (event.code === 'Space') {
17503
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17504
+ setImage(function (prev) {
17505
+ return prev + 1;
17506
+ });
17507
+ } else {
17508
+ // if there's no more text chunks, close the dialog
17509
+ onClose();
17510
+ }
17511
+ }
17512
+ };
17513
+ useEffect(function () {
17514
+ document.addEventListener('keydown', onHandleSpacePress);
17515
+ return function () {
17516
+ return document.removeEventListener('keydown', onHandleSpacePress);
17517
+ };
17518
+ }, [backgroundImgPath]);
17519
+ return React.createElement(BackgroundContainer, {
17520
+ imgPath: backgroundImgPath[img],
17521
+ fullImg: fullCoverBackground
17522
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
17523
+ textAndTypeArray: textAndTypeArray,
17524
+ onClose: onClose
17525
+ }) : questions && answers ? React.createElement(QuestionDialog, {
17526
+ questions: questions,
17527
+ answers: answers,
17528
+ onClose: onClose
17529
+ }) : text && imagePath ? React.createElement(NPCDialog, {
17530
+ text: text,
17531
+ imagePath: imagePath,
17532
+ onClose: onClose,
17533
+ type: NPCDialogType.TextAndThumbnail
17534
+ }) : React.createElement(NPCDialog, {
17535
+ text: text,
17536
+ onClose: onClose,
17537
+ type: NPCDialogType.TextOnly
17538
+ })));
17539
+ };
17540
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17541
+ displayName: "HistoryDialog__BackgroundContainer",
17542
+ componentId: "sc-u6oe75-0"
17543
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17544
+ return props.imgPath;
17545
+ }, function (props) {
17546
+ return props.imgPath ? 'cover' : 'auto';
17547
+ });
17548
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17549
+ displayName: "HistoryDialog__DialogContainer",
17550
+ componentId: "sc-u6oe75-1"
17551
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
17552
+
17143
17553
  export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio$1 as InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, Marketplace, MarketplaceRows, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, rarityColor, useEventListener };
17144
17554
  //# sourceMappingURL=long-bow.esm.js.map