@rpg-engine/long-bow 0.4.7 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/ConfirmModal.d.ts +8 -0
  4. package/dist/components/DraggableContainer.d.ts +1 -0
  5. package/dist/components/Item/Inventory/ItemSlot.d.ts +7 -7
  6. package/dist/components/Marketplace/BuyPanel.d.ts +23 -0
  7. package/dist/components/Marketplace/ManagmentPanel.d.ts +19 -0
  8. package/dist/components/Marketplace/Marketplace.d.ts +22 -9
  9. package/dist/components/Marketplace/MarketplaceRows.d.ts +3 -1
  10. package/dist/components/Marketplace/{__mocks__ → filters}/index.d.ts +1 -3
  11. package/dist/components/Pager.d.ts +9 -0
  12. package/dist/long-bow.cjs.development.js +1573 -1163
  13. package/dist/long-bow.cjs.development.js.map +1 -1
  14. package/dist/long-bow.cjs.production.min.js +1 -1
  15. package/dist/long-bow.cjs.production.min.js.map +1 -1
  16. package/dist/long-bow.esm.js +1629 -1219
  17. package/dist/long-bow.esm.js.map +1 -1
  18. package/package.json +100 -100
  19. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  20. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  21. package/src/components/Arrow/SelectArrow.tsx +69 -69
  22. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  23. package/src/components/Arrow/img/arrow01-left.png +0 -0
  24. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  25. package/src/components/Arrow/img/arrow01-right.png +0 -0
  26. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  27. package/src/components/Arrow/img/arrow02-left.png +0 -0
  28. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  29. package/src/components/Arrow/img/arrow02-right.png +0 -0
  30. package/src/components/Button.tsx +40 -40
  31. package/src/components/Character/CharacterSelection.tsx +98 -98
  32. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  33. package/src/components/Chat/Chat.tsx +196 -196
  34. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  35. package/src/components/CheckButton.tsx +65 -65
  36. package/src/components/CircularController/CircularController.tsx +282 -282
  37. package/src/components/ConfirmModal.tsx +87 -0
  38. package/src/components/CraftBook/CraftBook.tsx +286 -286
  39. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  40. package/src/components/CraftBook/MockItems.ts +101 -101
  41. package/src/components/DraggableContainer.tsx +183 -180
  42. package/src/components/Dropdown.tsx +114 -106
  43. package/src/components/DropdownSelectorContainer.tsx +42 -42
  44. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  45. package/src/components/HistoryDialog.tsx +104 -104
  46. package/src/components/Input.tsx +15 -15
  47. package/src/components/InputRadio.tsx +41 -41
  48. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  49. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  50. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  51. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  52. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  53. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  54. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  55. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  56. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  57. package/src/components/Item/Inventory/ItemSlot.tsx +595 -580
  58. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  59. package/src/components/ListMenu.tsx +63 -63
  60. package/src/components/Marketplace/BuyPanel.tsx +304 -0
  61. package/src/components/Marketplace/ManagmentPanel.tsx +255 -0
  62. package/src/components/Marketplace/Marketplace.tsx +106 -132
  63. package/src/components/Marketplace/MarketplaceRows.tsx +177 -171
  64. package/src/components/Marketplace/{__mocks__ → filters}/index.tsx +67 -65
  65. package/src/components/Multitab/Tab.tsx +66 -66
  66. package/src/components/Multitab/TabBody.tsx +13 -13
  67. package/src/components/Multitab/TabsContainer.tsx +97 -97
  68. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  69. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  70. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  71. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  72. package/src/components/Pager.tsx +94 -0
  73. package/src/components/ProgressBar.tsx +95 -95
  74. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  75. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  76. package/src/components/QuestList.tsx +135 -135
  77. package/src/components/RPGUIContainer.tsx +47 -47
  78. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  79. package/src/components/RPGUIRoot.tsx +14 -14
  80. package/src/components/RadioButton.tsx +53 -53
  81. package/src/components/RadioInput/RadioButton.tsx +96 -96
  82. package/src/components/RadioInput/RadioInput.tsx +102 -102
  83. package/src/components/RadioInput/instruments.ts +15 -15
  84. package/src/components/RangeSlider.tsx +78 -78
  85. package/src/components/RelativeListMenu.tsx +90 -90
  86. package/src/components/ScrollList.tsx +79 -79
  87. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  88. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  89. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  90. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  91. package/src/components/SimpleProgressBar.tsx +62 -62
  92. package/src/components/SkillProgressBar.tsx +198 -198
  93. package/src/components/SkillsContainer.tsx +213 -213
  94. package/src/components/Spellbook/Spell.tsx +235 -236
  95. package/src/components/Spellbook/Spellbook.tsx +145 -161
  96. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  97. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  98. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  99. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  100. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  101. package/src/components/Spellbook/constants.ts +7 -7
  102. package/src/components/Spellbook/mockSpells.ts +84 -84
  103. package/src/components/StaticBook/StaticBook.tsx +103 -103
  104. package/src/components/TextArea.tsx +11 -11
  105. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  106. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  107. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  108. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  109. package/src/components/TradingMenu/items.mock.ts +48 -48
  110. package/src/components/Truncate.tsx +25 -25
  111. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  112. package/src/components/shared/Column.tsx +16 -16
  113. package/src/components/shared/Ellipsis.tsx +76 -68
  114. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  115. package/src/components/typography/DynamicText.tsx +49 -49
  116. package/src/constants/uiColors.ts +20 -20
  117. package/src/constants/uiDevices.ts +3 -3
  118. package/src/constants/uiFonts.ts +12 -12
  119. package/src/hooks/useEventListener.ts +21 -21
  120. package/src/hooks/useOutsideAlerter.ts +25 -25
  121. package/src/index.tsx +42 -42
  122. package/src/libs/CastingTypeHelper.ts +7 -7
  123. package/src/libs/StringHelpers.ts +3 -3
  124. package/src/libs/itemCounter.ts +21 -21
  125. package/src/mocks/atlas/entities/entities.json +20215 -20215
  126. package/src/mocks/atlas/icons/icons.json +735 -735
  127. package/src/mocks/atlas/items/items.json +12086 -12086
  128. package/src/mocks/equipmentSet.mocks.ts +391 -391
  129. package/src/mocks/itemContainer.mocks.ts +605 -605
  130. package/src/mocks/skills.mocks.ts +130 -130
  131. package/src/stories/Arrow.stories.tsx +26 -26
  132. package/src/stories/Button.stories.tsx +36 -36
  133. package/src/stories/CharacterSelection.stories.tsx +44 -44
  134. package/src/stories/CharacterStatus.stories.tsx +29 -29
  135. package/src/stories/Chat.stories.tsx +187 -187
  136. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  137. package/src/stories/CheckButton.stories.tsx +48 -48
  138. package/src/stories/CircullarController.stories.tsx +37 -37
  139. package/src/stories/CraftBook.stories.tsx +42 -42
  140. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  141. package/src/stories/DraggableContainer.stories.tsx +28 -28
  142. package/src/stories/Dropdown.stories.tsx +46 -46
  143. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  144. package/src/stories/EquipmentSet.stories.tsx +65 -65
  145. package/src/stories/HistoryDialog.stories.tsx +61 -61
  146. package/src/stories/ItemContainer.stories.tsx +201 -201
  147. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  148. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  149. package/src/stories/ItemSelector.stories.tsx +77 -77
  150. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  151. package/src/stories/ListMenu.stories.tsx +56 -56
  152. package/src/stories/Marketplace.stories.tsx +57 -42
  153. package/src/stories/MarketplaceRows.stories.tsx +27 -28
  154. package/src/stories/Multitab.stories.tsx +51 -51
  155. package/src/stories/NPCDialog.stories.tsx +130 -130
  156. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  157. package/src/stories/ProgressBar.stories.tsx +23 -23
  158. package/src/stories/PropertySelect.stories.tsx +40 -40
  159. package/src/stories/QuestInfo.stories.tsx +107 -107
  160. package/src/stories/QuestList.stories.tsx +82 -82
  161. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  162. package/src/stories/RadioButton.stories.tsx +49 -49
  163. package/src/stories/RadioInput.stories.tsx +34 -34
  164. package/src/stories/RangeSlider.stories.tsx +64 -64
  165. package/src/stories/ScrollList.stories.tsx +85 -85
  166. package/src/stories/Shortcuts.stories.tsx +39 -39
  167. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  168. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  169. package/src/stories/SkillsContainer.stories.tsx +35 -35
  170. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  171. package/src/stories/Spellbook.stories.tsx +104 -104
  172. package/src/stories/StaticBook.stories.tsx +32 -32
  173. package/src/stories/Text.stories.tsx +42 -42
  174. package/src/stories/TimeWidget.stories.tsx +27 -27
  175. package/src/stories/TradingMenu.stories.tsx +47 -47
  176. package/src/types/eventTypes.ts +4 -4
  177. package/src/types/index.d.ts +2 -2
