@rpg-engine/long-bow 0.4.7 → 0.4.8

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 +22 -0
  7. package/dist/components/Marketplace/ManagmentPanel.d.ts +18 -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 +1540 -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 +1594 -1217
  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 +14 -6
  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 +296 -0
  61. package/src/components/Marketplace/ManagmentPanel.tsx +247 -0
  62. package/src/components/Marketplace/Marketplace.tsx +106 -132
  63. package/src/components/Marketplace/MarketplaceRows.tsx +161 -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 +53 -42
  153. package/src/stories/MarketplaceRows.stories.tsx +28 -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
@@ -16,6 +16,7 @@ var ReactDOM = _interopDefault(require('react-dom'));
16
16
  var lodash = require('lodash');
17
17
  var mobxReactLite = require('mobx-react-lite');
18
18
  var uuid = require('uuid');
19
+ var ai = require('react-icons/ai');
19
20
  require('rpgui/rpgui.min.css');
20
21
  require('rpgui/rpgui.min.js');
21
22
  var capitalize = _interopDefault(require('lodash/capitalize'));
@@ -12351,14 +12352,14 @@ var Ellipsis = function Ellipsis(_ref) {
12351
12352
  maxWidth: maxWidth,
12352
12353
  fontSize: fontSize,
12353
12354
  center: center
12354
- }, React__default.createElement("div", {
12355
+ }, React__default.createElement("span", {
12355
12356
  className: "ellipsis-" + maxLines + "-lines"
12356
12357
  }, children));
12357
12358
  };
12358
- var Container$1 = /*#__PURE__*/styled.div.withConfig({
12359
+ var Container$1 = /*#__PURE__*/styled.span.withConfig({
12359
12360
  displayName: "Ellipsis__Container",
12360
12361
  componentId: "sc-ysrlju-0"
12361
- })([".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) {
12362
+ })(["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) {
12362
12363
  return props.maxWidth;
12363
12364
  }, function (props) {
12364
12365
  return props.fontSize;
@@ -13056,7 +13057,9 @@ var DraggableContainer = function DraggableContainer(_ref) {
13056
13057
  x: 0,
13057
13058
  y: 0
13058
13059
  } : _ref$initialPosition,
13059
- scale = _ref.scale;
13060
+ scale = _ref.scale,
13061
+ _ref$dragDisabled = _ref.dragDisabled,
13062
+ dragDisabled = _ref$dragDisabled === void 0 ? false : _ref$dragDisabled;
13060
13063
  var draggableRef = React.useRef(null);
13061
13064
  useOutsideClick(draggableRef, 'item-container');
13062
13065
  React.useEffect(function () {
@@ -13074,6 +13077,7 @@ var DraggableContainer = function DraggableContainer(_ref) {
13074
13077
  }, []);
13075
13078
  return React__default.createElement(Draggable, {
13076
13079
  cancel: ".container-close," + cancelDrag,
13080
+ disabled: dragDisabled,
13077
13081
  onDrag: function onDrag(_e, data) {
13078
13082
  if (onPositionChange) {
13079
13083
  onPositionChange({
@@ -13498,7 +13502,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
13498
13502
  y: 0
13499
13503
  });
13500
13504
  setIsFocused(false);
13501
- if (item) {
13505
+ if (item && containerType) {
13502
13506
  setContextActions(generateContextMenu(item, containerType, isDepotSystem));
13503
13507
  }
13504
13508
  }, [item, isDepotSystem]);
@@ -13614,7 +13618,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
13614
13618
  });
13615
13619
  setIsFocused(false);
13616
13620
  } else if (item) {
13617
- onDragEnd(quantity);
13621
+ onDragEnd == null ? void 0 : onDragEnd(quantity);
13618
13622
  }
13619
13623
  };
13620
13624
  return React__default.createElement(Container$a, {
@@ -13622,7 +13626,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
13622
13626
  className: "rpgui-icon empty-slot",
13623
13627
  onMouseUp: function onMouseUp() {
13624
13628
  var data = item ? item : null;
13625
- if (onPlaceDrop) onPlaceDrop(data, slotIndex, containerType);
13629
+ if (onPlaceDrop && containerType) onPlaceDrop(data, slotIndex, containerType);
13626
13630
  },
13627
13631
  onTouchEnd: function onTouchEnd(e) {
13628
13632
  var _document$elementFrom;
@@ -13636,11 +13640,15 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
13636
13640
  });
13637
13641
  (_document$elementFrom = document.elementFromPoint(clientX, clientY)) == null ? void 0 : _document$elementFrom.dispatchEvent(simulatedEvent);
13638
13642
  },
13643
+ onPointerDown: onDragStart !== undefined && onDragEnd !== undefined ? undefined : function () {
13644
+ if (item) onPointerDown(item.type, containerType != null ? containerType : null, item);
13645
+ },
13639
13646
  isSelectingShortcut: isSelectingShortcut && ((item == null ? void 0 : item.type) === shared.ItemType.Consumable || (item == null ? void 0 : item.type) === shared.ItemType.Tool)
13640
13647
  }, React__default.createElement(Draggable, {
13641
13648
  axis: isSelectingShortcut ? 'none' : 'both',
13642
13649
  defaultClassName: item ? 'draggable' : 'empty-slot',
13643
13650
  scale: dragScale,
13651
+ disabled: onDragStart === undefined || onDragEnd === undefined,
13644
13652
  onStop: function onStop(e, data) {
13645
13653
  var target = e.target;
13646
13654
  if (target != null && target.id.includes('shortcutSetter') && setItemShortcut && item) {
@@ -13674,7 +13682,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
13674
13682
  y: y
13675
13683
  });
13676
13684
  setTimeout(function () {
13677
- if (checkIfItemCanBeMoved()) {
13685
+ if (checkIfItemCanBeMoved != null && checkIfItemCanBeMoved()) {
13678
13686
  if (checkIfItemShouldDragEnd && !checkIfItemShouldDragEnd()) return;
13679
13687
  if (item.stackQty && item.stackQty !== 1 && openQuantitySelector) openQuantitySelector(item.stackQty, onSuccesfulDrag);else onSuccesfulDrag(item.stackQty);
13680
13688
  } else {
@@ -13702,14 +13710,14 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
13702
13710
  });
13703
13711
  }
13704
13712
  }
13705
- onPointerDown(item.type, containerType, item);
13713
+ onPointerDown(item.type, containerType != null ? containerType : null, item);
13706
13714
  }
13707
13715
  },
13708
13716
  onStart: function onStart() {
13709
13717
  if (!item || isSelectingShortcut) {
13710
13718
  return;
13711
13719
  }
13712
- if (onDragStart) {
13720
+ if (onDragStart && containerType) {
13713
13721
  onDragStart(item, slotIndex, containerType);
13714
13722
  }
13715
13723
  },
@@ -13725,7 +13733,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
13725
13733
  ref: dragContainer,
13726
13734
  isFocused: isFocused,
13727
13735
  onMouseOver: function onMouseOver(event) {
13728
- _onMouseOver(event, slotIndex, item, event.clientX, event.clientY);
13736
+ _onMouseOver == null ? void 0 : _onMouseOver(event, slotIndex, item, event.clientX, event.clientY);
13729
13737
  },
13730
13738
  onMouseOut: function onMouseOut() {
13731
13739
  if (_onMouseOut) _onMouseOut();
@@ -13754,7 +13762,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
13754
13762
  onSelected: function onSelected(optionId) {
13755
13763
  setIsContextMenuVisible(false);
13756
13764
  if (item) {
13757
- _onSelected(optionId, item);
13765
+ _onSelected == null ? void 0 : _onSelected(optionId, item);
13758
13766
  }
13759
13767
  }
13760
13768
  }), !isContextMenuDisabled && isContextMenuVisible && contextActions && React__default.createElement(RelativeListMenu, {
@@ -13762,7 +13770,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
13762
13770
  onSelected: function onSelected(optionId) {
13763
13771
  setIsContextMenuVisible(false);
13764
13772
  if (item) {
13765
- _onSelected(optionId, item);
13773
+ _onSelected == null ? void 0 : _onSelected(optionId, item);
13766
13774
  }
13767
13775
  },
13768
13776
  onOutsideClick: function onOutsideClick() {
@@ -14435,7 +14443,7 @@ var Dropdown = function Dropdown(_ref) {
14435
14443
  }, React__default.createElement(DropdownSelect, {
14436
14444
  id: "dropdown-" + dropdownId,
14437
14445
  className: "rpgui-dropdown-imp rpgui-dropdown-imp-header",
14438
- onPointerDown: function onPointerDown() {
14446
+ onPointerUp: function onPointerUp() {
14439
14447
  return setOpened(function (prev) {
14440
14448
  return !prev;
14441
14449
  });
@@ -14446,7 +14454,7 @@ var Dropdown = function Dropdown(_ref) {
14446
14454
  }, options.map(function (option) {
14447
14455
  return React__default.createElement("li", {
14448
14456
  key: option.id,
14449
- onPointerDown: function onPointerDown() {
14457
+ onPointerUp: function onPointerUp() {
14450
14458
  setSelectedValue(option.value);
14451
14459
  setSelectedOption(option.option);
14452
14460
  setOpened(false);
@@ -14463,11 +14471,11 @@ var Container$d = /*#__PURE__*/styled.div.withConfig({
14463
14471
  var DropdownSelect = /*#__PURE__*/styled.p.withConfig({
14464
14472
  displayName: "Dropdown__DropdownSelect",
14465
14473
  componentId: "sc-8arn65-1"
14466
- })(["width:100%;box-sizing:border-box;"]);
14474
+ })(["width:100%;box-sizing:border-box;label{display:inline-block;transform:translateY(-2px);}"]);
14467
14475
  var DropdownOptions = /*#__PURE__*/styled.ul.withConfig({
14468
14476
  displayName: "Dropdown__DropdownOptions",
14469
14477
  componentId: "sc-8arn65-2"
14470
- })(["position:absolute;width:100%;display:", ";box-sizing:border-box;@media (max-width:768px){padding:8px 0;}"], function (props) {
14478
+ })(["position:absolute;width:100%;max-height:300px;overflow-y:auto;display:", ";box-sizing:border-box;@media (max-width:768px){padding:8px 0;}"], function (props) {
14471
14479
  return props.opened ? 'block' : 'none';
14472
14480
  });
14473
14481
 
@@ -14593,1099 +14601,632 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14593
14601
  componentId: "sc-1wuddg2-1"
14594
14602
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14595
14603
 
14596
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
14597
-
14598
- var chunkString = function chunkString(str, length) {
14599
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
14600
- };
14601
-
14602
- var DynamicText = function DynamicText(_ref) {
14603
- var text = _ref.text,
14604
- onFinish = _ref.onFinish,
14605
- onStart = _ref.onStart;
14606
- var _useState = React.useState(''),
14607
- textState = _useState[0],
14608
- setTextState = _useState[1];
14609
- React.useEffect(function () {
14610
- var i = 0;
14611
- var interval = setInterval(function () {
14612
- // on every interval, show one more character
14613
- if (i === 0) {
14614
- if (onStart) {
14615
- onStart();
14616
- }
14604
+ var SlotsContainer = function SlotsContainer(_ref) {
14605
+ var children = _ref.children,
14606
+ title = _ref.title,
14607
+ onClose = _ref.onClose,
14608
+ _onPositionChange = _ref.onPositionChange,
14609
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
14610
+ _onPositionChangeStart = _ref.onPositionChangeStart,
14611
+ onOutsideClick = _ref.onOutsideClick,
14612
+ initialPosition = _ref.initialPosition,
14613
+ scale = _ref.scale;
14614
+ return React__default.createElement(DraggableContainer, {
14615
+ title: title,
14616
+ type: exports.RPGUIContainerTypes.Framed,
14617
+ onCloseButton: function onCloseButton() {
14618
+ if (onClose) {
14619
+ onClose();
14617
14620
  }
14618
- if (i < text.length) {
14619
- setTextState(text.substring(0, i + 1));
14620
- i++;
14621
- } else {
14622
- clearInterval(interval);
14623
- if (onFinish) {
14624
- onFinish();
14625
- }
14621
+ },
14622
+ width: "400px",
14623
+ cancelDrag: ".item-container-body, #shortcuts_list",
14624
+ onPositionChange: function onPositionChange(_ref2) {
14625
+ var x = _ref2.x,
14626
+ y = _ref2.y;
14627
+ if (_onPositionChange) {
14628
+ _onPositionChange({
14629
+ x: x,
14630
+ y: y
14631
+ });
14626
14632
  }
14627
- }, 50);
14628
- return function () {
14629
- clearInterval(interval);
14630
- };
14631
- }, [text]);
14632
- return React__default.createElement(TextContainer, null, textState);
14633
+ },
14634
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14635
+ var x = _ref3.x,
14636
+ y = _ref3.y;
14637
+ if (_onPositionChangeEnd) {
14638
+ _onPositionChangeEnd({
14639
+ x: x,
14640
+ y: y
14641
+ });
14642
+ }
14643
+ },
14644
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
14645
+ var x = _ref4.x,
14646
+ y = _ref4.y;
14647
+ if (_onPositionChangeStart) {
14648
+ _onPositionChangeStart({
14649
+ x: x,
14650
+ y: y
14651
+ });
14652
+ }
14653
+ },
14654
+ onOutsideClick: onOutsideClick,
14655
+ initialPosition: initialPosition,
14656
+ scale: scale
14657
+ }, children);
14633
14658
  };
14634
- var TextContainer = /*#__PURE__*/styled.p.withConfig({
14635
- displayName: "DynamicText__TextContainer",
14636
- componentId: "sc-1ggl9nd-0"
14637
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14638
14659
 
14639
- var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14640
-
14641
- var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
14642
-
14643
- var NPCDialogText = function NPCDialogText(_ref) {
14644
- var text = _ref.text,
14645
- onClose = _ref.onClose,
14646
- onEndStep = _ref.onEndStep,
14647
- onStartStep = _ref.onStartStep,
14648
- type = _ref.type;
14649
- var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
14650
- function maxCharacters(width) {
14651
- // Set the font size to 16 pixels
14652
- var fontSize = 11.2;
14653
- // Calculate the number of characters that can fit in one line
14654
- var charactersPerLine = Math.floor(width / 2 / fontSize);
14655
- // Calculate the number of lines that can fit in the div
14656
- var linesPerDiv = Math.floor(180 / fontSize);
14657
- // Calculate the maximum number of characters that can fit in the div
14658
- var maxCharacters = charactersPerLine * linesPerDiv;
14659
- // Return the maximum number of characters
14660
- return Math.round(maxCharacters / 5);
14661
- }
14662
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14660
+ (function (RangeSliderType) {
14661
+ RangeSliderType["Slider"] = "rpgui-slider";
14662
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14663
+ })(exports.RangeSliderType || (exports.RangeSliderType = {}));
14664
+ var RangeSlider = function RangeSlider(_ref) {
14665
+ var type = _ref.type,
14666
+ valueMin = _ref.valueMin,
14667
+ valueMax = _ref.valueMax,
14668
+ width = _ref.width,
14669
+ _onChange = _ref.onChange,
14670
+ value = _ref.value;
14671
+ var sliderId = uuid.v4();
14672
+ var containerRef = React.useRef(null);
14663
14673
  var _useState = React.useState(0),
14664
- chunkIndex = _useState[0],
14665
- setChunkIndex = _useState[1];
14666
- var onHandleSpacePress = function onHandleSpacePress(event) {
14667
- if (event.code === 'Space') {
14668
- goToNextStep();
14669
- }
14670
- };
14671
- var goToNextStep = function goToNextStep() {
14672
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14673
- if (hasNextChunk) {
14674
- setChunkIndex(function (prev) {
14675
- return prev + 1;
14676
- });
14677
- } else {
14678
- // if there's no more text chunks, close the dialog
14679
- onClose();
14680
- }
14681
- };
14674
+ left = _useState[0],
14675
+ setLeft = _useState[1];
14682
14676
  React.useEffect(function () {
14683
- document.addEventListener('keydown', onHandleSpacePress);
14684
- return function () {
14685
- return document.removeEventListener('keydown', onHandleSpacePress);
14686
- };
14687
- }, [chunkIndex]);
14688
- var _useState2 = React.useState(false),
14689
- showGoNextIndicator = _useState2[0],
14690
- setShowGoNextIndicator = _useState2[1];
14691
- return React__default.createElement(Container$e, null, React__default.createElement(DynamicText, {
14692
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14693
- onFinish: function onFinish() {
14694
- setShowGoNextIndicator(true);
14695
- onEndStep && onEndStep();
14677
+ var _containerRef$current;
14678
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14679
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14680
+ }, [value, valueMin, valueMax]);
14681
+ var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
14682
+ return React__default.createElement("div", {
14683
+ style: {
14684
+ width: width,
14685
+ position: 'relative'
14696
14686
  },
14697
- onStart: function onStart() {
14698
- setShowGoNextIndicator(false);
14699
- onStartStep && onStartStep();
14687
+ className: "rpgui-slider-container " + typeClass,
14688
+ id: "rpgui-slider-" + sliderId,
14689
+ ref: containerRef
14690
+ }, React__default.createElement("div", {
14691
+ style: {
14692
+ pointerEvents: 'none'
14700
14693
  }
14701
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
14702
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14703
- src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14704
- onPointerDown: function onPointerDown() {
14705
- goToNextStep();
14694
+ }, React__default.createElement("div", {
14695
+ className: "rpgui-slider-track " + typeClass
14696
+ }), React__default.createElement("div", {
14697
+ className: "rpgui-slider-left-edge " + typeClass
14698
+ }), React__default.createElement("div", {
14699
+ className: "rpgui-slider-right-edge " + typeClass
14700
+ }), React__default.createElement("div", {
14701
+ className: "rpgui-slider-thumb " + typeClass,
14702
+ style: {
14703
+ left: left
14706
14704
  }
14705
+ })), React__default.createElement(Input$1, {
14706
+ type: "range",
14707
+ style: {
14708
+ width: width
14709
+ },
14710
+ min: valueMin,
14711
+ max: valueMax,
14712
+ onChange: function onChange(e) {
14713
+ return _onChange(Number(e.target.value));
14714
+ },
14715
+ value: value,
14716
+ className: "rpgui-cursor-point"
14707
14717
  }));
14708
14718
  };
14709
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14710
- displayName: "NPCDialogText__Container",
14711
- componentId: "sc-1cxkdh9-0"
14712
- })([""]);
14713
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14714
- displayName: "NPCDialogText__PressSpaceIndicator",
14715
- componentId: "sc-1cxkdh9-1"
14716
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14717
- var right = _ref2.right;
14718
- return right;
14719
- });
14720
-
14721
- //@ts-ignore
14722
- var useEventListener = function useEventListener(type, handler, el) {
14723
- if (el === void 0) {
14724
- el = window;
14725
- }
14726
- var savedHandler = React__default.useRef();
14727
- React__default.useEffect(function () {
14728
- savedHandler.current = handler;
14729
- }, [handler]);
14730
- React__default.useEffect(function () {
14731
- //@ts-ignore
14732
- var listener = function listener(e) {
14733
- return savedHandler.current(e);
14734
- };
14735
- el.addEventListener(type, listener);
14736
- return function () {
14737
- el.removeEventListener(type, listener);
14738
- };
14739
- }, [type, el]);
14740
- };
14719
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
14720
+ displayName: "RangeSlider__Input",
14721
+ componentId: "sc-v8mte9-0"
14722
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14741
14723
 
14742
- var QuestionDialog = function QuestionDialog(_ref) {
14743
- var questions = _ref.questions,
14744
- answers = _ref.answers,
14724
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14725
+ var quantity = _ref.quantity,
14726
+ onConfirm = _ref.onConfirm,
14745
14727
  onClose = _ref.onClose;
14746
- var _useState = React.useState(questions[0]),
14747
- currentQuestion = _useState[0],
14748
- setCurrentQuestion = _useState[1];
14749
- var _useState2 = React.useState(false),
14750
- canShowAnswers = _useState2[0],
14751
- setCanShowAnswers = _useState2[1];
14752
- var onGetFirstAnswer = function onGetFirstAnswer() {
14753
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14754
- return null;
14755
- }
14756
- var firstAnswerId = currentQuestion.answerIds[0];
14757
- return answers.find(function (answer) {
14758
- return answer.id === firstAnswerId;
14759
- });
14760
- };
14761
- var _useState3 = React.useState(onGetFirstAnswer()),
14762
- currentAnswer = _useState3[0],
14763
- setCurrentAnswer = _useState3[1];
14728
+ var _useState = React.useState(quantity),
14729
+ value = _useState[0],
14730
+ setValue = _useState[1];
14731
+ var inputRef = React.useRef(null);
14764
14732
  React.useEffect(function () {
14765
- setCurrentAnswer(onGetFirstAnswer());
14766
- }, [currentQuestion]);
14767
- var onGetAnswers = function onGetAnswers(answerIds) {
14768
- return answerIds.map(function (answerId) {
14769
- return answers.find(function (answer) {
14770
- return answer.id === answerId;
14771
- });
14772
- });
14773
- };
14774
- var onKeyPress = function onKeyPress(e) {
14775
- switch (e.key) {
14776
- case 'ArrowDown':
14777
- // select next answer, if any.
14778
- // if no next answer, select first answer
14779
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14780
- // (answer) => answer?.id === currentAnswer!.id + 1
14781
- // );
14782
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14783
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14784
- });
14785
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14786
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14787
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
14788
- });
14789
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14790
- break;
14791
- case 'ArrowUp':
14792
- // select previous answer, if any.
14793
- // if no previous answer, select last answer
14794
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14795
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14796
- });
14797
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14798
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14799
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
14800
- });
14801
- if (previousAnswer) {
14802
- setCurrentAnswer(previousAnswer);
14803
- } else {
14804
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14805
- }
14806
- break;
14807
- case 'Enter':
14808
- setCanShowAnswers(false);
14809
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14733
+ if (inputRef.current) {
14734
+ inputRef.current.focus();
14735
+ inputRef.current.select();
14736
+ var closeSelector = function closeSelector(e) {
14737
+ if (e.key === 'Escape') {
14810
14738
  onClose();
14811
- return;
14812
- } else {
14813
- setCurrentQuestion(questions.find(function (question) {
14814
- return question.id === currentAnswer.nextQuestionId;
14815
- }));
14816
14739
  }
14817
- break;
14818
- }
14819
- };
14820
- useEventListener('keydown', onKeyPress);
14821
- var onAnswerClick = function onAnswerClick(answer) {
14822
- setCanShowAnswers(false);
14823
- if (answer.nextQuestionId) {
14824
- // if there is a next question, go to it
14825
- setCurrentQuestion(questions.find(function (question) {
14826
- return question.id === answer.nextQuestionId;
14827
- }));
14828
- } else {
14829
- // else, finish dialog!
14830
- onClose();
14831
- }
14832
- };
14833
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14834
- var answerIds = currentQuestion.answerIds;
14835
- if (!answerIds) {
14836
- return null;
14837
- }
14838
- var answers = onGetAnswers(answerIds);
14839
- if (!answers) {
14840
- return null;
14740
+ };
14741
+ document.addEventListener('keydown', closeSelector);
14742
+ return function () {
14743
+ document.removeEventListener('keydown', closeSelector);
14744
+ };
14841
14745
  }
14842
- return answers.map(function (answer) {
14843
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14844
- var selectedColor = isSelected ? 'yellow' : 'white';
14845
- if (answer) {
14846
- return React__default.createElement(AnswerRow, {
14847
- key: "answer_" + answer.id
14848
- }, React__default.createElement(AnswerSelectedIcon, {
14849
- color: selectedColor
14850
- }, isSelected ? 'X' : null), React__default.createElement(Answer, {
14851
- key: answer.id,
14852
- onPointerDown: function onPointerDown() {
14853
- return onAnswerClick(answer);
14854
- },
14855
- color: selectedColor
14856
- }, answer.text));
14857
- }
14858
- return null;
14859
- });
14860
- };
14861
- return React__default.createElement(Container$f, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
14862
- text: currentQuestion.text,
14863
- onStart: function onStart() {
14864
- return setCanShowAnswers(false);
14746
+ return function () {};
14747
+ }, []);
14748
+ return React__default.createElement(StyledContainer, {
14749
+ type: exports.RPGUIContainerTypes.Framed,
14750
+ width: "25rem"
14751
+ }, React__default.createElement(CloseButton$2, {
14752
+ className: "container-close",
14753
+ onPointerDown: onClose
14754
+ }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
14755
+ style: {
14756
+ width: '100%'
14865
14757
  },
14866
- onFinish: function onFinish() {
14867
- return setCanShowAnswers(true);
14868
- }
14869
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14870
- };
14871
- var Container$f = /*#__PURE__*/styled.div.withConfig({
14872
- displayName: "QuestionDialog__Container",
14873
- componentId: "sc-bxc5u0-0"
14874
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14875
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14876
- displayName: "QuestionDialog__QuestionContainer",
14877
- componentId: "sc-bxc5u0-1"
14878
- })(["flex:100%;width:100%;"]);
14879
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14880
- displayName: "QuestionDialog__AnswersContainer",
14881
- componentId: "sc-bxc5u0-2"
14882
- })(["flex:100%;"]);
14883
- var Answer = /*#__PURE__*/styled.p.withConfig({
14884
- displayName: "QuestionDialog__Answer",
14885
- componentId: "sc-bxc5u0-3"
14886
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14887
- return props.color;
14888
- });
14889
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14890
- displayName: "QuestionDialog__AnswerSelectedIcon",
14891
- componentId: "sc-bxc5u0-4"
14892
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
14893
- return props.color;
14894
- });
14895
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14896
- displayName: "QuestionDialog__AnswerRow",
14897
- componentId: "sc-bxc5u0-5"
14898
- })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
14899
-
14900
- var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14901
-
14902
- (function (NPCDialogType) {
14903
- NPCDialogType["TextOnly"] = "TextOnly";
14904
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14905
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
14906
- var NPCDialog = function NPCDialog(_ref) {
14907
- var text = _ref.text,
14908
- type = _ref.type,
14909
- _onClose = _ref.onClose,
14910
- imagePath = _ref.imagePath,
14911
- _ref$isQuestionDialog = _ref.isQuestionDialog,
14912
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14913
- questions = _ref.questions,
14914
- answers = _ref.answers;
14915
- return React__default.createElement(RPGUIContainer, {
14916
- type: exports.RPGUIContainerTypes.FramedGold,
14917
- width: isQuestionDialog ? '600px' : '80%',
14918
- height: '180px'
14919
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
14920
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14921
- }, React__default.createElement(QuestionDialog, {
14922
- questions: questions,
14923
- answers: answers,
14924
- onClose: function onClose() {
14925
- if (_onClose) {
14926
- _onClose();
14758
+ onSubmit: function onSubmit(e) {
14759
+ e.preventDefault();
14760
+ var numberValue = Number(value);
14761
+ if (Number.isNaN(numberValue)) {
14762
+ return;
14927
14763
  }
14928
- }
14929
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14930
- src: imagePath || img$7
14931
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$g, null, React__default.createElement(TextContainer$1, {
14932
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14933
- }, React__default.createElement(NPCDialogText, {
14934
- type: type,
14935
- text: text || 'No text provided.',
14936
- onClose: function onClose() {
14937
- if (_onClose) {
14938
- _onClose();
14764
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14765
+ },
14766
+ noValidate: true
14767
+ }, React__default.createElement(StyledInput, {
14768
+ innerRef: inputRef,
14769
+ placeholder: "Enter quantity",
14770
+ type: "number",
14771
+ min: 1,
14772
+ max: quantity,
14773
+ value: value,
14774
+ onChange: function onChange(e) {
14775
+ if (Number(e.target.value) >= quantity) {
14776
+ setValue(quantity);
14777
+ return;
14939
14778
  }
14779
+ setValue(e.target.value);
14780
+ },
14781
+ onBlur: function onBlur(e) {
14782
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14783
+ setValue(newValue);
14940
14784
  }
14941
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14942
- src: imagePath || img$7
14943
- })))));
14785
+ }), React__default.createElement(RangeSlider, {
14786
+ type: exports.RangeSliderType.Slider,
14787
+ valueMin: 1,
14788
+ valueMax: quantity,
14789
+ width: "100%",
14790
+ onChange: setValue,
14791
+ value: value
14792
+ }), React__default.createElement(Button, {
14793
+ buttonType: exports.ButtonTypes.RPGUIButton,
14794
+ type: "submit"
14795
+ }, "Confirm")));
14944
14796
  };
14945
- var Container$g = /*#__PURE__*/styled.div.withConfig({
14946
- displayName: "NPCDialog__Container",
14947
- componentId: "sc-1b4aw74-0"
14948
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14949
- var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14950
- displayName: "NPCDialog__TextContainer",
14951
- componentId: "sc-1b4aw74-1"
14952
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14953
- var flex = _ref2.flex;
14954
- return flex;
14955
- });
14956
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14957
- displayName: "NPCDialog__ThumbnailContainer",
14958
- componentId: "sc-1b4aw74-2"
14959
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14960
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14961
- displayName: "NPCDialog__NPCThumbnail",
14962
- componentId: "sc-1b4aw74-3"
14963
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
14964
-
14965
- (function (ImgSide) {
14966
- ImgSide["right"] = "right";
14967
- ImgSide["left"] = "left";
14968
- })(exports.ImgSide || (exports.ImgSide = {}));
14969
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
14970
- var _textAndTypeArray$sli;
14971
- var _onClose = _ref.onClose,
14972
- textAndTypeArray = _ref.textAndTypeArray;
14973
- var _useState = React.useState(false),
14974
- showGoNextIndicator = _useState[0],
14975
- setShowGoNextIndicator = _useState[1];
14976
- var _useState2 = React.useState(0),
14977
- slide = _useState2[0],
14978
- setSlide = _useState2[1];
14979
- var onHandleSpacePress = function onHandleSpacePress(event) {
14980
- if (event.code === 'Space') {
14981
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14982
- setSlide(function (prev) {
14983
- return prev + 1;
14984
- });
14985
- } else {
14986
- // if there's no more text chunks, close the dialog
14987
- _onClose();
14988
- }
14989
- }
14990
- };
14991
- React.useEffect(function () {
14992
- document.addEventListener('keydown', onHandleSpacePress);
14993
- return function () {
14994
- return document.removeEventListener('keydown', onHandleSpacePress);
14995
- };
14996
- }, [slide]);
14997
- return React__default.createElement(RPGUIContainer, {
14998
- type: exports.RPGUIContainerTypes.FramedGold,
14999
- width: '50%',
15000
- height: '180px'
15001
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
15002
- flex: '70%'
15003
- }, React__default.createElement(NPCDialogText, {
15004
- onStartStep: function onStartStep() {
15005
- return setShowGoNextIndicator(false);
15006
- },
15007
- onEndStep: function onEndStep() {
15008
- return setShowGoNextIndicator(true);
15009
- },
15010
- text: textAndTypeArray[slide].text || 'No text provided.',
15011
- onClose: function onClose() {
15012
- if (_onClose) {
15013
- _onClose();
15014
- }
15015
- }
15016
- })), React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15017
- src: textAndTypeArray[slide].imagePath || img$7
15018
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15019
- right: '10.5rem',
15020
- src: img$6
15021
- })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15022
- src: textAndTypeArray[slide].imagePath || img$7
15023
- })), React__default.createElement(TextContainer$2, {
15024
- flex: '70%'
15025
- }, React__default.createElement(NPCDialogText, {
15026
- onStartStep: function onStartStep() {
15027
- return setShowGoNextIndicator(false);
15028
- },
15029
- onEndStep: function onEndStep() {
15030
- return setShowGoNextIndicator(true);
15031
- },
15032
- text: textAndTypeArray[slide].text || 'No text provided.',
15033
- onClose: function onClose() {
15034
- if (_onClose) {
15035
- _onClose();
15036
- }
15037
- }
15038
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15039
- right: '1rem',
15040
- src: img$6
15041
- }))), ")"));
15042
- };
15043
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15044
- displayName: "NPCMultiDialog__Container",
15045
- componentId: "sc-rvu5wg-0"
15046
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15047
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15048
- displayName: "NPCMultiDialog__TextContainer",
15049
- componentId: "sc-rvu5wg-1"
15050
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15051
- var flex = _ref2.flex;
15052
- return flex;
15053
- });
15054
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15055
- displayName: "NPCMultiDialog__ThumbnailContainer",
15056
- componentId: "sc-rvu5wg-2"
15057
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15058
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15059
- displayName: "NPCMultiDialog__NPCThumbnail",
15060
- componentId: "sc-rvu5wg-3"
15061
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15062
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15063
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15064
- componentId: "sc-rvu5wg-4"
15065
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15066
- var right = _ref3.right;
15067
- return right;
15068
- });
14797
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14798
+ displayName: "ItemQuantitySelector__StyledContainer",
14799
+ componentId: "sc-yfdtpn-0"
14800
+ })(["display:flex;flex-direction:column;align-items:center;"]);
14801
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
14802
+ displayName: "ItemQuantitySelector__StyledForm",
14803
+ componentId: "sc-yfdtpn-1"
14804
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14805
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14806
+ displayName: "ItemQuantitySelector__StyledInput",
14807
+ componentId: "sc-yfdtpn-2"
14808
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14809
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14810
+ displayName: "ItemQuantitySelector__CloseButton",
14811
+ componentId: "sc-yfdtpn-3"
14812
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15069
14813
 