@@ -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,1098 +14601,633 @@ 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(ItemIconContainer, null, React__default.createElement(SpriteContainer, 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
15229
+ }, React__default.createElement(RarityContainer, {
15230
+ item: item
15688
15231
  }, React__default.createElement(SpriteFromAtlas, {
15689
15232
  atlasIMG: atlasIMG,
15690
15233
  atlasJSON: atlasJSON,
@@ -15695,135 +15238,801 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
15695
15238
  isStackable: item.isStackable
15696
15239
  }, atlasJSON),
15697
15240
  imgScale: 2
15698
- }))), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15241
+ })), 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
15242
  maxLines: 1,
15700
- maxWidth: "150px",
15243
+ maxWidth: "200px",
15701
15244
  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, {
15245
+ }, item.name)))), React__default.createElement(Flex$1, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(GoldContainer, null, React__default.createElement(SpriteFromAtlas, {
15707
15246
  atlasIMG: atlasIMG,
15708
15247
  atlasJSON: atlasJSON,
15709
- spriteKey: 'others/gold-coin-qty-4.png',
15248
+ spriteKey: "others/gold-coin-qty-5.png",
15710
15249
  imgScale: 2
15711
15250
  })), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15712
15251
  maxLines: 1,
15713
- maxWidth: "150px",
15252
+ maxWidth: "200px",
15714
15253
  fontSize: "10px"
15715
15254
  }, "$", itemPrice)))), React__default.createElement(ButtonContainer$1, null, React__default.createElement(Button, {
15716
15255
  buttonType: exports.ButtonTypes.RPGUIButton,
15717
- onClick: function onClick() {
15718
- return onHandleClick(item.name);
15256
+ disabled: disabled,
15257
+ onPointerDown: function onPointerDown() {
15258
+ if (disabled) return;
15259
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy();
15260
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove();
15719
15261
  }
15720
- }, "Buy")));
15262
+ }, onMarketPlaceItemBuy ? 'Buy' : 'Remove'))));
15721
15263
  };
15722
- var MarketPlaceWrapper = /*#__PURE__*/styled.div.withConfig({
15723
- displayName: "MarketplaceRows__MarketPlaceWrapper",
15264
+ var MarketplaceWrapper = /*#__PURE__*/styled.div.withConfig({
15265
+ displayName: "MarketplaceRows__MarketplaceWrapper",
15724
15266
  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);
15267
+ })(["margin:auto;display:flex;justify-content:space-between;padding:0.5rem;&:hover{background-color:", ";}p{font-size:0.8rem;}"], uiColors.darkGray);
15268
+ var QuantityContainer = /*#__PURE__*/styled.p.withConfig({
15269
+ displayName: "MarketplaceRows__QuantityContainer",
15270
+ componentId: "sc-wmpr1o-1"
15271
+ })(["position:absolute;display:block;top:15px;left:25px;font-size:", " !important;"], uiFonts.size.xsmall);
15272
+ var Flex$1 = /*#__PURE__*/styled.div.withConfig({
15273
+ displayName: "MarketplaceRows__Flex",
15274
+ componentId: "sc-wmpr1o-2"
15275
+ })(["display:flex;gap:24px;"]);
15726
15276
  var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15727
15277
  displayName: "MarketplaceRows__ItemIconContainer",
15728
- componentId: "sc-wmpr1o-1"
15278
+ componentId: "sc-wmpr1o-3"
15729
15279
  })(["display:flex;justify-content:flex-start;align-items:center;"]);
15280
+ var GoldContainer = /*#__PURE__*/styled.div.withConfig({
15281
+ displayName: "MarketplaceRows__GoldContainer",
15282
+ componentId: "sc-wmpr1o-4"
15283
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15730
15284
  var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15731
15285
  displayName: "MarketplaceRows__SpriteContainer",
15732
- componentId: "sc-wmpr1o-2"
15733
- })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15734
- var Item$1 = /*#__PURE__*/styled.span.withConfig({
15735
- displayName: "MarketplaceRows__Item",
15736
- componentId: "sc-wmpr1o-3"
15737
- })(["color:white;text-align:center;z-index:1;width:100%;"]);
15738
- var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15739
- displayName: "MarketplaceRows__TextOverlay",
15740
- componentId: "sc-wmpr1o-4"
15741
- })(["width:100%;position:relative;"]);
15742
- var QuantityContainer = /*#__PURE__*/styled.div.withConfig({
15743
- displayName: "MarketplaceRows__QuantityContainer",
15744
15286
  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);
15287
+ })(["position:relative;left:0.5rem;"]);
15750
15288
  var PriceValue = /*#__PURE__*/styled.div.withConfig({
15751
15289
  displayName: "MarketplaceRows__PriceValue",
15752
- componentId: "sc-wmpr1o-7"
15290
+ componentId: "sc-wmpr1o-6"
15753
15291
  })(["margin-left:40px;"]);
15754
15292
  var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15755
15293
  displayName: "MarketplaceRows__ButtonContainer",
15756
- componentId: "sc-wmpr1o-8"
15294
+ componentId: "sc-wmpr1o-7"
15757
15295
  })(["margin:auto;"]);
15296
+ var RarityContainer = /*#__PURE__*/styled.div.withConfig({
15297
+ displayName: "MarketplaceRows__RarityContainer",
15298
+ componentId: "sc-wmpr1o-8"
15299
+ })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref2) {
15300
+ var item = _ref2.item;
15301
+ return rarityColor(item);
15302
+ }, function (_ref3) {
15303
+ var item = _ref3.item;
15304
+ return "0 0 5px 8px " + rarityColor(item);
15305
+ }, function (_ref4) {
15306
+ var item = _ref4.item;
15307
+ return "0 0 8px 6px " + rarityColor(item);
15308
+ });
15309
+
15310
+ var OrderByType;
15311
+ (function (OrderByType) {
15312
+ OrderByType["Name"] = "Name";
15313
+ OrderByType["Price"] = "Price";
15314
+ })(OrderByType || (OrderByType = {}));
15315
+ var itemTypeOptions = /*#__PURE__*/['Type'].concat(Object.keys(shared.ItemSubType)).filter(function (type) {
15316
+ return type !== 'DeadBody';
15317
+ }).map(function (itemType, index) {
15318
+ return {
15319
+ id: index + 1,
15320
+ value: itemType,
15321
+ option: itemType
15322
+ };
15323
+ });
15324
+ var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(shared.ItemRarities)).map(function (itemRarity, index) {
15325
+ return {
15326
+ id: index + 1,
15327
+ value: itemRarity,
15328
+ option: itemRarity
15329
+ };
15330
+ });
15331
+ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (orderBy, index) {
15332
+ return [{
15333
+ id: index * 2 + 1,
15334
+ value: orderBy.toLowerCase(),
15335
+ option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15336
+ style: {
15337
+ transform: 'translateY(-2px)',
15338
+ display: 'inline-block'
15339
+ }
15340
+ }, "\u2193"))
15341
+ }, {
15342
+ id: index * 2 + 2,
15343
+ value: '-' + orderBy.toLowerCase(),
15344
+ option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15345
+ style: {
15346
+ transform: 'translateY(-2px)',
15347
+ display: 'inline-block'
15348
+ }
15349
+ }, "\u2191"))
15350
+ }];
15351
+ });
15758
15352
 