15070
- var HistoryDialog = function HistoryDialog(_ref) {
15071
- var backgroundImgPath = _ref.backgroundImgPath,
15072
- fullCoverBackground = _ref.fullCoverBackground,
15073
- questions = _ref.questions,
15074
- answers = _ref.answers,
15075
- text = _ref.text,
15076
- imagePath = _ref.imagePath,
15077
- textAndTypeArray = _ref.textAndTypeArray,
15078
- onClose = _ref.onClose;
15079
- var _useState = React.useState(0),
15080
- img = _useState[0],
15081
- setImage = _useState[1];
15082
- var onHandleSpacePress = function onHandleSpacePress(event) {
15083
- if (event.code === 'Space') {
15084
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15085
- setImage(function (prev) {
15086
- return prev + 1;
15087
- });
15088
- } else {
15089
- // if there's no more text chunks, close the dialog
15090
- onClose();
15091
- }
14814
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
14815
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14816
+ settingShortcutIndex = _ref.settingShortcutIndex,
14817
+ shortcuts = _ref.shortcuts,
14818
+ removeShortcut = _ref.removeShortcut,
14819
+ atlasJSON = _ref.atlasJSON,
14820
+ atlasIMG = _ref.atlasIMG;
14821
+ var getContent = function getContent(index) {
14822
+ var _shortcuts$index, _shortcuts$index3;
14823
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
14824
+ var _shortcuts$index2;
14825
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14826
+ if (!_payload) return null;
14827
+ return React__default.createElement(SpriteFromAtlas, {
14828
+ atlasIMG: atlasIMG,
14829
+ atlasJSON: atlasJSON,
14830
+ spriteKey: shared.getItemTextureKeyPath({
14831
+ key: _payload.texturePath,
14832
+ texturePath: _payload.texturePath,
14833
+ stackQty: _payload.stackQty || 1,
14834
+ isStackable: _payload.isStackable
14835
+ }, atlasJSON),
14836
+ width: 32,
14837
+ height: 32,
14838
+ imgScale: 1.6,
14839
+ imgStyle: {
14840
+ left: '5px'
14841
+ }
14842
+ });
15092
14843
  }
14844
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14845
+ return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14846
+ return word[0];
14847
+ }));
15093
14848
  };
15094
- React.useEffect(function () {
15095
- document.addEventListener('keydown', onHandleSpacePress);
15096
- return function () {
15097
- return document.removeEventListener('keydown', onHandleSpacePress);
15098
- };
15099
- }, [backgroundImgPath]);
15100
- return React__default.createElement(BackgroundContainer, {
15101
- imgPath: backgroundImgPath[img],
15102
- fullImg: fullCoverBackground
15103
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
15104
- textAndTypeArray: textAndTypeArray,
15105
- onClose: onClose
15106
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
15107
- questions: questions,
15108
- answers: answers,
15109
- onClose: onClose
15110
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
15111
- text: text,
15112
- imagePath: imagePath,
15113
- onClose: onClose,
15114
- type: exports.NPCDialogType.TextAndThumbnail
15115
- }) : React__default.createElement(NPCDialog, {
15116
- text: text,
15117
- onClose: onClose,
15118
- type: exports.NPCDialogType.TextOnly
14849
+ return React__default.createElement(Container$e, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
14850
+ id: "shortcuts_list"
14851
+ }, Array.from({
14852
+ length: 6
14853
+ }).map(function (_, i) {
14854
+ return React__default.createElement(Shortcut, {
14855
+ key: i,
14856
+ onPointerDown: function onPointerDown() {
14857
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14858
+ removeShortcut(i);
14859
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
14860
+ },
14861
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14862
+ isBeingSet: settingShortcutIndex === i,
14863
+ id: "shortcutSetter_" + i
14864
+ }, getContent(i));
15119
14865
  })));
15120
14866
  };
15121
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15122
- displayName: "HistoryDialog__BackgroundContainer",
15123
- componentId: "sc-u6oe75-0"
15124
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15125
- return props.imgPath;
15126
- }, function (props) {
15127
- return props.imgPath ? 'cover' : 'auto';
15128
- });
15129
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15130
- displayName: "HistoryDialog__DialogContainer",
15131
- componentId: "sc-u6oe75-1"
15132
- })(["display:flex;justify-content:center;padding-top:200px;"]);
14867
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14868
+ displayName: "ShortcutsSetter__Container",
14869
+ componentId: "sc-xuouuf-0"
14870
+ })(["p{margin:0;margin-left:0.5rem;}"]);
14871
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
14872
+ displayName: "ShortcutsSetter__Shortcut",
14873
+ componentId: "sc-xuouuf-1"
14874
+ })(["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) {
14875
+ var isBeingSet = _ref2.isBeingSet;
14876
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14877
+ }, uiColors.darkGray, uiColors.gray);
14878
+ var List = /*#__PURE__*/styled.div.withConfig({
14879
+ displayName: "ShortcutsSetter__List",
14880
+ componentId: "sc-xuouuf-2"
14881
+ })(["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;"]);
15133
14882
 
15134
- var SlotsContainer = function SlotsContainer(_ref) {
15135
- var children = _ref.children,
15136
- title = _ref.title,
14883
+ var ItemContainer$1 = function ItemContainer(_ref) {
14884
+ var itemContainer = _ref.itemContainer,
15137
14885
  onClose = _ref.onClose,
15138
- _onPositionChange = _ref.onPositionChange,
15139
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
15140
- _onPositionChangeStart = _ref.onPositionChangeStart,
15141
- onOutsideClick = _ref.onOutsideClick,
14886
+ _onMouseOver = _ref.onMouseOver,
14887
+ _onSelected = _ref.onSelected,
14888
+ onItemClick = _ref.onItemClick,
14889
+ type = _ref.type,
14890
+ atlasJSON = _ref.atlasJSON,
14891
+ atlasIMG = _ref.atlasIMG,
14892
+ _ref$disableContextMe = _ref.disableContextMenu,
14893
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14894
+ onItemDragEnd = _ref.onItemDragEnd,
14895
+ onItemDragStart = _ref.onItemDragStart,
14896
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
14897
+ _onOutsideDrop = _ref.onOutsideDrop,
14898
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15142
14899
  initialPosition = _ref.initialPosition,
15143
- scale = _ref.scale;
15144
- return React__default.createElement(DraggableContainer, {
15145
- title: title,
14900
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14901
+ scale = _ref.scale,
14902
+ shortcuts = _ref.shortcuts,
14903
+ setItemShortcut = _ref.setItemShortcut,
14904
+ removeShortcut = _ref.removeShortcut,
14905
+ equipmentSet = _ref.equipmentSet,
14906
+ isDepotSystem = _ref.isDepotSystem,
14907
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
14908
+ onPositionChangeStart = _ref.onPositionChangeStart;
14909
+ var _useState = React.useState({
14910
+ isOpen: false,
14911
+ maxQuantity: 1,
14912
+ callback: function callback(_quantity) {}
14913
+ }),
14914
+ quantitySelect = _useState[0],
14915
+ setQuantitySelect = _useState[1];
14916
+ var _useState2 = React.useState(-1),
14917
+ settingShortcutIndex = _useState2[0],
14918
+ setSettingShortcutIndex = _useState2[1];
14919
+ var handleSetShortcut = function handleSetShortcut(item, index) {
14920
+ if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
14921
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
14922
+ }
14923
+ };
14924
+ var onRenderSlots = function onRenderSlots() {
14925
+ var slots = [];
14926
+ for (var i = 0; i < itemContainer.slotQty; i++) {
14927
+ var _itemContainer$slots;
14928
+ slots.push(React__default.createElement(ItemSlot, {
14929
+ isContextMenuDisabled: disableContextMenu,
14930
+ key: i,
14931
+ slotIndex: i,
14932
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14933
+ itemContainerType: type,
14934
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
14935
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14936
+ },
14937
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
14938
+ if (settingShortcutIndex !== -1) {
14939
+ setSettingShortcutIndex(-1);
14940
+ handleSetShortcut(item, settingShortcutIndex);
14941
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
14942
+ },
14943
+ onSelected: function onSelected(optionId, item) {
14944
+ if (_onSelected) _onSelected(optionId, item);
14945
+ },
14946
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14947
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14948
+ },
14949
+ onDragEnd: function onDragEnd(quantity) {
14950
+ if (onItemDragEnd) onItemDragEnd(quantity);
14951
+ },
14952
+ dragScale: scale,
14953
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14954
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14955
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14956
+ setQuantitySelect({
14957
+ isOpen: true,
14958
+ maxQuantity: maxQuantity,
14959
+ callback: callback
14960
+ });
14961
+ },
14962
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14963
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14964
+ },
14965
+ onOutsideDrop: function onOutsideDrop(item, position) {
14966
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
14967
+ },
14968
+ atlasIMG: atlasIMG,
14969
+ atlasJSON: atlasJSON,
14970
+ isSelectingShortcut: settingShortcutIndex !== -1,
14971
+ equipmentSet: equipmentSet,
14972
+ setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
14973
+ isDepotSystem: isDepotSystem
14974
+ }));
14975
+ }
14976
+ return slots;
14977
+ };
14978
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
14979
+ title: itemContainer.name || 'Container',
14980
+ onClose: onClose,
14981
+ initialPosition: initialPosition,
14982
+ scale: scale,
14983
+ onPositionChangeEnd: onPositionChangeEnd,
14984
+ onPositionChangeStart: onPositionChangeStart
14985
+ }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
14986
+ setSettingShortcutIndex: setSettingShortcutIndex,
14987
+ settingShortcutIndex: settingShortcutIndex,
14988
+ shortcuts: shortcuts,
14989
+ removeShortcut: removeShortcut,
14990
+ atlasIMG: atlasIMG,
14991
+ atlasJSON: atlasJSON
14992
+ }), React__default.createElement(ItemsContainer, {
14993
+ className: "item-container-body"
14994
+ }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
14995
+ quantity: quantitySelect.maxQuantity,
14996
+ onConfirm: function onConfirm(quantity) {
14997
+ quantitySelect.callback(quantity);
14998
+ setQuantitySelect({
14999
+ isOpen: false,
15000
+ maxQuantity: 1,
15001
+ callback: function callback() {}
15002
+ });
15003
+ },
15004
+ onClose: function onClose() {
15005
+ quantitySelect.callback(-1);
15006
+ setQuantitySelect({
15007
+ isOpen: false,
15008
+ maxQuantity: 1,
15009
+ callback: function callback() {}
15010
+ });
15011
+ }
15012
+ }))));
15013
+ };
15014
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15015
+ displayName: "ItemContainer__ItemsContainer",
15016
+ componentId: "sc-15y5p9l-0"
15017
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15018
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15019
+ displayName: "ItemContainer__QuantitySelectorContainer",
15020
+ componentId: "sc-15y5p9l-1"
15021
+ })(["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);"]);
15022
+
15023
+ var ItemSelector = function ItemSelector(_ref) {
15024
+ var atlasIMG = _ref.atlasIMG,
15025
+ atlasJSON = _ref.atlasJSON,
15026
+ options = _ref.options,
15027
+ onClose = _ref.onClose,
15028
+ onSelect = _ref.onSelect;
15029
+ var _useState = React.useState(),
15030
+ selectedValue = _useState[0],
15031
+ setSelectedValue = _useState[1];
15032
+ var handleClick = function handleClick() {
15033
+ var element = document.querySelector("input[name='test']:checked");
15034
+ var elementValue = element.value;
15035
+ setSelectedValue(elementValue);
15036
+ };
15037
+ React.useEffect(function () {
15038
+ if (selectedValue) {
15039
+ onSelect(selectedValue);
15040
+ }
15041
+ }, [selectedValue]);
15042
+ return React__default.createElement(DraggableContainer, {
15146
15043
  type: exports.RPGUIContainerTypes.Framed,
15044
+ width: "500px",
15045
+ cancelDrag: ".equipment-container-body .arrow-selector",
15147
15046
  onCloseButton: function onCloseButton() {
15148
15047
  if (onClose) {
15149
15048
  onClose();
15150
15049
  }
15151
- },
15152
- width: "400px",
15153
- cancelDrag: ".item-container-body, #shortcuts_list",
15154
- onPositionChange: function onPositionChange(_ref2) {
15155
- var x = _ref2.x,
15156
- y = _ref2.y;
15157
- if (_onPositionChange) {
15158
- _onPositionChange({
15159
- x: x,
15160
- y: y
15161
- });
15162
- }
15163
- },
15164
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15165
- var x = _ref3.x,
15166
- y = _ref3.y;
15167
- if (_onPositionChangeEnd) {
15168
- _onPositionChangeEnd({
15169
- x: x,
15170
- y: y
15171
- });
15172
- }
15173
- },
15174
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
15175
- var x = _ref4.x,
15176
- y = _ref4.y;
15177
- if (_onPositionChangeStart) {
15178
- _onPositionChangeStart({
15179
- x: x,
15180
- y: y
15181
- });
15182
- }
15183
- },
15184
- onOutsideClick: onOutsideClick,
15185
- initialPosition: initialPosition,
15186
- scale: scale
15187
- }, children);
15188
- };
15189
-
15190
- (function (RangeSliderType) {
15191
- RangeSliderType["Slider"] = "rpgui-slider";
15192
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15193
- })(exports.RangeSliderType || (exports.RangeSliderType = {}));
15194
- var RangeSlider = function RangeSlider(_ref) {
15195
- var type = _ref.type,
15196
- valueMin = _ref.valueMin,
15197
- valueMax = _ref.valueMax,
15198
- width = _ref.width,
15199
- _onChange = _ref.onChange,
15200
- value = _ref.value;
15201
- var sliderId = uuid.v4();
15202
- var containerRef = React.useRef(null);
15203
- var _useState = React.useState(0),
15204
- left = _useState[0],
15205
- setLeft = _useState[1];
15206
- React.useEffect(function () {
15207
- var _containerRef$current;
15208
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15209
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15210
- }, [value, valueMin, valueMax]);
15211
- var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
15212
- return React__default.createElement("div", {
15213
- style: {
15214
- width: width,
15215
- position: 'relative'
15216
- },
15217
- className: "rpgui-slider-container " + typeClass,
15218
- id: "rpgui-slider-" + sliderId,
15219
- ref: containerRef
15220
- }, React__default.createElement("div", {
15221
- style: {
15222
- pointerEvents: 'none'
15223
15050
  }
15224
15051
  }, React__default.createElement("div", {
15225
- className: "rpgui-slider-track " + typeClass
15226
- }), React__default.createElement("div", {
15227
- className: "rpgui-slider-left-edge " + typeClass
15228
- }), React__default.createElement("div", {
15229
- className: "rpgui-slider-right-edge " + typeClass
15230
- }), React__default.createElement("div", {
15231
- className: "rpgui-slider-thumb " + typeClass,
15232
15052
  style: {
15233
- left: left
15053
+ width: '100%'
15234
15054
  }
15235
- })), React__default.createElement(Input$1, {
15236
- type: "range",
15237
- style: {
15238
- width: width
15239
- },
15240
- min: valueMin,
15241
- max: valueMax,
15242
- onChange: function onChange(e) {
15243
- return _onChange(Number(e.target.value));
15244
- },
15245
- value: value,
15246
- className: "rpgui-cursor-point"
15247
- }));
15248
- };
15249
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
15250
- displayName: "RangeSlider__Input",
15251
- componentId: "sc-v8mte9-0"
15252
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15253
-
15254
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15255
- var quantity = _ref.quantity,
15256
- onConfirm = _ref.onConfirm,
15257
- onClose = _ref.onClose;
15258
- var _useState = React.useState(quantity),
15259
- value = _useState[0],
15260
- setValue = _useState[1];
15261
- var inputRef = React.useRef(null);
15262
- React.useEffect(function () {
15263
- if (inputRef.current) {
15264
- inputRef.current.focus();
15265
- inputRef.current.select();
15266
- var closeSelector = function closeSelector(e) {
15267
- if (e.key === 'Escape') {
15268
- onClose();
15269
- }
15270
- };
15271
- document.addEventListener('keydown', closeSelector);
15272
- return function () {
15273
- document.removeEventListener('keydown', closeSelector);
15274
- };
15275
- }
15276
- return function () {};
15277
- }, []);
15278
- return React__default.createElement(StyledContainer, {
15279
- type: exports.RPGUIContainerTypes.Framed,
15280
- width: "25rem"
15281
- }, React__default.createElement(CloseButton$2, {
15282
- className: "container-close",
15283
- onPointerDown: onClose
15284
- }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
15285
- style: {
15286
- width: '100%'
15287
- },
15288
- onSubmit: function onSubmit(e) {
15289
- e.preventDefault();
15290
- var numberValue = Number(value);
15291
- if (Number.isNaN(numberValue)) {
15292
- return;
15293
- }
15294
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15295
- },
15296
- noValidate: true
15297
- }, React__default.createElement(StyledInput, {
15298
- innerRef: inputRef,
15299
- placeholder: "Enter quantity",
15300
- type: "number",
15301
- min: 1,
15302
- max: quantity,
15303
- value: value,
15304
- onChange: function onChange(e) {
15305
- if (Number(e.target.value) >= quantity) {
15306
- setValue(quantity);
15307
- return;
15055
+ }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15056
+ className: "golden"
15057
+ })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15058
+ return React__default.createElement(RadioOptionsWrapper$1, {
15059
+ key: index
15060
+ }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15061
+ atlasIMG: atlasIMG,
15062
+ atlasJSON: atlasJSON,
15063
+ spriteKey: option.imageKey,
15064
+ imgScale: 3
15065
+ })), React__default.createElement("div", null, React__default.createElement("input", {
15066
+ className: "rpgui-radio",
15067
+ type: "radio",
15068
+ value: option.name,
15069
+ name: "test"
15070
+ }), React__default.createElement("label", {
15071
+ onPointerDown: handleClick,
15072
+ style: {
15073
+ display: 'flex',
15074
+ alignItems: 'center'
15308
15075
  }
15309
- setValue(e.target.value);
15310
- },
15311
- onBlur: function onBlur(e) {
15312
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15313
- setValue(newValue);
15314
- }
15315
- }), React__default.createElement(RangeSlider, {
15316
- type: exports.RangeSliderType.Slider,
15317
- valueMin: 1,
15318
- valueMax: quantity,
15319
- width: "100%",
15320
- onChange: setValue,
15321
- value: value
15322
- }), React__default.createElement(Button, {
15076
+ }, option.name, " ", React__default.createElement("br", null), option.description)));
15077
+ })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15323
15078
  buttonType: exports.ButtonTypes.RPGUIButton,
15324
- type: "submit"
15325
- }, "Confirm")));
15079
+ onPointerDown: onClose
15080
+ }, "Cancel"), React__default.createElement(Button, {
15081
+ buttonType: exports.ButtonTypes.RPGUIButton
15082
+ }, "Select")));
15326
15083
  };
15327
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15328
- displayName: "ItemQuantitySelector__StyledContainer",
15329
- componentId: "sc-yfdtpn-0"
15330
- })(["display:flex;flex-direction:column;align-items:center;"]);
15331
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
15332
- displayName: "ItemQuantitySelector__StyledForm",
15333
- componentId: "sc-yfdtpn-1"
15334
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15335
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15336
- displayName: "ItemQuantitySelector__StyledInput",
15337
- componentId: "sc-yfdtpn-2"
15338
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15339
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15340
- displayName: "ItemQuantitySelector__CloseButton",
15341
- componentId: "sc-yfdtpn-3"
15342
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15084
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15085
+ displayName: "ItemSelector__Title",
15086
+ componentId: "sc-gptoxp-0"
15087
+ })(["font-size:0.6rem;color:yellow !important;"]);
15088
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15089
+ displayName: "ItemSelector__Subtitle",
15090
+ componentId: "sc-gptoxp-1"
15091
+ })(["font-size:0.4rem;color:yellow !important;"]);
15092
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15093
+ displayName: "ItemSelector__RadioInputScroller",
15094
+ componentId: "sc-gptoxp-2"
15095
+ })(["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;"]);
15096
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15097
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15098
+ componentId: "sc-gptoxp-3"
15099
+ })(["margin-right:40px;"]);
15100
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15101
+ displayName: "ItemSelector__RadioOptionsWrapper",
15102
+ componentId: "sc-gptoxp-4"
15103
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15104
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15105
+ displayName: "ItemSelector__ButtonWrapper",
15106
+ componentId: "sc-gptoxp-5"
15107
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15343
15108
 
15344
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
15345
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15346
- settingShortcutIndex = _ref.settingShortcutIndex,
15347
- shortcuts = _ref.shortcuts,
15348
- removeShortcut = _ref.removeShortcut,
15349
- atlasJSON = _ref.atlasJSON,
15350
- atlasIMG = _ref.atlasIMG;
15351
- var getContent = function getContent(index) {
15352
- var _shortcuts$index, _shortcuts$index3;
15353
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
15354
- var _shortcuts$index2;
15355
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15356
- if (!_payload) return null;
15357
- return React__default.createElement(SpriteFromAtlas, {
15358
- atlasIMG: atlasIMG,
15359
- atlasJSON: atlasJSON,
15360
- spriteKey: shared.getItemTextureKeyPath({
15361
- key: _payload.texturePath,
15362
- texturePath: _payload.texturePath,
15363
- stackQty: _payload.stackQty || 1,
15364
- isStackable: _payload.isStackable
15365
- }, atlasJSON),
15366
- width: 32,
15367
- height: 32,
15368
- imgScale: 1.6,
15369
- imgStyle: {
15370
- left: '5px'
15371
- }
15372
- });
15109
+ var ListMenu = function ListMenu(_ref) {
15110
+ var options = _ref.options,
15111
+ onSelected = _ref.onSelected,
15112
+ x = _ref.x,
15113
+ y = _ref.y;
15114
+ return React__default.createElement(Container$f, {
15115
+ x: x,
15116
+ y: y
15117
+ }, React__default.createElement("ul", {
15118
+ className: "rpgui-list-imp",
15119
+ style: {
15120
+ overflow: 'hidden'
15373
15121
  }
15374
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15375
- return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15376
- return word[0];
15377
- }));
15378
- };
15379
- return React__default.createElement(Container$i, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
15380
- id: "shortcuts_list"
15381
- }, Array.from({
15382
- length: 6
15383
- }).map(function (_, i) {
15384
- return React__default.createElement(Shortcut, {
15385
- key: i,
15122
+ }, options.map(function (params, index) {
15123
+ return React__default.createElement(ListElement$1, {
15124
+ key: (params == null ? void 0 : params.id) || index,
15386
15125
  onPointerDown: function onPointerDown() {
15387
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15388
- removeShortcut(i);
15389
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
15390
- },
15391
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15392
- isBeingSet: settingShortcutIndex === i,
15393
- id: "shortcutSetter_" + i
15394
- }, getContent(i));
15126
+ onSelected(params == null ? void 0 : params.id);
15127
+ }
15128
+ }, (params == null ? void 0 : params.text) || 'No text');
15395
15129
  })));
15396
15130
  };
15397
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15398
- displayName: "ShortcutsSetter__Container",
15399
- componentId: "sc-xuouuf-0"
15400
- })(["p{margin:0;margin-left:0.5rem;}"]);
15401
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
15402
- displayName: "ShortcutsSetter__Shortcut",
15403
- componentId: "sc-xuouuf-1"
15404
- })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
15405
- var isBeingSet = _ref2.isBeingSet;
15406
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15407
- }, uiColors.darkGray, uiColors.gray);
15408
- var List = /*#__PURE__*/styled.div.withConfig({
15409
- displayName: "ShortcutsSetter__List",
15410
- componentId: "sc-xuouuf-2"
15411
- })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
15131
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
15132
+ displayName: "ListMenu__Container",
15133
+ componentId: "sc-i9097t-0"
15134
+ })(["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) {
15135
+ return props.y || 0;
15136
+ }, function (props) {
15137
+ return props.x || 0;
15138
+ }, uiFonts.size.xsmall);
15139
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15140
+ displayName: "ListMenu__ListElement",
15141
+ componentId: "sc-i9097t-1"
15142
+ })(["margin-right:0.5rem;"]);
15412
15143
 
15413
- var ItemContainer$1 = function ItemContainer(_ref) {
15414
- var itemContainer = _ref.itemContainer,
15144
+ var Pager = function Pager(_ref) {
15145
+ var totalItems = _ref.totalItems,
15146
+ currentPage = _ref.currentPage,
15147
+ itemsPerPage = _ref.itemsPerPage,
15148
+ onPageChange = _ref.onPageChange;
15149
+ var totalPages = Math.ceil(totalItems / itemsPerPage);
15150
+ return React__default.createElement(Container$g, null, React__default.createElement("p", null, "Total items: ", totalItems), React__default.createElement(PagerContainer, null, React__default.createElement("button", {
15151
+ disabled: currentPage === 1,
15152
+ onPointerDown: function onPointerDown() {
15153
+ return onPageChange(Math.max(currentPage - 1, 1));
15154
+ }
15155
+ }, '<'), React__default.createElement("div", {
15156
+ className: "rpgui-container framed-grey"
15157
+ }, currentPage), React__default.createElement("button", {
15158
+ disabled: currentPage === totalPages,
15159
+ onPointerDown: function onPointerDown() {
15160
+ return onPageChange(Math.min(currentPage + 1, totalPages));
15161
+ }
15162
+ }, '>')));
15163
+ };
15164
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
15165
+ displayName: "Pager__Container",
15166
+ componentId: "sc-1ekmf50-0"
15167
+ })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
15168
+ var PagerContainer = /*#__PURE__*/styled.div.withConfig({
15169
+ displayName: "Pager__PagerContainer",
15170
+ componentId: "sc-1ekmf50-1"
15171
+ })(["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);
15172
+
15173
+ var ConfirmModal = function ConfirmModal(_ref) {
15174
+ var onConfirm = _ref.onConfirm,
15415
15175
  onClose = _ref.onClose,
15416
- _onMouseOver = _ref.onMouseOver,
15417
- _onSelected = _ref.onSelected,
15418
- onItemClick = _ref.onItemClick,
15419
- type = _ref.type,
15420
- atlasJSON = _ref.atlasJSON,
15176
+ message = _ref.message;
15177
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Background, null), React__default.createElement(Container$h, {
15178
+ onPointerDown: onClose
15179
+ }, React__default.createElement(DraggableContainer, {
15180
+ width: "auto",
15181
+ dragDisabled: true
15182
+ }, React__default.createElement(Wrapper$1, {
15183
+ onPointerDown: function onPointerDown(e) {
15184
+ return e.stopPropagation();
15185
+ }
15186
+ }, React__default.createElement("p", null, message != null ? message : 'Are you sure?'), React__default.createElement(ButtonsWrapper, null, React__default.createElement("div", {
15187
+ className: "cancel-button"
15188
+ }, React__default.createElement(Button, {
15189
+ buttonType: exports.ButtonTypes.RPGUIButton,
15190
+ onPointerDown: onClose
15191
+ }, "No")), React__default.createElement(Button, {
15192
+ buttonType: exports.ButtonTypes.RPGUIButton,
15193
+ onPointerDown: onConfirm
15194
+ }, "Yes"))))));
15195
+ };
15196
+ var Background = /*#__PURE__*/styled.div.withConfig({
15197
+ displayName: "ConfirmModal__Background",
15198
+ componentId: "sc-11qkyu1-0"
15199
+ })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
15200
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15201
+ displayName: "ConfirmModal__Container",
15202
+ componentId: "sc-11qkyu1-1"
15203
+ })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
15204
+ var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
15205
+ displayName: "ConfirmModal__Wrapper",
15206
+ componentId: "sc-11qkyu1-2"
15207
+ })(["p{margin:0;}"]);
15208
+ var ButtonsWrapper = /*#__PURE__*/styled.div.withConfig({
15209
+ displayName: "ConfirmModal__ButtonsWrapper",
15210
+ componentId: "sc-11qkyu1-3"
15211
+ })(["display:flex;justify-content:flex-end;gap:5px;margin-top:5px;.cancel-button{filter:grayscale(0.7);}"]);
15212
+
15213
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15214
+ var atlasJSON = _ref.atlasJSON,
15421
15215
  atlasIMG = _ref.atlasIMG,
15422
- _ref$disableContextMe = _ref.disableContextMenu,
15423
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15424
- onItemDragEnd = _ref.onItemDragEnd,
15425
- onItemDragStart = _ref.onItemDragStart,
15426
- onItemPlaceDrop = _ref.onItemPlaceDrop,
15427
- _onOutsideDrop = _ref.onOutsideDrop,
15428
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15429
- initialPosition = _ref.initialPosition,
15430
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15216
+ item = _ref.item,
15217
+ itemPrice = _ref.itemPrice,
15218
+ equipmentSet = _ref.equipmentSet,
15431
15219
  scale = _ref.scale,