15759
- var Marketplace = function Marketplace(_ref) {
15353
+ var BuyPanel = function BuyPanel(_ref) {
15760
15354
  var items = _ref.items,
15761
15355
  atlasIMG = _ref.atlasIMG,
15762
15356
  atlasJSON = _ref.atlasJSON,
15763
- onClose = _ref.onClose,
15764
- optionsType = _ref.optionsType,
15765
- optionsRarity = _ref.optionsRarity,
15766
- optionsPrice = _ref.optionsPrice,
15767
15357
  onChangeType = _ref.onChangeType,
15768
15358
  onChangeRarity = _ref.onChangeRarity,
15769
15359
  onChangeOrder = _ref.onChangeOrder,
15770
15360
  onChangeNameInput = _ref.onChangeNameInput,
15771
- scale = _ref.scale,
15361
+ onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15362
+ onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15363
+ onChangePriceInput = _ref.onChangePriceInput,
15772
15364
  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();
15365
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15366
+ characterId = _ref.characterId,
15367
+ enableHotkeys = _ref.enableHotkeys,
15368
+ disableHotkeys = _ref.disableHotkeys,
15369
+ currentPage = _ref.currentPage;
15370
+ var _useState = React.useState(''),
15371
+ name = _useState[0],
15372
+ setName = _useState[1];
15373
+ var _useState2 = React.useState([undefined, undefined]),
15374
+ mainLevel = _useState2[0],
15375
+ setMainLevel = _useState2[1];
15376
+ var _useState3 = React.useState([undefined, undefined]),
15377
+ secondaryLevel = _useState3[0],
15378
+ setSecondaryLevel = _useState3[1];
15379
+ var _useState4 = React.useState([undefined, undefined]),
15380
+ price = _useState4[0],
15381
+ setPrice = _useState4[1];
15382
+ var _useState5 = React.useState(null),
15383
+ buyingItemId = _useState5[0],
15384
+ setBuyingItemId = _useState5[1];
15385
+ var itemsContainer = React.useRef(null);
15386
+ React.useEffect(function () {
15387
+ var _itemsContainer$curre;
15388
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15389
+ }, [currentPage]);
15390
+ return React__default.createElement(React__default.Fragment, null, buyingItemId && React__default.createElement(ConfirmModal, {
15391
+ onClose: setBuyingItemId.bind(null, null),
15392
+ onConfirm: function onConfirm() {
15393
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15394
+ setBuyingItemId(null);
15395
+ enableHotkeys == null ? void 0 : enableHotkeys();
15778
15396
  },
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,
15397
+ message: "Are you sure to buy this item?"
15398
+ }), React__default.createElement(InputWrapper, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
15399
+ onChange: function onChange(e) {
15400
+ setName(e.target.value);
15401
+ onChangeNameInput(e.target.value);
15402
+ },
15403
+ value: name,
15404
+ placeholder: "Enter name...",
15405
+ onBlur: enableHotkeys,
15406
+ onFocus: disableHotkeys
15407
+ })), 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, {
15408
+ onChange: function onChange(e) {
15409
+ setMainLevel([Number(e.target.value), mainLevel[1]]);
15410
+ onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15411
+ },
15412
+ placeholder: "Min",
15413
+ type: "number",
15414
+ min: 0,
15415
+ onBlur: enableHotkeys,
15416
+ onFocus: disableHotkeys
15417
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15418
+ onChange: function onChange(e) {
15419
+ setMainLevel([mainLevel[0], Number(e.target.value)]);
15420
+ onChangeMainLevelInput([mainLevel[0], Number(e.target.value)]);
15421
+ },
15422
+ placeholder: "Max",
15423
+ type: "number",
15424
+ min: 0,
15425
+ onBlur: enableHotkeys,
15426
+ onFocus: disableHotkeys
15427
+ })), React__default.createElement("div", null, React__default.createElement("p", null, "Secondary level"), React__default.createElement(Input, {
15428
+ onChange: function onChange(e) {
15429
+ setSecondaryLevel([Number(e.target.value), secondaryLevel[1]]);
15430
+ onChangeSecondaryLevelInput([Number(e.target.value), secondaryLevel[1]]);
15431
+ },
15432
+ placeholder: "Min",
15433
+ type: "number",
15434
+ min: 0,
15435
+ onBlur: enableHotkeys,
15436
+ onFocus: disableHotkeys
15437
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15438
+ onChange: function onChange(e) {
15439
+ setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15440
+ onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15441
+ },
15442
+ placeholder: "Max",
15443
+ type: "number",
15444
+ min: 0,
15445
+ onBlur: enableHotkeys,
15446
+ onFocus: disableHotkeys
15447
+ })), React__default.createElement("div", null, React__default.createElement("p", null, "Price"), React__default.createElement(Input, {
15448
+ onChange: function onChange(e) {
15449
+ setPrice([Number(e.target.value), price[1]]);
15450
+ onChangePriceInput([Number(e.target.value), price[1]]);
15451
+ },
15452
+ placeholder: "Min",
15453
+ type: "number",
15454
+ min: 0,
15455
+ className: "big-input",
15456
+ onBlur: enableHotkeys,
15457
+ onFocus: disableHotkeys
15458
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15459
+ onChange: function onChange(e) {
15460
+ setPrice([price[0], Number(e.target.value)]);
15461
+ onChangePriceInput([price[0], Number(e.target.value)]);
15462
+ },
15463
+ placeholder: "Max",
15464
+ type: "number",
15465
+ min: 0,
15466
+ className: "big-input",
15467
+ onBlur: enableHotkeys,
15468
+ onFocus: disableHotkeys
15469
+ }))), React__default.createElement(WrapperContainer, null, React__default.createElement(StyledDropdown, {
15470
+ options: itemTypeOptions,
15787
15471
  onChange: onChangeType,
15788
- width: '220px'
15472
+ width: "95%"
15789
15473
  }), React__default.createElement(StyledDropdown, {
15790
- options: optionsRarity,
15474
+ options: itemRarityOptions,
15791
15475
  onChange: onChangeRarity,
15792
- width: '220px'
15476
+ width: "95%"
15793
15477
  }), React__default.createElement(StyledDropdown, {
15794
- options: optionsPrice,
15478
+ options: orderByOptions,
15795
15479
  onChange: onChangeOrder,
15796
- width: '220px'
15797
- })), React__default.createElement(ItemComponentScrollWrapper, {
15798
- id: "MarketContainer"
15799
- }, items == null ? void 0 : items.map(function (item, index) {
15480
+ width: "100%"
15481
+ }))), React__default.createElement(ItemComponentScrollWrapper, {
15482
+ id: "MarketContainer",
15483
+ ref: itemsContainer
15484
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
15485
+ var item = _ref2.item,
15486
+ price = _ref2.price,
15487
+ _id = _ref2._id,
15488
+ owner = _ref2.owner;
15800
15489
  return React__default.createElement(MarketplaceRows, {
15801
15490
  key: item.key + "_" + index,
15802
15491
  atlasIMG: atlasIMG,
15803
15492
  atlasJSON: atlasJSON,
15804
15493
  item: item,
15805
- itemPrice: 10,
15494
+ itemPrice: price,
15806
15495
  equipmentSet: equipmentSet,
15807
- onHandleClick: onHandleClick
15496
+ onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
15497
+ disabled: owner === characterId
15808
15498
  });
15809
- }))));
15499
+ })));
15500
+ };
15501
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15502
+ displayName: "BuyPanel__InputWrapper",
15503
+ componentId: "sc-1si8t7i-0"
15504
+ })(["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;}"]);
15505
+ var OptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15506
+ displayName: "BuyPanel__OptionsWrapper",
15507
+ componentId: "sc-1si8t7i-1"
15508
+ })(["width:100%;height:100px;"]);
15509
+ var FilterInputsWrapper = /*#__PURE__*/styled.div.withConfig({
15510
+ displayName: "BuyPanel__FilterInputsWrapper",
15511
+ componentId: "sc-1si8t7i-2"
15512
+ })(["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;}"]);
15513
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15514
+ displayName: "BuyPanel__WrapperContainer",
15515
+ componentId: "sc-1si8t7i-3"
15516
+ })(["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;}"]);
15517
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15518
+ displayName: "BuyPanel__ItemComponentScrollWrapper",
15519
+ componentId: "sc-1si8t7i-4"
15520
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15521
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15522
+ displayName: "BuyPanel__StyledDropdown",
15523
+ componentId: "sc-1si8t7i-5"
15524
+ })(["margin:3px !important;width:170px !important;"]);
15525
+
15526
+ var ManagmentPanel = function ManagmentPanel(_ref) {
15527
+ var items = _ref.items,
15528
+ atlasIMG = _ref.atlasIMG,
15529
+ atlasJSON = _ref.atlasJSON,
15530
+ onChangeNameInput = _ref.onChangeNameInput,
15531
+ equipmentSet = _ref.equipmentSet,
15532
+ availableGold = _ref.availableGold,
15533
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15534
+ selectedItemToSell = _ref.selectedItemToSell,
15535
+ onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
15536
+ onAddItemToMarketplace = _ref.onAddItemToMarketplace,
15537
+ enableHotkeys = _ref.enableHotkeys,
15538
+ disableHotkeys = _ref.disableHotkeys,
15539
+ onMoneyWithdraw = _ref.onMoneyWithdraw,
15540
+ currentPage = _ref.currentPage;
15541
+ var _useState = React.useState(''),
15542
+ name = _useState[0],
15543
+ setName = _useState[1];
15544
+ var _useState2 = React.useState(''),
15545
+ price = _useState2[0],
15546
+ setPrice = _useState2[1];
15547
+ var _useState3 = React.useState(false),
15548
+ isCreatingOffer = _useState3[0],
15549
+ setIsCreatingOffer = _useState3[1];
15550
+ var _useState4 = React.useState(null),
15551
+ removingItemId = _useState4[0],
15552
+ setRemovingItemId = _useState4[1];
15553
+ var itemsContainer = React.useRef(null);
15554
+ React.useEffect(function () {
15555
+ var _itemsContainer$curre;
15556
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15557
+ }, [currentPage]);
15558
+ return React__default.createElement(React__default.Fragment, null, isCreatingOffer && React__default.createElement(ConfirmModal, {
15559
+ onClose: setIsCreatingOffer.bind(null, false),
15560
+ onConfirm: function onConfirm() {
15561
+ if (selectedItemToSell && price && Number(price)) {
15562
+ onAddItemToMarketplace(selectedItemToSell, Number(price));
15563
+ setPrice('');
15564
+ onSelectedItemToSellRemove(selectedItemToSell);
15565
+ setIsCreatingOffer(false);
15566
+ enableHotkeys == null ? void 0 : enableHotkeys();
15567
+ }
15568
+ },
15569
+ message: "Are you sure to create this offer?"
15570
+ }), removingItemId && React__default.createElement(ConfirmModal, {
15571
+ onClose: setRemovingItemId.bind(null, null),
15572
+ onConfirm: function onConfirm() {
15573
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
15574
+ setRemovingItemId(null);
15575
+ enableHotkeys == null ? void 0 : enableHotkeys();
15576
+ },
15577
+ message: "Are you sure to remove this item?"
15578
+ }), React__default.createElement(InputWrapper$1, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
15579
+ onChange: function onChange(e) {
15580
+ setName(e.target.value);
15581
+ onChangeNameInput(e.target.value);
15582
+ },
15583
+ value: name,
15584
+ placeholder: "Enter name...",
15585
+ onBlur: enableHotkeys,
15586
+ onFocus: disableHotkeys
15587
+ })), 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, {
15588
+ slotIndex: 0,
15589
+ atlasIMG: atlasIMG,
15590
+ atlasJSON: atlasJSON,
15591
+ onPointerDown: function onPointerDown(_, __, item) {
15592
+ return onSelectedItemToSellRemove(item);
15593
+ },
15594
+ item: selectedItemToSell
15595
+ }), React__default.createElement(PriceInputWrapper, null, React__default.createElement("p", null, "Enter price"), React__default.createElement(Flex$2, null, React__default.createElement(Input, {
15596
+ onChange: function onChange(e) {
15597
+ setPrice(e.target.value);
15598
+ },
15599
+ value: price,
15600
+ placeholder: "Enter price...",
15601
+ type: "number",
15602
+ disabled: !selectedItemToSell,
15603
+ onBlur: enableHotkeys,
15604
+ onFocus: disableHotkeys
15605
+ }), React__default.createElement(Button, {
15606
+ buttonType: exports.ButtonTypes.RPGUIButton,
15607
+ disabled: !selectedItemToSell || !price,
15608
+ onPointerDown: function onPointerDown() {
15609
+ if (selectedItemToSell && price && Number(price)) {
15610
+ setIsCreatingOffer(true);
15611
+ }
15612
+ }
15613
+ }, "Create offer"))))), React__default.createElement(InnerOptionsWrapper, null, React__default.createElement(AvailableGold, {
15614
+ "$disabled": availableGold === 0
15615
+ }, React__default.createElement("p", null, "Available gold"), React__default.createElement("p", {
15616
+ className: "center"
15617
+ }, "$", availableGold), React__default.createElement(Button, {
15618
+ buttonType: exports.ButtonTypes.RPGUIButton,
15619
+ disabled: availableGold === 0,
15620
+ onPointerDown: function onPointerDown() {
15621
+ return availableGold > 0 && onMoneyWithdraw();
15622
+ }
15623
+ }, "Withdraw")))), React__default.createElement(ItemComponentScrollWrapper$1, {
15624
+ id: "MarketContainer",
15625
+ ref: itemsContainer
15626
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
15627
+ var item = _ref2.item,
15628
+ price = _ref2.price,
15629
+ _id = _ref2._id;
15630
+ return React__default.createElement(MarketplaceRows, {
15631
+ key: item.key + "_" + index,
15632
+ atlasIMG: atlasIMG,
15633
+ atlasJSON: atlasJSON,
15634
+ item: item,
15635
+ itemPrice: price,
15636
+ equipmentSet: equipmentSet,
15637
+ onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
15638
+ });
15639
+ })));
15640
+ };
15641
+ var Flex$2 = /*#__PURE__*/styled.div.withConfig({
15642
+ displayName: "ManagmentPanel__Flex",
15643
+ componentId: "sc-1yyi6jn-0"
15644
+ })(["display:flex;gap:5px;align-items:center;"]);
15645
+ var InputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15646
+ displayName: "ManagmentPanel__InputWrapper",
15647
+ componentId: "sc-1yyi6jn-1"
15648
+ })(["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;}"]);
15649
+ var OptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15650
+ displayName: "ManagmentPanel__OptionsWrapper",
15651
+ componentId: "sc-1yyi6jn-2"
15652
+ })(["width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;"]);
15653
+ var InnerOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15654
+ displayName: "ManagmentPanel__InnerOptionsWrapper",
15655
+ componentId: "sc-1yyi6jn-3"
15656
+ })(["display:flex;justify-content:space-between;flex-direction:column;height:100%;"]);
15657
+ var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15658
+ displayName: "ManagmentPanel__ItemComponentScrollWrapper",
15659
+ componentId: "sc-1yyi6jn-4"
15660
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15661
+ var PriceInputWrapper = /*#__PURE__*/styled.div.withConfig({
15662
+ displayName: "ManagmentPanel__PriceInputWrapper",
15663
+ componentId: "sc-1yyi6jn-5"
15664
+ })(["p{margin:0;}input{width:200px;}"]);
15665
+ var SellDescription = /*#__PURE__*/styled.p.withConfig({
15666
+ displayName: "ManagmentPanel__SellDescription",
15667
+ componentId: "sc-1yyi6jn-6"
15668
+ })(["margin:0;font-size:", " !important;"], uiFonts.size.xsmall);
15669
+ var AvailableGold = /*#__PURE__*/styled.div.withConfig({
15670
+ displayName: "ManagmentPanel__AvailableGold",
15671
+ componentId: "sc-1yyi6jn-7"
15672
+ })(["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) {
15673
+ return props.$disabled ? uiColors.lightGray : 'white';
15674
+ }, uiFonts.size.large, function (props) {
15675
+ return props.$disabled ? uiColors.lightGray : uiColors.lightGreen;
15676
+ });
15677
+
15678
+ var Marketplace = function Marketplace(props) {
15679
+ var onClose = props.onClose,
15680
+ scale = props.scale,
15681
+ onYourPanelToggle = props.onYourPanelToggle;
15682
+ var _useState = React.useState(false),
15683
+ isYourPanel = _useState[0],
15684
+ setIsYourPanel = _useState[1];
15685
+ return React__default.createElement(DraggableContainer, {
15686
+ type: exports.RPGUIContainerTypes.Framed,
15687
+ onCloseButton: function onCloseButton() {
15688
+ if (onClose) onClose();
15689
+ },
15690
+ width: "800px",
15691
+ cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
15692
+ scale: scale
15693
+ }, 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, {
15694
+ buttonType: exports.ButtonTypes.RPGUIButton,
15695
+ onPointerDown: function onPointerDown() {
15696
+ onYourPanelToggle(false);
15697
+ setIsYourPanel(false);
15698
+ }
15699
+ }, "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, {
15700
+ buttonType: exports.ButtonTypes.RPGUIButton,
15701
+ onPointerDown: function onPointerDown() {
15702
+ onYourPanelToggle(true);
15703
+ setIsYourPanel(true);
15704
+ }
15705
+ }, "Go to your panel"), React__default.createElement(Pager, Object.assign({}, props)))));
15706
+ };
15707
+ var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
15708
+ displayName: "Marketplace__PagerContainer",
15709
+ componentId: "sc-h904b1-0"
15710
+ })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
15711
+
15712
+ var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15713
+
15714
+ 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';
15715
+
15716
+ (function (ImgSide) {
15717
+ ImgSide["right"] = "right";
15718
+ ImgSide["left"] = "left";
15719
+ })(exports.ImgSide || (exports.ImgSide = {}));
15720
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
15721
+ var _textAndTypeArray$sli;
15722
+ var _onClose = _ref.onClose,
15723
+ textAndTypeArray = _ref.textAndTypeArray;
15724
+ var _useState = React.useState(false),
15725
+ showGoNextIndicator = _useState[0],
15726
+ setShowGoNextIndicator = _useState[1];
15727
+ var _useState2 = React.useState(0),
15728
+ slide = _useState2[0],
15729
+ setSlide = _useState2[1];
15730
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15731
+ if (event.code === 'Space') {
15732
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15733
+ setSlide(function (prev) {
15734
+ return prev + 1;
15735
+ });
15736
+ } else {
15737
+ // if there's no more text chunks, close the dialog
15738
+ _onClose();
15739
+ }
15740
+ }
15741
+ };
15742
+ React.useEffect(function () {
15743
+ document.addEventListener('keydown', onHandleSpacePress);
15744
+ return function () {
15745
+ return document.removeEventListener('keydown', onHandleSpacePress);
15746
+ };
15747
+ }, [slide]);
15748
+ return React__default.createElement(RPGUIContainer, {
15749
+ type: exports.RPGUIContainerTypes.FramedGold,
15750
+ width: '50%',
15751
+ height: '180px'
15752
+ }, 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, {
15753
+ flex: '70%'
15754
+ }, React__default.createElement(NPCDialogText, {
15755
+ onStartStep: function onStartStep() {
15756
+ return setShowGoNextIndicator(false);
15757
+ },
15758
+ onEndStep: function onEndStep() {
15759
+ return setShowGoNextIndicator(true);
15760
+ },
15761
+ text: textAndTypeArray[slide].text || 'No text provided.',
15762
+ onClose: function onClose() {
15763
+ if (_onClose) {
15764
+ _onClose();
15765
+ }
15766
+ }
15767
+ })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15768
+ src: textAndTypeArray[slide].imagePath || img$5
15769
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15770
+ right: '10.5rem',
15771
+ src: img$6
15772
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15773
+ src: textAndTypeArray[slide].imagePath || img$5
15774
+ })), React__default.createElement(TextContainer, {
15775
+ flex: '70%'
15776
+ }, React__default.createElement(NPCDialogText, {
15777
+ onStartStep: function onStartStep() {
15778
+ return setShowGoNextIndicator(false);
15779
+ },
15780
+ onEndStep: function onEndStep() {
15781
+ return setShowGoNextIndicator(true);
15782
+ },
15783
+ text: textAndTypeArray[slide].text || 'No text provided.',
15784
+ onClose: function onClose() {
15785
+ if (_onClose) {
15786
+ _onClose();
15787
+ }
15788
+ }
15789
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15790
+ right: '1rem',
15791
+ src: img$6
15792
+ }))), ")"));
15793
+ };
15794
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15795
+ displayName: "NPCMultiDialog__Container",
15796
+ componentId: "sc-rvu5wg-0"
15797
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15798
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
15799
+ displayName: "NPCMultiDialog__TextContainer",
15800
+ componentId: "sc-rvu5wg-1"
15801
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15802
+ var flex = _ref2.flex;
15803
+ return flex;
15804
+ });
15805
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15806
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15807
+ componentId: "sc-rvu5wg-2"
15808
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15809
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15810
+ displayName: "NPCMultiDialog__NPCThumbnail",
15811
+ componentId: "sc-rvu5wg-3"
15812
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15813
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15814
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15815
+ componentId: "sc-rvu5wg-4"
15816
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15817
+ var right = _ref3.right;
15818
+ return right;
15819
+ });
15820
+
15821
+ //@ts-ignore
15822
+ var useEventListener = function useEventListener(type, handler, el) {
15823
+ if (el === void 0) {
15824
+ el = window;
15825
+ }
15826
+ var savedHandler = React__default.useRef();
15827
+ React__default.useEffect(function () {
15828
+ savedHandler.current = handler;
15829
+ }, [handler]);
15830
+ React__default.useEffect(function () {
15831
+ //@ts-ignore
15832
+ var listener = function listener(e) {
15833
+ return savedHandler.current(e);
15834
+ };
15835
+ el.addEventListener(type, listener);
15836
+ return function () {
15837
+ el.removeEventListener(type, listener);
15838
+ };
15839
+ }, [type, el]);
15840
+ };
15841
+
15842
+ var DynamicText = function DynamicText(_ref) {
15843
+ var text = _ref.text,
15844
+ onFinish = _ref.onFinish,
15845
+ onStart = _ref.onStart;
15846
+ var _useState = React.useState(''),
15847
+ textState = _useState[0],
15848
+ setTextState = _useState[1];
15849
+ React.useEffect(function () {
15850
+ var i = 0;
15851
+ var interval = setInterval(function () {
15852
+ // on every interval, show one more character
15853
+ if (i === 0) {
15854
+ if (onStart) {
15855
+ onStart();
15856
+ }
15857
+ }
15858
+ if (i < text.length) {
15859
+ setTextState(text.substring(0, i + 1));
15860
+ i++;
15861
+ } else {
15862
+ clearInterval(interval);
15863
+ if (onFinish) {
15864
+ onFinish();
15865
+ }
15866
+ }
15867
+ }, 50);
15868
+ return function () {
15869
+ clearInterval(interval);
15870
+ };
15871
+ }, [text]);
15872
+ return React__default.createElement(TextContainer$1, null, textState);
15873
+ };
15874
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15875
+ displayName: "DynamicText__TextContainer",
15876
+ componentId: "sc-1ggl9nd-0"
15877
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15878
+
15879
+ var QuestionDialog = function QuestionDialog(_ref) {
15880
+ var questions = _ref.questions,
15881
+ answers = _ref.answers,
15882
+ onClose = _ref.onClose;
15883
+ var _useState = React.useState(questions[0]),
15884
+ currentQuestion = _useState[0],
15885
+ setCurrentQuestion = _useState[1];
15886
+ var _useState2 = React.useState(false),
15887
+ canShowAnswers = _useState2[0],
15888
+ setCanShowAnswers = _useState2[1];
15889
+ var onGetFirstAnswer = function onGetFirstAnswer() {
15890
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15891
+ return null;
15892
+ }
15893
+ var firstAnswerId = currentQuestion.answerIds[0];
15894
+ return answers.find(function (answer) {
15895
+ return answer.id === firstAnswerId;
15896
+ });
15897
+ };
15898
+ var _useState3 = React.useState(onGetFirstAnswer()),
15899
+ currentAnswer = _useState3[0],
15900
+ setCurrentAnswer = _useState3[1];
15901
+ React.useEffect(function () {
15902
+ setCurrentAnswer(onGetFirstAnswer());
15903
+ }, [currentQuestion]);
15904
+ var onGetAnswers = function onGetAnswers(answerIds) {
15905
+ return answerIds.map(function (answerId) {
15906
+ return answers.find(function (answer) {
15907
+ return answer.id === answerId;
15908
+ });
15909
+ });
15910
+ };
15911
+ var onKeyPress = function onKeyPress(e) {
15912
+ switch (e.key) {
15913
+ case 'ArrowDown':
15914
+ // select next answer, if any.
15915
+ // if no next answer, select first answer
15916
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15917
+ // (answer) => answer?.id === currentAnswer!.id + 1
15918
+ // );
15919
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15920
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15921
+ });
15922
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15923
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15924
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
15925
+ });
15926
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15927
+ break;
15928
+ case 'ArrowUp':
15929
+ // select previous answer, if any.
15930
+ // if no previous answer, select last answer
15931
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15932
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15933
+ });
15934
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15935
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15936
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
15937
+ });
15938
+ if (previousAnswer) {
15939
+ setCurrentAnswer(previousAnswer);
15940
+ } else {
15941
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15942
+ }
15943
+ break;
15944
+ case 'Enter':
15945
+ setCanShowAnswers(false);
15946
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15947
+ onClose();
15948
+ return;
15949
+ } else {
15950
+ setCurrentQuestion(questions.find(function (question) {
15951
+ return question.id === currentAnswer.nextQuestionId;
15952
+ }));
15953
+ }
15954
+ break;
15955
+ }
15956
+ };
15957
+ useEventListener('keydown', onKeyPress);
15958
+ var onAnswerClick = function onAnswerClick(answer) {
15959
+ setCanShowAnswers(false);
15960
+ if (answer.nextQuestionId) {
15961
+ // if there is a next question, go to it
15962
+ setCurrentQuestion(questions.find(function (question) {
15963
+ return question.id === answer.nextQuestionId;
15964
+ }));
15965
+ } else {
15966
+ // else, finish dialog!
15967
+ onClose();
15968
+ }
15969
+ };
15970
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15971
+ var answerIds = currentQuestion.answerIds;
15972
+ if (!answerIds) {
15973
+ return null;
15974
+ }
15975
+ var answers = onGetAnswers(answerIds);
15976
+ if (!answers) {
15977
+ return null;
15978
+ }
15979
+ return answers.map(function (answer) {
15980
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15981
+ var selectedColor = isSelected ? 'yellow' : 'white';
15982
+ if (answer) {
15983
+ return React__default.createElement(AnswerRow, {
15984
+ key: "answer_" + answer.id
15985
+ }, React__default.createElement(AnswerSelectedIcon, {
15986
+ color: selectedColor
15987
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
15988
+ key: answer.id,
15989
+ onPointerDown: function onPointerDown() {
15990
+ return onAnswerClick(answer);
15991
+ },
15992
+ color: selectedColor
15993
+ }, answer.text));
15994
+ }
15995
+ return null;
15996
+ });
15997
+ };
15998
+ return React__default.createElement(Container$j, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
15999
+ text: currentQuestion.text,
16000
+ onStart: function onStart() {
16001
+ return setCanShowAnswers(false);
16002
+ },
16003
+ onFinish: function onFinish() {
16004
+ return setCanShowAnswers(true);
16005
+ }
16006
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15810
16007
  };
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;"]);
16008
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
16009
+ displayName: "QuestionDialog__Container",
16010
+ componentId: "sc-bxc5u0-0"
16011
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
16012
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
16013
+ displayName: "QuestionDialog__QuestionContainer",
16014
+ componentId: "sc-bxc5u0-1"
16015
+ })(["flex:100%;width:100%;"]);
16016
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
16017
+ displayName: "QuestionDialog__AnswersContainer",
16018
+ componentId: "sc-bxc5u0-2"
16019
+ })(["flex:100%;"]);
16020
+ var Answer = /*#__PURE__*/styled.p.withConfig({
16021
+ displayName: "QuestionDialog__Answer",
16022
+ componentId: "sc-bxc5u0-3"
16023
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
16024
+ return props.color;
16025
+ });
16026
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
16027
+ displayName: "QuestionDialog__AnswerSelectedIcon",
16028
+ componentId: "sc-bxc5u0-4"
16029
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
16030
+ return props.color;
16031
+ });
16032
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
16033
+ displayName: "QuestionDialog__AnswerRow",
16034
+ componentId: "sc-bxc5u0-5"
16035
+ })(["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
16036
 
15828
16037
  var ProgressBar = function ProgressBar(_ref) {
15829
16038
  var max = _ref.max,
@@ -15851,7 +16060,7 @@ var ProgressBar = function ProgressBar(_ref) {
15851
16060
  percentageWidth: percentageWidth,
15852
16061
  minWidth: minWidth,
15853
16062
  style: style
15854
- }, displayText && React__default.createElement(TextOverlay$2, null, React__default.createElement(ProgressBarText, null, value, "/", max)), React__default.createElement("div", {
16063
+ }, displayText && React__default.createElement(TextOverlay$1, null, React__default.createElement(ProgressBarText, null, value, "/", max)), React__default.createElement("div", {
15855
16064
  className: " rpgui-progress-track"
15856
16065
  }, React__default.createElement("div", {
15857
16066
  className: "rpgui-progress-fill " + color + " ",
@@ -15869,7 +16078,7 @@ var ProgressBarText = /*#__PURE__*/styled.span.withConfig({
15869
16078
  displayName: "ProgressBar__ProgressBarText",
15870
16079
  componentId: "sc-qa6fzh-0"
15871
16080
  })(["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({
16081
+ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15873
16082
  displayName: "ProgressBar__TextOverlay",
15874
16083
  componentId: "sc-qa6fzh-1"
15875
16084
  })(["width:100%;position:relative;"]);
@@ -15884,7 +16093,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
15884
16093
  return props.style;
15885
16094
  });
15886
16095
 
15887
- var img$8 = 'data:image/png;base64,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';
16096
+ var img$7 = 'data:image/png;base64,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';
15888
16097
 
15889
16098
  var QuestInfo = function QuestInfo(_ref) {
15890
16099
  var quests = _ref.quests,
@@ -15928,7 +16137,7 @@ var QuestInfo = function QuestInfo(_ref) {
15928
16137
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15929
16138
  className: "drag-handler"
15930
16139
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15931
- src: quests[currentIndex].thumbnail || img$8
16140
+ src: quests[currentIndex].thumbnail || img$7
15932
16141
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15933
16142
  className: "golden"
15934
16143
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -15947,7 +16156,7 @@ var QuestInfo = function QuestInfo(_ref) {
15947
16156
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15948
16157
  className: "drag-handler"
15949
16158
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15950
- src: quests[0].thumbnail || img$8
16159
+ src: quests[0].thumbnail || img$7
15951
16160
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15952
16161
  className: "golden"
15953
16162
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -16543,13 +16752,13 @@ var Statistic$1 = /*#__PURE__*/styled.div.withConfig({
16543
16752
  var SpellInfoDisplay = function SpellInfoDisplay(_ref) {
16544
16753
  var spell = _ref.spell,
16545
16754
  isMobile = _ref.isMobile;
16546
- return React__default.createElement(Flex$1, {
16755
+ return React__default.createElement(Flex$3, {
16547
16756
  "$isMobile": isMobile
16548
16757
  }, React__default.createElement(SpellInfo, {
16549
16758
  spell: spell
16550
16759
  }));
16551
16760
  };
16552
- var Flex$1 = /*#__PURE__*/styled.div.withConfig({
16761
+ var Flex$3 = /*#__PURE__*/styled.div.withConfig({
16553
16762
  displayName: "SpellInfoDisplay__Flex",
16554
16763
  componentId: "sc-1htnsmm-0"
16555
16764
  })(["display:flex;gap:0.5rem;flex-direction:", ";@media (max-width:580px){flex-direction:column-reverse;align-items:center;}"], function (_ref2) {
@@ -16694,7 +16903,6 @@ var Spell = function Spell(_ref) {
16694
16903
  return React__default.createElement(SpellInfoWrapper, {
16695
16904
  spell: spell
16696
16905
  }, React__default.createElement(Container$p, {
16697
- disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16698
16906
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16699
16907
  isSettingShortcut: isSettingShortcut && !disabled,
16700
16908
  className: "spell"
@@ -16765,17 +16973,6 @@ var Spellbook = function Spellbook(_ref) {
16765
16973
  var _useState2 = React.useState(-1),
16766
16974
  settingShortcutIndex = _useState2[0],
16767
16975
  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
16976
  var spellsToDisplay = React.useMemo(function () {
16780
16977
  return spells.sort(function (a, b) {
16781
16978
  if (a.minMagicLevelRequired > b.minMagicLevelRequired) return 1;
@@ -16844,16 +17041,16 @@ var TextArea = function TextArea(_ref) {
16844
17041
  return React__default.createElement("textarea", Object.assign({}, props));
16845
17042
  };
16846
17043
 
16847
- var img$9 = 'data:image/gif;base64,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';
17044
+ var img$8 = 'data:image/gif;base64,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';
16848
17045
 
16849
- var img$a = 'data:image/gif;base64,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';
17046
+ var img$9 = 'data:image/gif;base64,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';
16850
17047
 
16851
- var img$b = 'data:image/gif;base64,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';
17048
+ var img$a = 'data:image/gif;base64,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';
16852
17049
 
16853
17050
  var DayNightPeriod = function DayNightPeriod(_ref) {
16854
17051
  var _periodOfDaySrcFiles;
16855
17052
  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);
17053
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16857
17054
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
16858
17055
  src: periodOfDaySrcFiles[periodOfDay]
16859
17056
  }));
@@ -16863,7 +17060,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16863
17060
  componentId: "sc-10t97fw-0"
16864
17061
  })(["width:100%;img{width:67%;}"]);
16865
17062
 
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';
17063
+ 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
17064
 
16868
17065
  var TimeWidget = function TimeWidget(_ref) {
16869
17066
  var onClose = _ref.onClose,
@@ -16881,7 +17078,7 @@ var TimeWidget = function TimeWidget(_ref) {
16881
17078
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16882
17079
  displayName: "TimeWidget__WidgetContainer",
16883
17080
  componentId: "sc-1ja236h-0"
16884
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
17081
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16885
17082
  var Time = /*#__PURE__*/styled.div.withConfig({
16886
17083
  displayName: "TimeWidget__Time",
16887
17084
  componentId: "sc-1ja236h-1"
@@ -16946,7 +17143,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
16946
17143
  className: "arrow-selector",
16947
17144
  direction: "left",
16948
17145
  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, {
17146
+ }), React__default.createElement(QuantityDisplay, null, React__default.createElement(TextOverlay$2, null, React__default.createElement(Item$1, null, selectedQty))), React__default.createElement(StyledArrow, {
16950
17147
  size: 32,
16951
17148
  className: "arrow-selector",
16952
17149
  direction: "right",
@@ -16982,11 +17179,11 @@ var NameValue = /*#__PURE__*/styled.div.withConfig({
16982
17179
  displayName: "TradingItemRow__NameValue",
16983
17180
  componentId: "sc-mja0b5-5"
16984
17181
  })(["p{font-size:0.75rem;margin:0;}"]);
16985
- var Item$2 = /*#__PURE__*/styled.span.withConfig({
17182
+ var Item$1 = /*#__PURE__*/styled.span.withConfig({
16986
17183
  displayName: "TradingItemRow__Item",
16987
17184
  componentId: "sc-mja0b5-6"
16988
17185
  })(["color:white;text-align:center;z-index:1;width:100%;"]);
16989
- var TextOverlay$3 = /*#__PURE__*/styled.div.withConfig({
17186
+ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
16990
17187
  displayName: "TradingItemRow__TextOverlay",
16991
17188
  componentId: "sc-mja0b5-7"
16992
17189
  })(["width:100%;position:relative;"]);
@@ -16994,7 +17191,7 @@ var QuantityContainer$1 = /*#__PURE__*/styled.div.withConfig({
16994
17191
  displayName: "TradingItemRow__QuantityContainer",
16995
17192
  componentId: "sc-mja0b5-8"
16996
17193
  })(["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({
17194
+ var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
16998
17195
  displayName: "TradingItemRow__QuantityDisplay",
16999
17196
  componentId: "sc-mja0b5-9"
17000
17197
  })(["font-size:", ";"], uiFonts.size.small);
@@ -17142,6 +17339,219 @@ var Container$r = /*#__PURE__*/styled.div.withConfig({
17142
17339
  return props.maxLines;
17143
17340
  });
17144
17341
 
17342
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
17343
+
17344
+ var chunkString = function chunkString(str, length) {
17345
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
17346
+ };
17347
+
17348
+ var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
17349
+
17350
+ var NPCDialogText = function NPCDialogText(_ref) {
17351
+ var text = _ref.text,
17352
+ onClose = _ref.onClose,
17353
+ onEndStep = _ref.onEndStep,
17354
+ onStartStep = _ref.onStartStep,
17355
+ type = _ref.type;
17356
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
17357
+ function maxCharacters(width) {
17358
+ // Set the font size to 16 pixels
17359
+ var fontSize = 11.2;
17360
+ // Calculate the number of characters that can fit in one line
17361
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
17362
+ // Calculate the number of lines that can fit in the div
17363
+ var linesPerDiv = Math.floor(180 / fontSize);
17364
+ // Calculate the maximum number of characters that can fit in the div
17365
+ var maxCharacters = charactersPerLine * linesPerDiv;
17366
+ // Return the maximum number of characters
17367
+ return Math.round(maxCharacters / 5);
17368
+ }
17369
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
17370
+ var _useState = React.useState(0),
17371
+ chunkIndex = _useState[0],
17372
+ setChunkIndex = _useState[1];
17373
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17374
+ if (event.code === 'Space') {
17375
+ goToNextStep();
17376
+ }
17377
+ };
17378
+ var goToNextStep = function goToNextStep() {
17379
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
17380
+ if (hasNextChunk) {
17381
+ setChunkIndex(function (prev) {
17382
+ return prev + 1;
17383
+ });
17384
+ } else {
17385
+ // if there's no more text chunks, close the dialog
17386
+ onClose();
17387
+ }
17388
+ };
17389
+ React.useEffect(function () {
17390
+ document.addEventListener('keydown', onHandleSpacePress);
17391
+ return function () {
17392
+ return document.removeEventListener('keydown', onHandleSpacePress);
17393
+ };
17394
+ }, [chunkIndex]);
17395
+ var _useState2 = React.useState(false),
17396
+ showGoNextIndicator = _useState2[0],
17397
+ setShowGoNextIndicator = _useState2[1];
17398
+ return React__default.createElement(Container$s, null, React__default.createElement(DynamicText, {
17399
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
17400
+ onFinish: function onFinish() {
17401
+ setShowGoNextIndicator(true);
17402
+ onEndStep && onEndStep();
17403
+ },
17404
+ onStart: function onStart() {
17405
+ setShowGoNextIndicator(false);
17406
+ onStartStep && onStartStep();
17407
+ }
17408
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
17409
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
17410
+ src: IS_MOBILE_OR_TABLET ? img$c : img$6,
17411
+ onPointerDown: function onPointerDown() {
17412
+ goToNextStep();
17413
+ }
17414
+ }));
17415
+ };
17416
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
17417
+ displayName: "NPCDialogText__Container",
17418
+ componentId: "sc-1cxkdh9-0"
17419
+ })([""]);
17420
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
17421
+ displayName: "NPCDialogText__PressSpaceIndicator",
17422
+ componentId: "sc-1cxkdh9-1"
17423
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
17424
+ var right = _ref2.right;
17425
+ return right;
17426
+ });
17427
+
17428
+ (function (NPCDialogType) {
17429
+ NPCDialogType["TextOnly"] = "TextOnly";
17430
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
17431
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
17432
+ var NPCDialog = function NPCDialog(_ref) {
17433
+ var text = _ref.text,
17434
+ type = _ref.type,
17435
+ _onClose = _ref.onClose,
17436
+ imagePath = _ref.imagePath,
17437
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
17438
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
17439
+ questions = _ref.questions,
17440
+ answers = _ref.answers;
17441
+ return React__default.createElement(RPGUIContainer, {
17442
+ type: exports.RPGUIContainerTypes.FramedGold,
17443
+ width: isQuestionDialog ? '600px' : '80%',
17444
+ height: '180px'
17445
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
17446
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17447
+ }, React__default.createElement(QuestionDialog, {
17448
+ questions: questions,
17449
+ answers: answers,
17450
+ onClose: function onClose() {
17451
+ if (_onClose) {
17452
+ _onClose();
17453
+ }
17454
+ }
17455
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17456
+ src: imagePath || img$5
17457
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$t, null, React__default.createElement(TextContainer$2, {
17458
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17459
+ }, React__default.createElement(NPCDialogText, {
17460
+ type: type,
17461
+ text: text || 'No text provided.',
17462
+ onClose: function onClose() {
17463
+ if (_onClose) {
17464
+ _onClose();
17465
+ }
17466
+ }
17467
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17468
+ src: imagePath || img$5
17469
+ })))));
17470
+ };
17471
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
17472
+ displayName: "NPCDialog__Container",
17473
+ componentId: "sc-1b4aw74-0"
17474
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17475
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17476
+ displayName: "NPCDialog__TextContainer",
17477
+ componentId: "sc-1b4aw74-1"
17478
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17479
+ var flex = _ref2.flex;
17480
+ return flex;
17481
+ });
17482
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17483
+ displayName: "NPCDialog__ThumbnailContainer",
17484
+ componentId: "sc-1b4aw74-2"
17485
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17486
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17487
+ displayName: "NPCDialog__NPCThumbnail",
17488
+ componentId: "sc-1b4aw74-3"
17489
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
17490
+
17491
+ var HistoryDialog = function HistoryDialog(_ref) {
17492
+ var backgroundImgPath = _ref.backgroundImgPath,
17493
+ fullCoverBackground = _ref.fullCoverBackground,
17494
+ questions = _ref.questions,
17495
+ answers = _ref.answers,
17496
+ text = _ref.text,
17497
+ imagePath = _ref.imagePath,
17498
+ textAndTypeArray = _ref.textAndTypeArray,
17499
+ onClose = _ref.onClose;
17500
+ var _useState = React.useState(0),
17501
+ img = _useState[0],
17502
+ setImage = _useState[1];
17503
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17504
+ if (event.code === 'Space') {
17505
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17506
+ setImage(function (prev) {
17507
+ return prev + 1;
17508
+ });
17509
+ } else {
17510
+ // if there's no more text chunks, close the dialog
17511
+ onClose();
17512
+ }
17513
+ }
17514
+ };
17515
+ React.useEffect(function () {
17516
+ document.addEventListener('keydown', onHandleSpacePress);
17517
+ return function () {
17518
+ return document.removeEventListener('keydown', onHandleSpacePress);
17519
+ };
17520
+ }, [backgroundImgPath]);
17521
+ return React__default.createElement(BackgroundContainer, {
17522
+ imgPath: backgroundImgPath[img],
17523
+ fullImg: fullCoverBackground
17524
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
17525
+ textAndTypeArray: textAndTypeArray,
17526
+ onClose: onClose
17527
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
17528
+ questions: questions,
17529
+ answers: answers,
17530
+ onClose: onClose
17531
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
17532
+ text: text,
17533
+ imagePath: imagePath,
17534
+ onClose: onClose,
17535
+ type: exports.NPCDialogType.TextAndThumbnail
17536
+ }) : React__default.createElement(NPCDialog, {
17537
+ text: text,
17538
+ onClose: onClose,
17539
+ type: exports.NPCDialogType.TextOnly
17540
+ })));
17541
+ };
17542
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17543
+ displayName: "HistoryDialog__BackgroundContainer",
17544
+ componentId: "sc-u6oe75-0"
17545
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17546
+ return props.imgPath;
17547
+ }, function (props) {
17548
+ return props.imgPath ? 'cover' : 'auto';
17549
+ });
17550
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17551
+ displayName: "HistoryDialog__DialogContainer",
17552
+ componentId: "sc-u6oe75-1"
17553
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
17554
+
17145
17555
  exports.Button = Button;
17146
17556
  exports.CharacterSelection = CharacterSelection;
17147
17557
  exports.Chat = Chat;