15432
- shortcuts = _ref.shortcuts,
15433
- setItemShortcut = _ref.setItemShortcut,
15434
- removeShortcut = _ref.removeShortcut,
15435
- equipmentSet = _ref.equipmentSet,
15436
- isDepotSystem = _ref.isDepotSystem,
15437
- onPositionChangeEnd = _ref.onPositionChangeEnd,
15438
- onPositionChangeStart = _ref.onPositionChangeStart;
15439
- var _useState = React.useState({
15440
- isOpen: false,
15441
- maxQuantity: 1,
15442
- callback: function callback(_quantity) {}
15443
- }),
15444
- quantitySelect = _useState[0],
15445
- setQuantitySelect = _useState[1];
15446
- var _useState2 = React.useState(-1),
15447
- settingShortcutIndex = _useState2[0],
15448
- setSettingShortcutIndex = _useState2[1];
15449
- var handleSetShortcut = function handleSetShortcut(item, index) {
15450
- if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
15451
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15452
- }
15453
- };
15454
- var onRenderSlots = function onRenderSlots() {
15455
- var slots = [];
15456
- for (var i = 0; i < itemContainer.slotQty; i++) {
15457
- var _itemContainer$slots;
15458
- slots.push(React__default.createElement(ItemSlot, {
15459
- isContextMenuDisabled: disableContextMenu,
15460
- key: i,
15461
- slotIndex: i,
15462
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15463
- itemContainerType: type,
15464
- onMouseOver: function onMouseOver(event, slotIndex, item) {
15465
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15466
- },
15467
- onPointerDown: function onPointerDown(itemType, containerType, item) {
15468
- if (settingShortcutIndex !== -1) {
15469
- setSettingShortcutIndex(-1);
15470
- handleSetShortcut(item, settingShortcutIndex);
15471
- } else if (onItemClick) onItemClick(item, itemType, containerType);
15472
- },
15473
- onSelected: function onSelected(optionId, item) {
15474
- if (_onSelected) _onSelected(optionId, item);
15475
- },
15476
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15477
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15478
- },
15479
- onDragEnd: function onDragEnd(quantity) {
15480
- if (onItemDragEnd) onItemDragEnd(quantity);
15481
- },
15482
- dragScale: scale,
15483
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15484
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15485
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15486
- setQuantitySelect({
15487
- isOpen: true,
15488
- maxQuantity: maxQuantity,
15489
- callback: callback
15490
- });
15491
- },
15492
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15493
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15494
- },
15495
- onOutsideDrop: function onOutsideDrop(item, position) {
15496
- if (_onOutsideDrop) _onOutsideDrop(item, position);
15497
- },
15498
- atlasIMG: atlasIMG,
15499
- atlasJSON: atlasJSON,
15500
- isSelectingShortcut: settingShortcutIndex !== -1,
15501
- equipmentSet: equipmentSet,
15502
- setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
15503
- isDepotSystem: isDepotSystem
15504
- }));
15505
- }
15506
- return slots;
15507
- };
15508
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
15509
- title: itemContainer.name || 'Container',
15510
- onClose: onClose,
15511
- initialPosition: initialPosition,
15512
- scale: scale,
15513
- onPositionChangeEnd: onPositionChangeEnd,
15514
- onPositionChangeStart: onPositionChangeStart
15515
- }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
15516
- setSettingShortcutIndex: setSettingShortcutIndex,
15517
- settingShortcutIndex: settingShortcutIndex,
15518
- shortcuts: shortcuts,
15519
- removeShortcut: removeShortcut,
15520
- atlasIMG: atlasIMG,
15521
- atlasJSON: atlasJSON
15522
- }), React__default.createElement(ItemsContainer, {
15523
- className: "item-container-body"
15524
- }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
15525
- quantity: quantitySelect.maxQuantity,
15526
- onConfirm: function onConfirm(quantity) {
15527
- quantitySelect.callback(quantity);
15528
- setQuantitySelect({
15529
- isOpen: false,
15530
- maxQuantity: 1,
15531
- callback: function callback() {}
15532
- });
15533
- },
15534
- onClose: function onClose() {
15535
- quantitySelect.callback(-1);
15536
- setQuantitySelect({
15537
- isOpen: false,
15538
- maxQuantity: 1,
15539
- callback: function callback() {}
15540
- });
15541
- }
15542
- }))));
15543
- };
15544
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15545
- displayName: "ItemContainer__ItemsContainer",
15546
- componentId: "sc-15y5p9l-0"
15547
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15548
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15549
- displayName: "ItemContainer__QuantitySelectorContainer",
15550
- componentId: "sc-15y5p9l-1"
15551
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15552
-
15553
- var ItemSelector = function ItemSelector(_ref) {
15554
- var atlasIMG = _ref.atlasIMG,
15555
- atlasJSON = _ref.atlasJSON,
15556
- options = _ref.options,
15557
- onClose = _ref.onClose,
15558
- onSelect = _ref.onSelect;
15559
- var _useState = React.useState(),
15560
- selectedValue = _useState[0],
15561
- setSelectedValue = _useState[1];
15562
- var handleClick = function handleClick() {
15563
- var element = document.querySelector("input[name='test']:checked");
15564
- var elementValue = element.value;
15565
- setSelectedValue(elementValue);
15566
- };
15567
- React.useEffect(function () {
15568
- if (selectedValue) {
15569
- onSelect(selectedValue);
15570
- }
15571
- }, [selectedValue]);
15572
- return React__default.createElement(DraggableContainer, {
15573
- type: exports.RPGUIContainerTypes.Framed,
15574
- width: "500px",
15575
- cancelDrag: ".equipment-container-body .arrow-selector",
15576
- onCloseButton: function onCloseButton() {
15577
- if (onClose) {
15578
- onClose();
15579
- }
15580
- }
15581
- }, React__default.createElement("div", {
15582
- style: {
15583
- width: '100%'
15584
- }
15585
- }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15586
- className: "golden"
15587
- })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15588
- return React__default.createElement(RadioOptionsWrapper$1, {
15589
- key: index
15590
- }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15591
- atlasIMG: atlasIMG,
15592
- atlasJSON: atlasJSON,
15593
- spriteKey: option.imageKey,
15594
- imgScale: 3
15595
- })), React__default.createElement("div", null, React__default.createElement("input", {
15596
- className: "rpgui-radio",
15597
- type: "radio",
15598
- value: option.name,
15599
- name: "test"
15600
- }), React__default.createElement("label", {
15601
- onPointerDown: handleClick,
15602
- style: {
15603
- display: 'flex',
15604
- alignItems: 'center'
15605
- }
15606
- }, option.name, " ", React__default.createElement("br", null), option.description)));
15607
- })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15608
- buttonType: exports.ButtonTypes.RPGUIButton,
15609
- onPointerDown: onClose
15610
- }, "Cancel"), React__default.createElement(Button, {
15611
- buttonType: exports.ButtonTypes.RPGUIButton
15612
- }, "Select")));
15613
- };
15614
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15615
- displayName: "ItemSelector__Title",
15616
- componentId: "sc-gptoxp-0"
15617
- })(["font-size:0.6rem;color:yellow !important;"]);
15618
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15619
- displayName: "ItemSelector__Subtitle",
15620
- componentId: "sc-gptoxp-1"
15621
- })(["font-size:0.4rem;color:yellow !important;"]);
15622
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15623
- displayName: "ItemSelector__RadioInputScroller",
15624
- componentId: "sc-gptoxp-2"
15625
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15626
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15627
- displayName: "ItemSelector__SpriteAtlasWrapper",
15628
- componentId: "sc-gptoxp-3"
15629
- })(["margin-right:40px;"]);
15630
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15631
- displayName: "ItemSelector__RadioOptionsWrapper",
15632
- componentId: "sc-gptoxp-4"
15633
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15634
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15635
- displayName: "ItemSelector__ButtonWrapper",
15636
- componentId: "sc-gptoxp-5"
15637
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15638
-
15639
- var ListMenu = function ListMenu(_ref) {
15640
- var options = _ref.options,
15641
- onSelected = _ref.onSelected,
15642
- x = _ref.x,
15643
- y = _ref.y;
15644
- return React__default.createElement(Container$j, {
15645
- x: x,
15646
- y: y
15647
- }, React__default.createElement("ul", {
15648
- className: "rpgui-list-imp",
15649
- style: {
15650
- overflow: 'hidden'
15651
- }
15652
- }, options.map(function (params, index) {
15653
- return React__default.createElement(ListElement$1, {
15654
- key: (params == null ? void 0 : params.id) || index,
15655
- onPointerDown: function onPointerDown() {
15656
- onSelected(params == null ? void 0 : params.id);
15657
- }
15658
- }, (params == null ? void 0 : params.text) || 'No text');
15659
- })));
15660
- };
15661
- var Container$j = /*#__PURE__*/styled.div.withConfig({
15662
- displayName: "ListMenu__Container",
15663
- componentId: "sc-i9097t-0"
15664
- })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
15665
- return props.y || 0;
15666
- }, function (props) {
15667
- return props.x || 0;
15668
- }, uiFonts.size.xsmall);
15669
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15670
- displayName: "ListMenu__ListElement",
15671
- componentId: "sc-i9097t-1"
15672
- })(["margin-right:0.5rem;"]);
15673
-
15674
- var MarketplaceRows = function MarketplaceRows(_ref) {
15675
- var atlasJSON = _ref.atlasJSON,
15676
- atlasIMG = _ref.atlasIMG,
15677
- item = _ref.item,
15678
- itemPrice = _ref.itemPrice,
15679
- equipmentSet = _ref.equipmentSet,
15680
- scale = _ref.scale,
15681
- onHandleClick = _ref.onHandleClick;
15682
- return React__default.createElement(MarketPlaceWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(ItemInfoWrapper, {
15220
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15221
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15222
+ disabled = _ref.disabled;
15223
+ return React__default.createElement(MarketplaceWrapper, null, React__default.createElement(ItemInfoWrapper, {
15683
15224
  item: item,
15684
15225
  atlasIMG: atlasIMG,
15685
15226
  atlasJSON: atlasJSON,
15686
15227
  equipmentSet: equipmentSet,
15687
15228
  scale: scale
15688
- }, React__default.createElement(SpriteFromAtlas, {
15229
+ }, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(SpriteFromAtlas, {
15689
15230
  atlasIMG: atlasIMG,
15690
15231
  atlasJSON: atlasJSON,
15691
15232
  spriteKey: shared.getItemTextureKeyPath({
@@ -15695,135 +15236,770 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
15695
15236
  isStackable: item.isStackable
15696
15237
  }, atlasJSON),
15697
15238
  imgScale: 2
15698
- }))), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15239
+ }), React__default.createElement(QuantityContainer, null, item.stackQty && item.stackQty > 1 && "x" + Math.round(item.stackQty * 10) / 10)), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15699
15240
  maxLines: 1,
15700
- maxWidth: "150px",
15241
+ maxWidth: "200px",
15701
15242
  fontSize: "10px"
15702
- }, item.name)))), React__default.createElement(QuantityContainer, null, React__default.createElement(QuantityDisplay, null, React__default.createElement(TextOverlay$1, null, React__default.createElement(Item$1, null, React__default.createElement(Ellipsis, {
15703
- maxLines: 1,
15704
- maxWidth: "150px",
15705
- fontSize: "10px"
15706
- }, item.rarity))))), React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(SpriteFromAtlas, {
15243
+ }, item.name))))), React__default.createElement(Flex$1, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(SpriteFromAtlas, {
15707
15244
  atlasIMG: atlasIMG,
15708
15245
  atlasJSON: atlasJSON,
15709
- spriteKey: 'others/gold-coin-qty-4.png',
15246
+ spriteKey: "others/gold-coin-qty-5.png",
15710
15247
  imgScale: 2
15711
15248
  })), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15712
15249
  maxLines: 1,
15713
- maxWidth: "150px",
15250
+ maxWidth: "200px",
15714
15251
  fontSize: "10px"
15715
15252
  }, "$", itemPrice)))), React__default.createElement(ButtonContainer$1, null, React__default.createElement(Button, {
15716
15253
  buttonType: exports.ButtonTypes.RPGUIButton,
15717
- onClick: function onClick() {
15718
- return onHandleClick(item.name);
15254
+ disabled: disabled,
15255
+ onPointerDown: function onPointerDown() {
15256
+ if (disabled) return;
15257
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy();
15258
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove();
15719
15259
  }
15720
- }, "Buy")));
15260
+ }, onMarketPlaceItemBuy ? 'Buy' : 'Remove'))));
15721
15261
  };
15722
- var MarketPlaceWrapper = /*#__PURE__*/styled.div.withConfig({
15723
- displayName: "MarketplaceRows__MarketPlaceWrapper",
15262
+ var MarketplaceWrapper = /*#__PURE__*/styled.div.withConfig({
15263
+ displayName: "MarketplaceRows__MarketplaceWrapper",
15724
15264
  componentId: "sc-wmpr1o-0"
15725
- })(["margin:auto;display:grid;grid-template-columns:35% 20% 20% 25%;&:hover{background-color:", ";}padding:0.5rem;p{font-size:0.8rem;}"], uiColors.darkGray);
15265
+ })(["margin:auto;display:flex;justify-content:space-between;padding:0.5rem;&:hover{background-color:", ";}p{font-size:0.8rem;}"], uiColors.darkGray);
15266
+ var QuantityContainer = /*#__PURE__*/styled.p.withConfig({
15267
+ displayName: "MarketplaceRows__QuantityContainer",
15268
+ componentId: "sc-wmpr1o-1"
15269
+ })(["position:absolute;display:block;top:15px;left:25px;font-size:", " !important;"], uiFonts.size.xsmall);
15270
+ var Flex$1 = /*#__PURE__*/styled.div.withConfig({
15271
+ displayName: "MarketplaceRows__Flex",
15272
+ componentId: "sc-wmpr1o-2"
15273
+ })(["display:flex;gap:24px;"]);
15726
15274
  var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15727
15275
  displayName: "MarketplaceRows__ItemIconContainer",
15728
- componentId: "sc-wmpr1o-1"
15276
+ componentId: "sc-wmpr1o-3"
15729
15277
  })(["display:flex;justify-content:flex-start;align-items:center;"]);
15730
15278
  var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15731
15279
  displayName: "MarketplaceRows__SpriteContainer",
15732
- componentId: "sc-wmpr1o-2"
15733
- })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15734
- var Item$1 = /*#__PURE__*/styled.span.withConfig({
15735
- displayName: "MarketplaceRows__Item",
15736
- componentId: "sc-wmpr1o-3"
15737
- })(["color:white;text-align:center;z-index:1;width:100%;"]);
15738
- var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15739
- displayName: "MarketplaceRows__TextOverlay",
15740
15280
  componentId: "sc-wmpr1o-4"
15741
- })(["width:100%;position:relative;"]);
15742
- var QuantityContainer = /*#__PURE__*/styled.div.withConfig({
15743
- displayName: "MarketplaceRows__QuantityContainer",
15744
- componentId: "sc-wmpr1o-5"
15745
- })(["position:relative;display:flex;min-width:100px;justify-content:center;align-items:center;"]);
15746
- var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
15747
- displayName: "MarketplaceRows__QuantityDisplay",
15748
- componentId: "sc-wmpr1o-6"
15749
- })(["font-size:", ";"], uiFonts.size.small);
15281
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15750
15282
  var PriceValue = /*#__PURE__*/styled.div.withConfig({
15751
15283
  displayName: "MarketplaceRows__PriceValue",
15752
- componentId: "sc-wmpr1o-7"
15284
+ componentId: "sc-wmpr1o-5"
15753
15285
  })(["margin-left:40px;"]);
15754
15286
  var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15755
15287
  displayName: "MarketplaceRows__ButtonContainer",
15756
- componentId: "sc-wmpr1o-8"
15288
+ componentId: "sc-wmpr1o-6"
15757
15289
  })(["margin:auto;"]);
15758
15290
 
15759
- var Marketplace = function Marketplace(_ref) {
15291
+ var OrderByType;
15292
+ (function (OrderByType) {
15293
+ OrderByType["Name"] = "Name";
15294
+ OrderByType["Price"] = "Price";
15295
+ })(OrderByType || (OrderByType = {}));
15296
+ var itemTypeOptions = /*#__PURE__*/['Type'].concat(Object.keys(shared.ItemSubType)).filter(function (type) {
15297
+ return type !== 'DeadBody';
15298
+ }).map(function (itemType, index) {
15299
+ return {
15300
+ id: index + 1,
15301
+ value: itemType,
15302
+ option: itemType
15303
+ };
15304
+ });
15305
+ var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(shared.ItemRarities)).map(function (itemRarity, index) {
15306
+ return {
15307
+ id: index + 1,
15308
+ value: itemRarity,
15309
+ option: itemRarity
15310
+ };
15311
+ });
15312
+ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (orderBy, index) {
15313
+ return [{
15314
+ id: index * 2 + 1,
15315
+ value: orderBy.toLowerCase(),
15316
+ option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15317
+ style: {
15318
+ transform: 'translateY(-2px)',
15319
+ display: 'inline-block'
15320
+ }
15321
+ }, "\u2193"))
15322
+ }, {
15323
+ id: index * 2 + 2,
15324
+ value: '-' + orderBy.toLowerCase(),
15325
+ option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15326
+ style: {
15327
+ transform: 'translateY(-2px)',
15328
+ display: 'inline-block'
15329
+ }
15330
+ }, "\u2191"))
15331
+ }];
15332
+ });
15333
+
15334
+ var BuyPanel = function BuyPanel(_ref) {
15760
15335
  var items = _ref.items,
15761
15336
  atlasIMG = _ref.atlasIMG,
15762
15337
  atlasJSON = _ref.atlasJSON,
15763
- onClose = _ref.onClose,
15764
- optionsType = _ref.optionsType,
15765
- optionsRarity = _ref.optionsRarity,
15766
- optionsPrice = _ref.optionsPrice,
15767
15338
  onChangeType = _ref.onChangeType,
15768
15339
  onChangeRarity = _ref.onChangeRarity,
15769
15340
  onChangeOrder = _ref.onChangeOrder,
15770
15341
  onChangeNameInput = _ref.onChangeNameInput,
15771
- scale = _ref.scale,
15342
+ onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15343
+ onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15344
+ onChangePriceInput = _ref.onChangePriceInput,
15772
15345
  equipmentSet = _ref.equipmentSet,
15773
- onHandleClick = _ref.onHandleClick;
15774
- return React__default.createElement(DraggableContainer, {
15775
- type: exports.RPGUIContainerTypes.Framed,
15776
- onCloseButton: function onCloseButton() {
15777
- if (onClose) onClose();
15346
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15347
+ characterId = _ref.characterId,
15348
+ enableHotkeys = _ref.enableHotkeys,
15349
+ disableHotkeys = _ref.disableHotkeys;
15350
+ var _useState = React.useState(''),
15351
+ name = _useState[0],
15352
+ setName = _useState[1];
15353
+ var _useState2 = React.useState([undefined, undefined]),
15354
+ mainLevel = _useState2[0],
15355
+ setMainLevel = _useState2[1];
15356
+ var _useState3 = React.useState([undefined, undefined]),
15357
+ secondaryLevel = _useState3[0],
15358
+ setSecondaryLevel = _useState3[1];
15359
+ var _useState4 = React.useState([undefined, undefined]),
15360
+ price = _useState4[0],
15361
+ setPrice = _useState4[1];
15362
+ var _useState5 = React.useState(null),
15363
+ buyingItemId = _useState5[0],
15364
+ setBuyingItemId = _useState5[1];
15365
+ return React__default.createElement(React__default.Fragment, null, buyingItemId && React__default.createElement(ConfirmModal, {
15366
+ onClose: setBuyingItemId.bind(null, null),
15367
+ onConfirm: function onConfirm() {
15368
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15369
+ setBuyingItemId(null);
15370
+ enableHotkeys == null ? void 0 : enableHotkeys();
15778
15371
  },
15779
- width: "800px",
15780
- cancelDrag: "#MarketContainer",
15781
- scale: scale
15782
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(InputWrapper, null, React__default.createElement("p", null, " Search By Name"), React__default.createElement(Input, {
15783
- onChange: onChangeNameInput,
15784
- placeholder: 'Search...'
15785
- })), React__default.createElement(WrapperContainer, null, React__default.createElement(StyledDropdown, {
15786
- options: optionsType,
15372
+ message: "Are you sure to buy this item?"
15373
+ }), React__default.createElement(InputWrapper, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
15374
+ onChange: function onChange(e) {
15375
+ setName(e.target.value);
15376
+ onChangeNameInput(e.target.value);
15377
+ },
15378
+ value: name,
15379
+ placeholder: "Enter name...",
15380
+ onBlur: enableHotkeys,
15381
+ onFocus: disableHotkeys
15382
+ })), React__default.createElement(OptionsWrapper, null, React__default.createElement(FilterInputsWrapper, null, React__default.createElement("div", null, React__default.createElement("p", null, "Main level"), React__default.createElement(Input, {
15383
+ onChange: function onChange(e) {
15384
+ setMainLevel([Number(e.target.value), mainLevel[1]]);
15385
+ onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15386
+ },
15387
+ placeholder: "Min",
15388
+ type: "number",
15389
+ min: 0,
15390
+ onBlur: enableHotkeys,
15391
+ onFocus: disableHotkeys
15392
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15393
+ onChange: function onChange(e) {
15394
+ setMainLevel([mainLevel[0], Number(e.target.value)]);
15395
+ onChangeMainLevelInput([mainLevel[0], Number(e.target.value)]);
15396
+ },
15397
+ placeholder: "Max",
15398
+ type: "number",
15399
+ min: 0,
15400
+ onBlur: enableHotkeys,
15401
+ onFocus: disableHotkeys
15402
+ })), React__default.createElement("div", null, React__default.createElement("p", null, "Secondary level"), React__default.createElement(Input, {
15403
+ onChange: function onChange(e) {
15404
+ setSecondaryLevel([Number(e.target.value), secondaryLevel[1]]);
15405
+ onChangeSecondaryLevelInput([Number(e.target.value), secondaryLevel[1]]);
15406
+ },
15407
+ placeholder: "Min",
15408
+ type: "number",
15409
+ min: 0,
15410
+ onBlur: enableHotkeys,
15411
+ onFocus: disableHotkeys
15412
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15413
+ onChange: function onChange(e) {
15414
+ setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15415
+ onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15416
+ },
15417
+ placeholder: "Max",
15418
+ type: "number",
15419
+ min: 0,
15420
+ onBlur: enableHotkeys,
15421
+ onFocus: disableHotkeys
15422
+ })), React__default.createElement("div", null, React__default.createElement("p", null, "Price"), React__default.createElement(Input, {
15423
+ onChange: function onChange(e) {
15424
+ setPrice([Number(e.target.value), price[1]]);
15425
+ onChangePriceInput([Number(e.target.value), price[1]]);
15426
+ },
15427
+ placeholder: "Min",
15428
+ type: "number",
15429
+ min: 0,
15430
+ className: "big-input",
15431
+ onBlur: enableHotkeys,
15432
+ onFocus: disableHotkeys
15433
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15434
+ onChange: function onChange(e) {
15435
+ setPrice([price[0], Number(e.target.value)]);
15436
+ onChangePriceInput([price[0], Number(e.target.value)]);
15437
+ },
15438
+ placeholder: "Max",
15439
+ type: "number",
15440
+ min: 0,
15441
+ className: "big-input",
15442
+ onBlur: enableHotkeys,
15443
+ onFocus: disableHotkeys
15444
+ }))), React__default.createElement(WrapperContainer, null, React__default.createElement(StyledDropdown, {
15445
+ options: itemTypeOptions,
15787
15446
  onChange: onChangeType,
15788
- width: '220px'
15447
+ width: "95%"
15789
15448
  }), React__default.createElement(StyledDropdown, {
15790
- options: optionsRarity,
15449
+ options: itemRarityOptions,
15791
15450
  onChange: onChangeRarity,
15792
- width: '220px'
15451
+ width: "95%"
15793
15452
  }), React__default.createElement(StyledDropdown, {
15794
- options: optionsPrice,
15453
+ options: orderByOptions,
15795
15454
  onChange: onChangeOrder,
15796
- width: '220px'
15797
- })), React__default.createElement(ItemComponentScrollWrapper, {
15455
+ width: "100%"
15456
+ }))), React__default.createElement(ItemComponentScrollWrapper, {
15798
15457
  id: "MarketContainer"
15799
- }, items == null ? void 0 : items.map(function (item, index) {
15458
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
15459
+ var item = _ref2.item,
15460
+ price = _ref2.price,
15461
+ _id = _ref2._id,
15462
+ owner = _ref2.owner;
15800
15463
  return React__default.createElement(MarketplaceRows, {
15801
15464
  key: item.key + "_" + index,
15802
15465
  atlasIMG: atlasIMG,
15803
15466
  atlasJSON: atlasJSON,
15804
15467
  item: item,
15805
- itemPrice: 10,
15468
+ itemPrice: price,
15806
15469
  equipmentSet: equipmentSet,
15807
- onHandleClick: onHandleClick
15470
+ onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
15471
+ disabled: owner === characterId
15808
15472
  });
15809
- }))));
15473
+ })));
15474
+ };
15475
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15476
+ displayName: "BuyPanel__InputWrapper",
15477
+ componentId: "sc-1si8t7i-0"
15478
+ })(["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;}"]);
15479
+ var OptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15480
+ displayName: "BuyPanel__OptionsWrapper",
15481
+ componentId: "sc-1si8t7i-1"
15482
+ })(["width:100%;height:100px;"]);
15483
+ var FilterInputsWrapper = /*#__PURE__*/styled.div.withConfig({
15484
+ displayName: "BuyPanel__FilterInputsWrapper",
15485
+ componentId: "sc-1si8t7i-2"
15486
+ })(["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;}"]);
15487
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15488
+ displayName: "BuyPanel__WrapperContainer",
15489
+ componentId: "sc-1si8t7i-3"
15490
+ })(["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;}"]);
15491
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15492
+ displayName: "BuyPanel__ItemComponentScrollWrapper",
15493
+ componentId: "sc-1si8t7i-4"
15494
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15495
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15496
+ displayName: "BuyPanel__StyledDropdown",
15497
+ componentId: "sc-1si8t7i-5"
15498
+ })(["margin:3px !important;width:170px !important;"]);
15499
+
15500
+ var ManagmentPanel = function ManagmentPanel(_ref) {
15501
+ var items = _ref.items,
15502
+ atlasIMG = _ref.atlasIMG,
15503
+ atlasJSON = _ref.atlasJSON,
15504
+ onChangeNameInput = _ref.onChangeNameInput,
15505
+ equipmentSet = _ref.equipmentSet,
15506
+ availableGold = _ref.availableGold,
15507
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15508
+ selectedItemToSell = _ref.selectedItemToSell,
15509
+ onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
15510
+ onAddItemToMarketplace = _ref.onAddItemToMarketplace,
15511
+ enableHotkeys = _ref.enableHotkeys,
15512
+ disableHotkeys = _ref.disableHotkeys,
15513
+ onMoneyWithdraw = _ref.onMoneyWithdraw;
15514
+ var _useState = React.useState(''),
15515
+ name = _useState[0],
15516
+ setName = _useState[1];
15517
+ var _useState2 = React.useState(''),
15518
+ price = _useState2[0],
15519
+ setPrice = _useState2[1];
15520
+ var _useState3 = React.useState(false),
15521
+ isCreatingOffer = _useState3[0],
15522
+ setIsCreatingOffer = _useState3[1];
15523
+ var _useState4 = React.useState(null),
15524
+ removingItemId = _useState4[0],
15525
+ setRemovingItemId = _useState4[1];
15526
+ return React__default.createElement(React__default.Fragment, null, isCreatingOffer && React__default.createElement(ConfirmModal, {
15527
+ onClose: setIsCreatingOffer.bind(null, false),
15528
+ onConfirm: function onConfirm() {
15529
+ if (selectedItemToSell && price && Number(price)) {
15530
+ onAddItemToMarketplace(selectedItemToSell, Number(price));
15531
+ setPrice('');
15532
+ onSelectedItemToSellRemove(selectedItemToSell);
15533
+ setIsCreatingOffer(false);
15534
+ enableHotkeys == null ? void 0 : enableHotkeys();
15535
+ }
15536
+ },
15537
+ message: "Are you sure to create this offer?"
15538
+ }), removingItemId && React__default.createElement(ConfirmModal, {
15539
+ onClose: setRemovingItemId.bind(null, null),
15540
+ onConfirm: function onConfirm() {
15541
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
15542
+ setRemovingItemId(null);
15543
+ enableHotkeys == null ? void 0 : enableHotkeys();
15544
+ },
15545
+ message: "Are you sure to remove this item?"
15546
+ }), React__default.createElement(InputWrapper$1, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
15547
+ onChange: function onChange(e) {
15548
+ setName(e.target.value);
15549
+ onChangeNameInput(e.target.value);
15550
+ },
15551
+ value: name,
15552
+ placeholder: "Enter name...",
15553
+ onBlur: enableHotkeys,
15554
+ onFocus: disableHotkeys
15555
+ })), React__default.createElement(OptionsWrapper$1, null, React__default.createElement(InnerOptionsWrapper, null, React__default.createElement(SellDescription, null, "Click on item in inventory to sell it"), React__default.createElement(Flex$2, null, React__default.createElement(ItemSlot, {
15556
+ slotIndex: 0,
15557
+ atlasIMG: atlasIMG,
15558
+ atlasJSON: atlasJSON,
15559
+ onPointerDown: function onPointerDown(_, __, item) {
15560
+ return onSelectedItemToSellRemove(item);
15561
+ },
15562
+ item: selectedItemToSell
15563
+ }), React__default.createElement(PriceInputWrapper, null, React__default.createElement("p", null, "Enter price"), React__default.createElement(Flex$2, null, React__default.createElement(Input, {
15564
+ onChange: function onChange(e) {
15565
+ setPrice(e.target.value);
15566
+ },
15567
+ value: price,
15568
+ placeholder: "Enter price...",
15569
+ type: "number",
15570
+ disabled: !selectedItemToSell,
15571
+ onBlur: enableHotkeys,
15572
+ onFocus: disableHotkeys
15573
+ }), React__default.createElement(Button, {
15574
+ buttonType: exports.ButtonTypes.RPGUIButton,
15575
+ disabled: !selectedItemToSell || !price,
15576
+ onPointerDown: function onPointerDown() {
15577
+ if (selectedItemToSell && price && Number(price)) {
15578
+ setIsCreatingOffer(true);
15579
+ }
15580
+ }
15581
+ }, "Create offer"))))), React__default.createElement(InnerOptionsWrapper, null, React__default.createElement(AvailableGold, {
15582
+ "$disabled": availableGold === 0
15583
+ }, React__default.createElement("p", null, "Available gold"), React__default.createElement("p", {
15584
+ className: "center"
15585
+ }, "$", availableGold), React__default.createElement(Button, {
15586
+ buttonType: exports.ButtonTypes.RPGUIButton,
15587
+ disabled: availableGold === 0,
15588
+ onPointerDown: function onPointerDown() {
15589
+ return availableGold > 0 && onMoneyWithdraw();
15590
+ }
15591
+ }, "Withdraw")))), React__default.createElement(ItemComponentScrollWrapper$1, {
15592
+ id: "MarketContainer"
15593
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
15594
+ var item = _ref2.item,
15595
+ price = _ref2.price,
15596
+ _id = _ref2._id;
15597
+ return React__default.createElement(MarketplaceRows, {
15598
+ key: item.key + "_" + index,
15599
+ atlasIMG: atlasIMG,
15600
+ atlasJSON: atlasJSON,
15601
+ item: item,
15602
+ itemPrice: price,
15603
+ equipmentSet: equipmentSet,
15604
+ onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
15605
+ });
15606
+ })));
15607
+ };
15608
+ var Flex$2 = /*#__PURE__*/styled.div.withConfig({
15609
+ displayName: "ManagmentPanel__Flex",
15610
+ componentId: "sc-1yyi6jn-0"
15611
+ })(["display:flex;gap:5px;align-items:center;"]);
15612
+ var InputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15613
+ displayName: "ManagmentPanel__InputWrapper",
15614
+ componentId: "sc-1yyi6jn-1"
15615
+ })(["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;}"]);
15616
+ var OptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15617
+ displayName: "ManagmentPanel__OptionsWrapper",
15618
+ componentId: "sc-1yyi6jn-2"
15619
+ })(["width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;"]);
15620
+ var InnerOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15621
+ displayName: "ManagmentPanel__InnerOptionsWrapper",
15622
+ componentId: "sc-1yyi6jn-3"
15623
+ })(["display:flex;justify-content:space-between;flex-direction:column;height:100%;"]);
15624
+ var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15625
+ displayName: "ManagmentPanel__ItemComponentScrollWrapper",
15626
+ componentId: "sc-1yyi6jn-4"
15627
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15628
+ var PriceInputWrapper = /*#__PURE__*/styled.div.withConfig({
15629
+ displayName: "ManagmentPanel__PriceInputWrapper",
15630
+ componentId: "sc-1yyi6jn-5"
15631
+ })(["p{margin:0;}input{width:200px;}"]);
15632
+ var SellDescription = /*#__PURE__*/styled.p.withConfig({
15633
+ displayName: "ManagmentPanel__SellDescription",
15634
+ componentId: "sc-1yyi6jn-6"
15635
+ })(["margin:0;font-size:", " !important;"], uiFonts.size.xsmall);
15636
+ var AvailableGold = /*#__PURE__*/styled.div.withConfig({
15637
+ displayName: "ManagmentPanel__AvailableGold",
15638
+ componentId: "sc-1yyi6jn-7"
15639
+ })(["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) {
15640
+ return props.$disabled ? uiColors.lightGray : 'white';
15641
+ }, uiFonts.size.large, function (props) {
15642
+ return props.$disabled ? uiColors.lightGray : uiColors.lightGreen;
15643
+ });
15644
+
15645
+ var Marketplace = function Marketplace(props) {
15646
+ var onClose = props.onClose,
15647
+ scale = props.scale,
15648
+ onYourPanelToggle = props.onYourPanelToggle;
15649
+ var _useState = React.useState(false),
15650
+ isYourPanel = _useState[0],
15651
+ setIsYourPanel = _useState[1];
15652
+ return React__default.createElement(DraggableContainer, {
15653
+ type: exports.RPGUIContainerTypes.Framed,
15654
+ onCloseButton: function onCloseButton() {
15655
+ if (onClose) onClose();
15656
+ },
15657
+ width: "800px",
15658
+ cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
15659
+ scale: scale
15660
+ }, isYourPanel && React__default.createElement(React__default.Fragment, null, React__default.createElement(ManagmentPanel, Object.assign({}, props)), React__default.createElement(PagerContainer$1, null, React__default.createElement(Button, {
15661
+ buttonType: exports.ButtonTypes.RPGUIButton,
15662
+ onPointerDown: function onPointerDown() {
15663
+ onYourPanelToggle(false);
15664
+ setIsYourPanel(false);
15665
+ }
15666
+ }, "Go to marketplace"), React__default.createElement(Pager, Object.assign({}, props)))), !isYourPanel && React__default.createElement(React__default.Fragment, null, React__default.createElement(BuyPanel, Object.assign({}, props)), React__default.createElement(PagerContainer$1, null, React__default.createElement(Button, {
15667
+ buttonType: exports.ButtonTypes.RPGUIButton,
15668
+ onPointerDown: function onPointerDown() {
15669
+ onYourPanelToggle(true);
15670
+ setIsYourPanel(true);
15671
+ }
15672
+ }, "Go to your panel"), React__default.createElement(Pager, Object.assign({}, props)))));
15673
+ };
15674
+ var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
15675
+ displayName: "Marketplace__PagerContainer",
15676
+ componentId: "sc-h904b1-0"
15677
+ })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
15678
+
15679
+ var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15680
+
15681
+ 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';
15682
+
15683
+ (function (ImgSide) {
15684
+ ImgSide["right"] = "right";
15685
+ ImgSide["left"] = "left";
15686
+ })(exports.ImgSide || (exports.ImgSide = {}));
15687
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
15688
+ var _textAndTypeArray$sli;
15689
+ var _onClose = _ref.onClose,
15690
+ textAndTypeArray = _ref.textAndTypeArray;
15691
+ var _useState = React.useState(false),
15692
+ showGoNextIndicator = _useState[0],
15693
+ setShowGoNextIndicator = _useState[1];
15694
+ var _useState2 = React.useState(0),
15695
+ slide = _useState2[0],
15696
+ setSlide = _useState2[1];
15697
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15698
+ if (event.code === 'Space') {
15699
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15700
+ setSlide(function (prev) {
15701
+ return prev + 1;
15702
+ });
15703
+ } else {
15704
+ // if there's no more text chunks, close the dialog
15705
+ _onClose();
15706
+ }
15707
+ }
15708
+ };
15709
+ React.useEffect(function () {
15710
+ document.addEventListener('keydown', onHandleSpacePress);
15711
+ return function () {
15712
+ return document.removeEventListener('keydown', onHandleSpacePress);
15713
+ };
15714
+ }, [slide]);
15715
+ return React__default.createElement(RPGUIContainer, {
15716
+ type: exports.RPGUIContainerTypes.FramedGold,
15717
+ width: '50%',
15718
+ height: '180px'
15719
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$i, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
15720
+ flex: '70%'
15721
+ }, React__default.createElement(NPCDialogText, {
15722
+ onStartStep: function onStartStep() {
15723
+ return setShowGoNextIndicator(false);
15724
+ },
15725
+ onEndStep: function onEndStep() {
15726
+ return setShowGoNextIndicator(true);
15727
+ },
15728
+ text: textAndTypeArray[slide].text || 'No text provided.',
15729
+ onClose: function onClose() {
15730
+ if (_onClose) {
15731
+ _onClose();
15732
+ }
15733
+ }
15734
+ })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15735
+ src: textAndTypeArray[slide].imagePath || img$5
15736
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15737
+ right: '10.5rem',
15738
+ src: img$6
15739
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15740
+ src: textAndTypeArray[slide].imagePath || img$5
15741
+ })), React__default.createElement(TextContainer, {
15742
+ flex: '70%'
15743
+ }, React__default.createElement(NPCDialogText, {
15744
+ onStartStep: function onStartStep() {
15745
+ return setShowGoNextIndicator(false);
15746
+ },
15747
+ onEndStep: function onEndStep() {
15748
+ return setShowGoNextIndicator(true);
15749
+ },
15750
+ text: textAndTypeArray[slide].text || 'No text provided.',
15751
+ onClose: function onClose() {
15752
+ if (_onClose) {
15753
+ _onClose();
15754
+ }
15755
+ }
15756
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15757
+ right: '1rem',
15758
+ src: img$6
15759
+ }))), ")"));
15760
+ };
15761
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15762
+ displayName: "NPCMultiDialog__Container",
15763
+ componentId: "sc-rvu5wg-0"
15764
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15765
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
15766
+ displayName: "NPCMultiDialog__TextContainer",
15767
+ componentId: "sc-rvu5wg-1"
15768
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15769
+ var flex = _ref2.flex;
15770
+ return flex;
15771
+ });
15772
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15773
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15774
+ componentId: "sc-rvu5wg-2"
15775
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15776
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15777
+ displayName: "NPCMultiDialog__NPCThumbnail",
15778
+ componentId: "sc-rvu5wg-3"
15779
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15780
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15781
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15782
+ componentId: "sc-rvu5wg-4"
15783
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15784
+ var right = _ref3.right;
15785
+ return right;
15786
+ });
15787
+
15788
+ //@ts-ignore
15789
+ var useEventListener = function useEventListener(type, handler, el) {
15790
+ if (el === void 0) {
15791
+ el = window;
15792
+ }
15793
+ var savedHandler = React__default.useRef();
15794
+ React__default.useEffect(function () {
15795
+ savedHandler.current = handler;
15796
+ }, [handler]);
15797
+ React__default.useEffect(function () {
15798
+ //@ts-ignore
15799
+ var listener = function listener(e) {
15800
+ return savedHandler.current(e);
15801
+ };
15802
+ el.addEventListener(type, listener);
15803
+ return function () {
15804
+ el.removeEventListener(type, listener);
15805
+ };
15806
+ }, [type, el]);
15807
+ };
15808
+
15809
+ var DynamicText = function DynamicText(_ref) {
15810
+ var text = _ref.text,
15811
+ onFinish = _ref.onFinish,
15812
+ onStart = _ref.onStart;
15813
+ var _useState = React.useState(''),
15814
+ textState = _useState[0],
15815
+ setTextState = _useState[1];
15816
+ React.useEffect(function () {
15817
+ var i = 0;
15818
+ var interval = setInterval(function () {
15819
+ // on every interval, show one more character
15820
+ if (i === 0) {
15821
+ if (onStart) {
15822
+ onStart();
15823
+ }
15824
+ }
15825
+ if (i < text.length) {
15826
+ setTextState(text.substring(0, i + 1));
15827
+ i++;
15828
+ } else {
15829
+ clearInterval(interval);
15830
+ if (onFinish) {
15831
+ onFinish();
15832
+ }
15833
+ }
15834
+ }, 50);
15835
+ return function () {
15836
+ clearInterval(interval);
15837
+ };
15838
+ }, [text]);
15839
+ return React__default.createElement(TextContainer$1, null, textState);
15840
+ };
15841
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15842
+ displayName: "DynamicText__TextContainer",
15843
+ componentId: "sc-1ggl9nd-0"
15844
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15845
+
15846
+ var QuestionDialog = function QuestionDialog(_ref) {
15847
+ var questions = _ref.questions,
15848
+ answers = _ref.answers,
15849
+ onClose = _ref.onClose;
15850
+ var _useState = React.useState(questions[0]),
15851
+ currentQuestion = _useState[0],
15852
+ setCurrentQuestion = _useState[1];
15853
+ var _useState2 = React.useState(false),
15854
+ canShowAnswers = _useState2[0],
15855
+ setCanShowAnswers = _useState2[1];
15856
+ var onGetFirstAnswer = function onGetFirstAnswer() {
15857
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15858
+ return null;
15859
+ }
15860
+ var firstAnswerId = currentQuestion.answerIds[0];
15861
+ return answers.find(function (answer) {
15862
+ return answer.id === firstAnswerId;
15863
+ });
15864
+ };
15865
+ var _useState3 = React.useState(onGetFirstAnswer()),
15866
+ currentAnswer = _useState3[0],
15867
+ setCurrentAnswer = _useState3[1];
15868
+ React.useEffect(function () {
15869
+ setCurrentAnswer(onGetFirstAnswer());
15870
+ }, [currentQuestion]);
15871
+ var onGetAnswers = function onGetAnswers(answerIds) {
15872
+ return answerIds.map(function (answerId) {
15873
+ return answers.find(function (answer) {
15874
+ return answer.id === answerId;
15875
+ });
15876
+ });
15877
+ };
15878
+ var onKeyPress = function onKeyPress(e) {
15879
+ switch (e.key) {
15880
+ case 'ArrowDown':
15881
+ // select next answer, if any.
15882
+ // if no next answer, select first answer
15883
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15884
+ // (answer) => answer?.id === currentAnswer!.id + 1
15885
+ // );
15886
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15887
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15888
+ });
15889
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15890
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15891
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
15892
+ });
15893
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15894
+ break;
15895
+ case 'ArrowUp':
15896
+ // select previous answer, if any.
15897
+ // if no previous answer, select last answer
15898
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15899
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15900
+ });
15901
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15902
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15903
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
15904
+ });
15905
+ if (previousAnswer) {
15906
+ setCurrentAnswer(previousAnswer);
15907
+ } else {
15908
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15909
+ }
15910
+ break;
15911
+ case 'Enter':
15912
+ setCanShowAnswers(false);
15913
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15914
+ onClose();
15915
+ return;
15916
+ } else {
15917
+ setCurrentQuestion(questions.find(function (question) {
15918
+ return question.id === currentAnswer.nextQuestionId;
15919
+ }));
15920
+ }
15921
+ break;
15922
+ }
15923
+ };
15924
+ useEventListener('keydown', onKeyPress);
15925
+ var onAnswerClick = function onAnswerClick(answer) {
15926
+ setCanShowAnswers(false);
15927
+ if (answer.nextQuestionId) {
15928
+ // if there is a next question, go to it
15929
+ setCurrentQuestion(questions.find(function (question) {
15930
+ return question.id === answer.nextQuestionId;
15931
+ }));
15932
+ } else {
15933
+ // else, finish dialog!
15934
+ onClose();
15935
+ }
15936
+ };
15937
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15938
+ var answerIds = currentQuestion.answerIds;
15939
+ if (!answerIds) {
15940
+ return null;
15941
+ }
15942
+ var answers = onGetAnswers(answerIds);
15943
+ if (!answers) {
15944
+ return null;
15945
+ }
15946
+ return answers.map(function (answer) {
15947
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15948
+ var selectedColor = isSelected ? 'yellow' : 'white';
15949
+ if (answer) {
15950
+ return React__default.createElement(AnswerRow, {
15951
+ key: "answer_" + answer.id
15952
+ }, React__default.createElement(AnswerSelectedIcon, {
15953
+ color: selectedColor
15954
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
15955
+ key: answer.id,
15956
+ onPointerDown: function onPointerDown() {
15957
+ return onAnswerClick(answer);
15958
+ },
15959
+ color: selectedColor
15960
+ }, answer.text));
15961
+ }
15962
+ return null;
15963
+ });
15964
+ };
15965
+ return React__default.createElement(Container$j, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
15966
+ text: currentQuestion.text,
15967
+ onStart: function onStart() {
15968
+ return setCanShowAnswers(false);
15969
+ },
15970
+ onFinish: function onFinish() {
15971
+ return setCanShowAnswers(true);
15972
+ }
15973
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15810
15974
  };
15811
- var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15812
- displayName: "Marketplace__InputWrapper",
15813
- componentId: "sc-h904b1-0"
15814
- })(["width:95%;display:flex;justify-content:flex-start;align-items:center;margin:auto;margin-bottom:10px;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15815
- var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15816
- displayName: "Marketplace__WrapperContainer",
15817
- componentId: "sc-h904b1-1"
15818
- })(["display:grid;grid-template-columns:30% 30% 30%;justify-content:space-between;width:90%;margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
15819
- var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15820
- displayName: "Marketplace__ItemComponentScrollWrapper",
15821
- componentId: "sc-h904b1-2"
15822
- })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;"]);
15823
- var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15824
- displayName: "Marketplace__StyledDropdown",
15825
- componentId: "sc-h904b1-3"
15826
- })(["margin:3px !important;width:170px !important;"]);
15975
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
15976
+ displayName: "QuestionDialog__Container",
15977
+ componentId: "sc-bxc5u0-0"
15978
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
15979
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
15980
+ displayName: "QuestionDialog__QuestionContainer",
15981
+ componentId: "sc-bxc5u0-1"
15982
+ })(["flex:100%;width:100%;"]);
15983
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
15984
+ displayName: "QuestionDialog__AnswersContainer",
15985
+ componentId: "sc-bxc5u0-2"
15986
+ })(["flex:100%;"]);
15987
+ var Answer = /*#__PURE__*/styled.p.withConfig({
15988
+ displayName: "QuestionDialog__Answer",
15989
+ componentId: "sc-bxc5u0-3"
15990
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
15991
+ return props.color;
15992
+ });
15993
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
15994
+ displayName: "QuestionDialog__AnswerSelectedIcon",
15995
+ componentId: "sc-bxc5u0-4"
15996
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
15997
+ return props.color;
15998
+ });
15999
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
16000
+ displayName: "QuestionDialog__AnswerRow",
16001
+ componentId: "sc-bxc5u0-5"
16002
+ })(["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;}"]);
15827
16003
 
15828
16004
  var ProgressBar = function ProgressBar(_ref) {
15829
16005
  var max = _ref.max,
@@ -15851,7 +16027,7 @@ var ProgressBar = function ProgressBar(_ref) {
15851
16027
  percentageWidth: percentageWidth,
15852
16028
  minWidth: minWidth,
15853
16029
  style: style
15854
- }, displayText && React__default.createElement(TextOverlay$2, null, React__default.createElement(ProgressBarText, null, value, "/", max)), React__default.createElement("div", {
16030
+ }, displayText && React__default.createElement(TextOverlay$1, null, React__default.createElement(ProgressBarText, null, value, "/", max)), React__default.createElement("div", {
15855
16031
  className: " rpgui-progress-track"
15856
16032
  }, React__default.createElement("div", {
15857
16033
  className: "rpgui-progress-fill " + color + " ",
@@ -15869,7 +16045,7 @@ var ProgressBarText = /*#__PURE__*/styled.span.withConfig({
15869
16045
  displayName: "ProgressBar__ProgressBarText",
15870
16046
  componentId: "sc-qa6fzh-0"
15871
16047
  })(["font-size:", " !important;color:white;text-align:center;z-index:1;position:absolute;left:50%;transform:translateX(-50%);top:12px;"], uiFonts.size.small);
15872
- var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
16048
+ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15873
16049
  displayName: "ProgressBar__TextOverlay",
15874
16050
  componentId: "sc-qa6fzh-1"
15875
16051
  })(["width:100%;position:relative;"]);
@@ -15884,7 +16060,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
15884
16060
  return props.style;
15885
16061
  });
15886
16062
 
15887
- var img$8 = 'data:image/png;base64,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';
16063
+ var img$7 = 'data:image/png;base64,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';
15888
16064
 
15889
16065
  var QuestInfo = function QuestInfo(_ref) {
15890
16066
  var quests = _ref.quests,
@@ -15928,7 +16104,7 @@ var QuestInfo = function QuestInfo(_ref) {
15928
16104
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15929
16105
  className: "drag-handler"
15930
16106
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15931
- src: quests[currentIndex].thumbnail || img$8
16107
+ src: quests[currentIndex].thumbnail || img$7
15932
16108
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15933
16109
  className: "golden"
15934
16110
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -15947,7 +16123,7 @@ var QuestInfo = function QuestInfo(_ref) {
15947
16123
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15948
16124
  className: "drag-handler"
15949
16125
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15950
- src: quests[0].thumbnail || img$8
16126
+ src: quests[0].thumbnail || img$7
15951
16127
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15952
16128
  className: "golden"
15953
16129
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -16543,13 +16719,13 @@ var Statistic$1 = /*#__PURE__*/styled.div.withConfig({
16543
16719
  var SpellInfoDisplay = function SpellInfoDisplay(_ref) {
16544
16720
  var spell = _ref.spell,
16545
16721
  isMobile = _ref.isMobile;
16546
- return React__default.createElement(Flex$1, {
16722
+ return React__default.createElement(Flex$3, {
16547
16723
  "$isMobile": isMobile
16548
16724
  }, React__default.createElement(SpellInfo, {
16549
16725
  spell: spell
16550
16726
  }));
16551
16727
  };
16552
- var Flex$1 = /*#__PURE__*/styled.div.withConfig({
16728
+ var Flex$3 = /*#__PURE__*/styled.div.withConfig({
16553
16729
  displayName: "SpellInfoDisplay__Flex",
16554
16730
  componentId: "sc-1htnsmm-0"
16555
16731
  })(["display:flex;gap:0.5rem;flex-direction:", ";@media (max-width:580px){flex-direction:column-reverse;align-items:center;}"], function (_ref2) {
@@ -16694,7 +16870,6 @@ var Spell = function Spell(_ref) {
16694
16870
  return React__default.createElement(SpellInfoWrapper, {
16695
16871
  spell: spell
16696
16872
  }, React__default.createElement(Container$p, {
16697
- disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16698
16873
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16699
16874
  isSettingShortcut: isSettingShortcut && !disabled,
16700
16875
  className: "spell"
@@ -16765,17 +16940,6 @@ var Spellbook = function Spellbook(_ref) {
16765
16940
  var _useState2 = React.useState(-1),
16766
16941
  settingShortcutIndex = _useState2[0],
16767
16942
  setSettingShortcutIndex = _useState2[1];
16768
- React.useEffect(function () {
16769
- var handleEscapeClose = function handleEscapeClose(e) {
16770
- if (e.key === 'Escape') {
16771
- onClose == null ? void 0 : onClose();
16772
- }
16773
- };
16774
- document.addEventListener('keydown', handleEscapeClose);
16775
- return function () {
16776
- document.removeEventListener('keydown', handleEscapeClose);
16777
- };
16778
- }, [onClose]);
16779
16943
  var spellsToDisplay = React.useMemo(function () {
16780
16944
  return spells.sort(function (a, b) {
16781
16945
  if (a.minMagicLevelRequired > b.minMagicLevelRequired) return 1;
@@ -16844,16 +17008,16 @@ var TextArea = function TextArea(_ref) {
16844
17008
  return React__default.createElement("textarea", Object.assign({}, props));
16845
17009
  };
16846
17010
 
16847
- var img$9 = 'data:image/gif;base64,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';
17011
+ var img$8 = 'data:image/gif;base64,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';
16848
17012
 
16849
- var img$a = 'data:image/gif;base64,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';
17013
+ var img$9 = 'data:image/gif;base64,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';
16850
17014
 
16851
- var img$b = 'data:image/gif;base64,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';
17015
+ var img$a = 'data:image/gif;base64,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';
16852
17016
 
16853
17017
  var DayNightPeriod = function DayNightPeriod(_ref) {
16854
17018
  var _periodOfDaySrcFiles;
16855
17019
  var periodOfDay = _ref.periodOfDay;
16856
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
17020
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16857
17021
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
16858
17022
  src: periodOfDaySrcFiles[periodOfDay]
16859
17023
  }));
@@ -16863,7 +17027,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16863
17027
  componentId: "sc-10t97fw-0"
16864
17028
  })(["width:100%;img{width:67%;}"]);
16865
17029
 
16866
- 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';
17030
+ 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';
16867
17031
 
16868
17032
  var TimeWidget = function TimeWidget(_ref) {
16869
17033
  var onClose = _ref.onClose,
@@ -16881,7 +17045,7 @@ var TimeWidget = function TimeWidget(_ref) {
16881
17045
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16882
17046
  displayName: "TimeWidget__WidgetContainer",
16883
17047
  componentId: "sc-1ja236h-0"
16884
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
17048
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16885
17049
  var Time = /*#__PURE__*/styled.div.withConfig({
16886
17050
  displayName: "TimeWidget__Time",
16887
17051
  componentId: "sc-1ja236h-1"
@@ -16946,7 +17110,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
16946
17110
  className: "arrow-selector",
16947
17111
  direction: "left",
16948
17112
  onPointerDown: onLeftClick
16949
- }), React__default.createElement(QuantityDisplay$1, null, React__default.createElement(TextOverlay$3, null, React__default.createElement(Item$2, null, selectedQty))), React__default.createElement(StyledArrow, {
17113
+ }), React__default.createElement(QuantityDisplay, null, React__default.createElement(TextOverlay$2, null, React__default.createElement(Item$1, null, selectedQty))), React__default.createElement(StyledArrow, {
16950
17114
  size: 32,
16951
17115
  className: "arrow-selector",
16952
17116
  direction: "right",
@@ -16982,11 +17146,11 @@ var NameValue = /*#__PURE__*/styled.div.withConfig({
16982
17146
  displayName: "TradingItemRow__NameValue",
16983
17147
  componentId: "sc-mja0b5-5"
16984
17148
  })(["p{font-size:0.75rem;margin:0;}"]);
16985
- var Item$2 = /*#__PURE__*/styled.span.withConfig({
17149
+ var Item$1 = /*#__PURE__*/styled.span.withConfig({
16986
17150
  displayName: "TradingItemRow__Item",
16987
17151
  componentId: "sc-mja0b5-6"
16988
17152
  })(["color:white;text-align:center;z-index:1;width:100%;"]);
16989
- var TextOverlay$3 = /*#__PURE__*/styled.div.withConfig({
17153
+ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
16990
17154
  displayName: "TradingItemRow__TextOverlay",
16991
17155
  componentId: "sc-mja0b5-7"
16992
17156
  })(["width:100%;position:relative;"]);
@@ -16994,7 +17158,7 @@ var QuantityContainer$1 = /*#__PURE__*/styled.div.withConfig({
16994
17158
  displayName: "TradingItemRow__QuantityContainer",
16995
17159
  componentId: "sc-mja0b5-8"
16996
17160
  })(["position:relative;display:flex;min-width:100px;width:40%;justify-content:center;align-items:center;flex:40%;"]);
16997
- var QuantityDisplay$1 = /*#__PURE__*/styled.div.withConfig({
17161
+ var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
16998
17162
  displayName: "TradingItemRow__QuantityDisplay",
16999
17163
  componentId: "sc-mja0b5-9"
17000
17164
  })(["font-size:", ";"], uiFonts.size.small);
@@ -17142,6 +17306,219 @@ var Container$r = /*#__PURE__*/styled.div.withConfig({
17142
17306
  return props.maxLines;
17143
17307
  });
17144
17308
 
17309
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
17310
+
17311
+ var chunkString = function chunkString(str, length) {
17312
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
17313
+ };
17314
+
17315
+ var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
17316
+
17317
+ var NPCDialogText = function NPCDialogText(_ref) {
17318
+ var text = _ref.text,
17319
+ onClose = _ref.onClose,
17320
+ onEndStep = _ref.onEndStep,
17321
+ onStartStep = _ref.onStartStep,
17322
+ type = _ref.type;
17323
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
17324
+ function maxCharacters(width) {
17325
+ // Set the font size to 16 pixels
17326
+ var fontSize = 11.2;
17327
+ // Calculate the number of characters that can fit in one line
17328
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
17329
+ // Calculate the number of lines that can fit in the div
17330
+ var linesPerDiv = Math.floor(180 / fontSize);
17331
+ // Calculate the maximum number of characters that can fit in the div
17332
+ var maxCharacters = charactersPerLine * linesPerDiv;
17333
+ // Return the maximum number of characters
17334
+ return Math.round(maxCharacters / 5);
17335
+ }
17336
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
17337
+ var _useState = React.useState(0),
17338
+ chunkIndex = _useState[0],
17339
+ setChunkIndex = _useState[1];
17340
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17341
+ if (event.code === 'Space') {
17342
+ goToNextStep();
17343
+ }
17344
+ };
17345
+ var goToNextStep = function goToNextStep() {
17346
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
17347
+ if (hasNextChunk) {
17348
+ setChunkIndex(function (prev) {
17349
+ return prev + 1;
17350
+ });
17351
+ } else {
17352
+ // if there's no more text chunks, close the dialog
17353
+ onClose();
17354
+ }
17355
+ };
17356
+ React.useEffect(function () {
17357
+ document.addEventListener('keydown', onHandleSpacePress);
17358
+ return function () {
17359
+ return document.removeEventListener('keydown', onHandleSpacePress);
17360
+ };
17361
+ }, [chunkIndex]);
17362
+ var _useState2 = React.useState(false),
17363
+ showGoNextIndicator = _useState2[0],
17364
+ setShowGoNextIndicator = _useState2[1];
17365
+ return React__default.createElement(Container$s, null, React__default.createElement(DynamicText, {
17366
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
17367
+ onFinish: function onFinish() {
17368
+ setShowGoNextIndicator(true);
17369
+ onEndStep && onEndStep();
17370
+ },
17371
+ onStart: function onStart() {
17372
+ setShowGoNextIndicator(false);
17373
+ onStartStep && onStartStep();
17374
+ }
17375
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
17376
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
17377
+ src: IS_MOBILE_OR_TABLET ? img$c : img$6,
17378
+ onPointerDown: function onPointerDown() {
17379
+ goToNextStep();
17380
+ }
17381
+ }));
17382
+ };
17383
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
17384
+ displayName: "NPCDialogText__Container",
17385
+ componentId: "sc-1cxkdh9-0"
17386
+ })([""]);
17387
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
17388
+ displayName: "NPCDialogText__PressSpaceIndicator",
17389
+ componentId: "sc-1cxkdh9-1"
17390
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
17391
+ var right = _ref2.right;
17392
+ return right;
17393
+ });
17394
+
17395
+ (function (NPCDialogType) {
17396
+ NPCDialogType["TextOnly"] = "TextOnly";
17397
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
17398
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
17399
+ var NPCDialog = function NPCDialog(_ref) {
17400
+ var text = _ref.text,
17401
+ type = _ref.type,
17402
+ _onClose = _ref.onClose,
17403
+ imagePath = _ref.imagePath,
17404
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
17405
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
17406
+ questions = _ref.questions,
17407
+ answers = _ref.answers;
17408
+ return React__default.createElement(RPGUIContainer, {
17409
+ type: exports.RPGUIContainerTypes.FramedGold,
17410
+ width: isQuestionDialog ? '600px' : '80%',
17411
+ height: '180px'
17412
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
17413
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17414
+ }, React__default.createElement(QuestionDialog, {
17415
+ questions: questions,
17416
+ answers: answers,
17417
+ onClose: function onClose() {
17418
+ if (_onClose) {
17419
+ _onClose();
17420
+ }
17421
+ }
17422
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17423
+ src: imagePath || img$5
17424
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$t, null, React__default.createElement(TextContainer$2, {
17425
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17426
+ }, React__default.createElement(NPCDialogText, {
17427
+ type: type,
17428
+ text: text || 'No text provided.',
17429
+ onClose: function onClose() {
17430
+ if (_onClose) {
17431
+ _onClose();
17432
+ }
17433
+ }
17434
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17435
+ src: imagePath || img$5
17436
+ })))));
17437
+ };
17438
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
17439
+ displayName: "NPCDialog__Container",
17440
+ componentId: "sc-1b4aw74-0"
17441
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17442
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17443
+ displayName: "NPCDialog__TextContainer",
17444
+ componentId: "sc-1b4aw74-1"
17445
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17446
+ var flex = _ref2.flex;
17447
+ return flex;
17448
+ });
17449
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17450
+ displayName: "NPCDialog__ThumbnailContainer",
17451
+ componentId: "sc-1b4aw74-2"
17452
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17453
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17454
+ displayName: "NPCDialog__NPCThumbnail",
17455
+ componentId: "sc-1b4aw74-3"
17456
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
17457
+
17458
+ var HistoryDialog = function HistoryDialog(_ref) {
17459
+ var backgroundImgPath = _ref.backgroundImgPath,
17460
+ fullCoverBackground = _ref.fullCoverBackground,
17461
+ questions = _ref.questions,
17462
+ answers = _ref.answers,
17463
+ text = _ref.text,
17464
+ imagePath = _ref.imagePath,
17465
+ textAndTypeArray = _ref.textAndTypeArray,
17466
+ onClose = _ref.onClose;
17467
+ var _useState = React.useState(0),
17468
+ img = _useState[0],
17469
+ setImage = _useState[1];
17470
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17471
+ if (event.code === 'Space') {
17472
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17473
+ setImage(function (prev) {
17474
+ return prev + 1;
17475
+ });
17476
+ } else {
17477
+ // if there's no more text chunks, close the dialog
17478
+ onClose();
17479
+ }
17480
+ }
17481
+ };
17482
+ React.useEffect(function () {
17483
+ document.addEventListener('keydown', onHandleSpacePress);
17484
+ return function () {
17485
+ return document.removeEventListener('keydown', onHandleSpacePress);
17486
+ };
17487
+ }, [backgroundImgPath]);
17488
+ return React__default.createElement(BackgroundContainer, {
17489
+ imgPath: backgroundImgPath[img],
17490
+ fullImg: fullCoverBackground
17491
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
17492
+ textAndTypeArray: textAndTypeArray,
17493
+ onClose: onClose
17494
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
17495
+ questions: questions,
17496
+ answers: answers,
17497
+ onClose: onClose
17498
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
17499
+ text: text,
17500
+ imagePath: imagePath,
17501
+ onClose: onClose,
17502
+ type: exports.NPCDialogType.TextAndThumbnail
17503
+ }) : React__default.createElement(NPCDialog, {
17504
+ text: text,
17505
+ onClose: onClose,
17506
+ type: exports.NPCDialogType.TextOnly
17507
+ })));
17508
+ };
17509
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17510
+ displayName: "HistoryDialog__BackgroundContainer",
17511
+ componentId: "sc-u6oe75-0"
17512
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17513
+ return props.imgPath;
17514
+ }, function (props) {
17515
+ return props.imgPath ? 'cover' : 'auto';
17516
+ });
17517
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17518
+ displayName: "HistoryDialog__DialogContainer",
17519
+ componentId: "sc-u6oe75-1"
17520
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
17521
+
17145
17522
  exports.Button = Button;
17146
17523
  exports.CharacterSelection = CharacterSelection;
17147
17524
  exports.Chat = Chat;