@rpg-engine/long-bow 0.3.82 → 0.3.83

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 (155) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/Abstractions/SlotsContainer.d.ts +2 -0
  4. package/dist/components/DraggableContainer.d.ts +2 -0
  5. package/dist/components/Equipment/EquipmentSet.d.ts +2 -0
  6. package/dist/components/Item/Inventory/ItemContainer.d.ts +3 -0
  7. package/dist/components/Item/Inventory/ItemSlot.d.ts +1 -0
  8. package/dist/components/Item/Inventory/itemContainerHelper.d.ts +1 -1
  9. package/dist/components/RelativeListMenu.d.ts +4 -0
  10. package/dist/long-bow.cjs.development.js +944 -858
  11. package/dist/long-bow.cjs.development.js.map +1 -1
  12. package/dist/long-bow.cjs.production.min.js +1 -1
  13. package/dist/long-bow.cjs.production.min.js.map +1 -1
  14. package/dist/long-bow.esm.js +830 -744
  15. package/dist/long-bow.esm.js.map +1 -1
  16. package/package.json +100 -100
  17. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  18. package/src/components/Abstractions/SlotsContainer.tsx +62 -48
  19. package/src/components/Arrow/SelectArrow.tsx +69 -69
  20. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  21. package/src/components/Arrow/img/arrow01-left.png +0 -0
  22. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  23. package/src/components/Arrow/img/arrow01-right.png +0 -0
  24. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  25. package/src/components/Arrow/img/arrow02-left.png +0 -0
  26. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  27. package/src/components/Arrow/img/arrow02-right.png +0 -0
  28. package/src/components/Button.tsx +40 -40
  29. package/src/components/Character/CharacterSelection.tsx +96 -96
  30. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  31. package/src/components/Chat/Chat.tsx +196 -196
  32. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  33. package/src/components/CheckButton.tsx +65 -65
  34. package/src/components/CircularController/CircularController.tsx +248 -248
  35. package/src/components/CraftBook/CraftBook.tsx +241 -241
  36. package/src/components/CraftBook/MockItems.ts +77 -77
  37. package/src/components/DraggableContainer.tsx +176 -156
  38. package/src/components/Dropdown.tsx +90 -90
  39. package/src/components/DropdownSelectorContainer.tsx +42 -42
  40. package/src/components/Equipment/EquipmentSet.tsx +199 -191
  41. package/src/components/HistoryDialog.tsx +104 -104
  42. package/src/components/Input.tsx +15 -15
  43. package/src/components/Item/Cards/ItemInfo.tsx +252 -252
  44. package/src/components/Item/Cards/ItemInfoDisplay.tsx +128 -128
  45. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  46. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  47. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  48. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  49. package/src/components/Item/Inventory/ItemContainer.tsx +227 -218
  50. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  51. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  52. package/src/components/Item/Inventory/ItemSlot.tsx +564 -546
  53. package/src/components/Item/Inventory/itemContainerHelper.ts +172 -156
  54. package/src/components/ListMenu.tsx +63 -63
  55. package/src/components/Multitab/Tab.tsx +66 -66
  56. package/src/components/Multitab/TabBody.tsx +13 -13
  57. package/src/components/Multitab/TabsContainer.tsx +97 -97
  58. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  59. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  60. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  61. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  62. package/src/components/ProgressBar.tsx +92 -92
  63. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  64. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  65. package/src/components/QuestList.tsx +135 -135
  66. package/src/components/RPGUIContainer.tsx +47 -47
  67. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  68. package/src/components/RPGUIRoot.tsx +14 -14
  69. package/src/components/RadioButton.tsx +53 -53
  70. package/src/components/RadioInput/RadioButton.tsx +96 -96
  71. package/src/components/RadioInput/RadioInput.tsx +102 -102
  72. package/src/components/RadioInput/instruments.ts +15 -15
  73. package/src/components/RangeSlider.tsx +78 -78
  74. package/src/components/RelativeListMenu.tsx +90 -83
  75. package/src/components/ScrollList.tsx +79 -79
  76. package/src/components/Shortcuts/Shortcuts.tsx +151 -151
  77. package/src/components/Shortcuts/ShortcutsSetter.tsx +132 -132
  78. package/src/components/Shortcuts/SingleShortcut.ts +62 -62
  79. package/src/components/SimpleProgressBar.tsx +62 -62
  80. package/src/components/SkillProgressBar.tsx +133 -133
  81. package/src/components/SkillsContainer.tsx +206 -206
  82. package/src/components/Spellbook/Spell.tsx +201 -201
  83. package/src/components/Spellbook/Spellbook.tsx +153 -153
  84. package/src/components/Spellbook/constants.ts +8 -8
  85. package/src/components/Spellbook/mockSpells.ts +60 -60
  86. package/src/components/StaticBook/StaticBook.tsx +103 -103
  87. package/src/components/TextArea.tsx +11 -11
  88. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  89. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  90. package/src/components/TradingMenu/TradingItemRow.tsx +198 -198
  91. package/src/components/TradingMenu/TradingMenu.tsx +216 -216
  92. package/src/components/TradingMenu/items.mock.ts +48 -48
  93. package/src/components/Truncate.tsx +25 -25
  94. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  95. package/src/components/shared/Column.tsx +16 -16
  96. package/src/components/shared/Ellipsis.tsx +65 -65
  97. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  98. package/src/components/typography/DynamicText.tsx +49 -49
  99. package/src/constants/uiColors.ts +20 -20
  100. package/src/constants/uiDevices.ts +3 -3
  101. package/src/constants/uiFonts.ts +12 -12
  102. package/src/hooks/useEventListener.ts +21 -21
  103. package/src/hooks/useOutsideAlerter.ts +25 -25
  104. package/src/index.tsx +40 -40
  105. package/src/libs/StringHelpers.ts +3 -3
  106. package/src/mocks/atlas/entities/entities.json +20215 -20215
  107. package/src/mocks/atlas/icons/icons.json +735 -735
  108. package/src/mocks/atlas/items/items.json +12086 -12086
  109. package/src/mocks/equipmentSet.mocks.ts +391 -391
  110. package/src/mocks/itemContainer.mocks.ts +563 -563
  111. package/src/mocks/skills.mocks.ts +128 -128
  112. package/src/stories/Arrow.stories.tsx +26 -26
  113. package/src/stories/Button.stories.tsx +36 -36
  114. package/src/stories/CharacterSelection.stories.tsx +45 -45
  115. package/src/stories/CharacterStatus.stories.tsx +29 -29
  116. package/src/stories/Chat.stories.tsx +187 -187
  117. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  118. package/src/stories/CheckButton.stories.tsx +48 -48
  119. package/src/stories/CircullarController.stories.tsx +37 -37
  120. package/src/stories/CraftBook.stories.tsx +42 -42
  121. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  122. package/src/stories/DraggableContainer.stories.tsx +28 -28
  123. package/src/stories/Dropdown.stories.tsx +46 -46
  124. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  125. package/src/stories/EquipmentSet.stories.tsx +65 -65
  126. package/src/stories/HistoryDialog.stories.tsx +61 -61
  127. package/src/stories/ItemContainer.stories.tsx +201 -200
  128. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  129. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  130. package/src/stories/ItemSelector.stories.tsx +77 -77
  131. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  132. package/src/stories/ListMenu.stories.tsx +56 -56
  133. package/src/stories/Multitab.stories.tsx +51 -51
  134. package/src/stories/NPCDialog.stories.tsx +130 -130
  135. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  136. package/src/stories/ProgressBar.stories.tsx +23 -23
  137. package/src/stories/PropertySelect.stories.tsx +40 -40
  138. package/src/stories/QuestInfo.stories.tsx +107 -107
  139. package/src/stories/QuestList.stories.tsx +82 -82
  140. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  141. package/src/stories/RadioButton.stories.tsx +49 -49
  142. package/src/stories/RadioInput.stories.tsx +34 -34
  143. package/src/stories/RangeSlider.stories.tsx +64 -64
  144. package/src/stories/ScrollList.stories.tsx +85 -85
  145. package/src/stories/Shortcuts.stories.tsx +39 -39
  146. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  147. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  148. package/src/stories/SkillsContainer.stories.tsx +35 -35
  149. package/src/stories/Spellbook.stories.tsx +104 -104
  150. package/src/stories/StaticBook.stories.tsx +32 -32
  151. package/src/stories/Text.stories.tsx +42 -42
  152. package/src/stories/TimeWidget.stories.tsx +27 -27
  153. package/src/stories/TradingMenu.stories.tsx +47 -47
  154. package/src/types/eventTypes.ts +4 -4
  155. package/src/types/index.d.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  import React, { Component, useState, useEffect, useRef, useMemo, Fragment } from 'react';
2
2
  import styled from 'styled-components';
3
- import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
3
+ import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, getSPForLevel, PeriodOfDay, isMobileOrTablet } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
5
5
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
6
6
  import { RxPaperPlane } from 'react-icons/rx';
@@ -33215,6 +33215,8 @@ var DraggableContainer = function DraggableContainer(_ref) {
33215
33215
  imgWidth = _ref$imgWidth === void 0 ? '20px' : _ref$imgWidth,
33216
33216
  cancelDrag = _ref.cancelDrag,
33217
33217
  onPositionChange = _ref.onPositionChange,
33218
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
33219
+ onPositionChangeStart = _ref.onPositionChangeStart,
33218
33220
  onOutsideClick = _ref.onOutsideClick,
33219
33221
  _ref$initialPosition = _ref.initialPosition,
33220
33222
  initialPosition = _ref$initialPosition === void 0 ? {
@@ -33247,6 +33249,22 @@ var DraggableContainer = function DraggableContainer(_ref) {
33247
33249
  });
33248
33250
  }
33249
33251
  },
33252
+ onStop: function onStop(_e, data) {
33253
+ if (onPositionChangeEnd) {
33254
+ onPositionChangeEnd({
33255
+ x: data.x,
33256
+ y: data.y
33257
+ });
33258
+ }
33259
+ },
33260
+ onStart: function onStart(_e, data) {
33261
+ if (onPositionChangeStart) {
33262
+ onPositionChangeStart({
33263
+ x: data.x,
33264
+ y: data.y
33265
+ });
33266
+ }
33267
+ },
33250
33268
  defaultPosition: initialPosition,
33251
33269
  scale: scale
33252
33270
  }, React.createElement(Container$6, {
@@ -33379,7 +33397,8 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
33379
33397
  onSelected = _ref.onSelected,
33380
33398
  onOutsideClick = _ref.onOutsideClick,
33381
33399
  _ref$fontSize = _ref.fontSize,
33382
- fontSize = _ref$fontSize === void 0 ? 0.8 : _ref$fontSize;
33400
+ fontSize = _ref$fontSize === void 0 ? 0.8 : _ref$fontSize,
33401
+ pos = _ref.pos;
33383
33402
  var ref = useRef(null);
33384
33403
  useOutsideClick(ref, 'relative-context-menu');
33385
33404
  useEffect(function () {
@@ -33395,10 +33414,10 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
33395
33414
  document.removeEventListener('clickOutside', function (_e) {});
33396
33415
  };
33397
33416
  }, []);
33398
- return React.createElement(Container$9, {
33417
+ return React.createElement(ModalPortal, null, React.createElement(Container$9, Object.assign({
33399
33418
  fontSize: fontSize,
33400
33419
  ref: ref
33401
- }, React.createElement("ul", {
33420
+ }, pos), React.createElement("ul", {
33402
33421
  className: "rpgui-list-imp",
33403
33422
  style: {
33404
33423
  overflow: 'hidden'
@@ -33410,12 +33429,16 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
33410
33429
  onSelected(params == null ? void 0 : params.id);
33411
33430
  }
33412
33431
  }, (params == null ? void 0 : params.text) || 'No text');
33413
- })));
33432
+ }))));
33414
33433
  };
33415
33434
  var Container$9 = /*#__PURE__*/styled.div.withConfig({
33416
33435
  displayName: "RelativeListMenu__Container",
33417
33436
  componentId: "sc-7hohf-0"
33418
- })(["position:absolute;top:1rem;left:4rem;display:flex;flex-direction:column;width:max-content;justify-content:start;align-items:flex-start;li{font-size:", "em;}"], function (props) {
33437
+ })(["position:absolute;top:", "px;left:", "px;display:flex;flex-direction:column;width:max-content;justify-content:start;align-items:flex-start;li{font-size:", "em;}"], function (props) {
33438
+ return props.y;
33439
+ }, function (props) {
33440
+ return props.x;
33441
+ }, function (props) {
33419
33442
  return props.fontSize;
33420
33443
  });
33421
33444
  var ListElement = /*#__PURE__*/styled.li.withConfig({
@@ -33488,7 +33511,7 @@ var generateContextMenuListOptions = function generateContextMenuListOptions(act
33488
33511
  });
33489
33512
  return contextMenu;
33490
33513
  };
33491
- var generateContextMenu = function generateContextMenu(item, itemContainerType) {
33514
+ var generateContextMenu = function generateContextMenu(item, itemContainerType, isDepotSystem) {
33492
33515
  var contextActionMenu = [];
33493
33516
  if (itemContainerType === ItemContainerType.Inventory) {
33494
33517
  switch (item.type) {
@@ -33514,6 +33537,12 @@ var generateContextMenu = function generateContextMenu(item, itemContainerType)
33514
33537
  contextActionMenu = generateContextMenuListOptions(ActionsForInventory.Other);
33515
33538
  break;
33516
33539
  }
33540
+ if (isDepotSystem) {
33541
+ contextActionMenu.push({
33542
+ id: DepotSocketEvents.Deposit,
33543
+ text: 'Deposit'
33544
+ });
33545
+ }
33517
33546
  }
33518
33547
  if (itemContainerType === ItemContainerType.Equipment) {
33519
33548
  switch (item.type) {
@@ -33576,6 +33605,12 @@ var generateContextMenu = function generateContextMenu(item, itemContainerType)
33576
33605
  text: 'Use with...'
33577
33606
  });
33578
33607
  }
33608
+ if (isDepotSystem) {
33609
+ contextActionMenu.push({
33610
+ id: DepotSocketEvents.Withdraw,
33611
+ text: 'Withdraw'
33612
+ });
33613
+ }
33579
33614
  }
33580
33615
  return contextActionMenu;
33581
33616
  };
@@ -33614,7 +33649,8 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33614
33649
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
33615
33650
  dragScale = _ref.dragScale,
33616
33651
  isSelectingShortcut = _ref.isSelectingShortcut,
33617
- equipmentSet = _ref.equipmentSet;
33652
+ equipmentSet = _ref.equipmentSet,
33653
+ isDepotSystem = _ref.isDepotSystem;
33618
33654
  var _useState = useState(false),
33619
33655
  isTooltipVisible = _useState[0],
33620
33656
  setTooltipVisible = _useState[1];
@@ -33624,25 +33660,31 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33624
33660
  var _useState3 = useState(false),
33625
33661
  isContextMenuVisible = _useState3[0],
33626
33662
  setIsContextMenuVisible = _useState3[1];
33627
- var _useState4 = useState(false),
33628
- isFocused = _useState4[0],
33629
- setIsFocused = _useState4[1];
33663
+ var _useState4 = useState({
33664
+ x: 0,
33665
+ y: 0
33666
+ }),
33667
+ contextMenuPosition = _useState4[0],
33668
+ setContextMenuPosition = _useState4[1];
33630
33669
  var _useState5 = useState(false),
33631
- wasDragged = _useState5[0],
33632
- setWasDragged = _useState5[1];
33633
- var _useState6 = useState({
33670
+ isFocused = _useState5[0],
33671
+ setIsFocused = _useState5[1];
33672
+ var _useState6 = useState(false),
33673
+ wasDragged = _useState6[0],
33674
+ setWasDragged = _useState6[1];
33675
+ var _useState7 = useState({
33634
33676
  x: 0,
33635
33677
  y: 0
33636
33678
  }),
33637
- dragPosition = _useState6[0],
33638
- setDragPosition = _useState6[1];
33639
- var _useState7 = useState(null),
33640
- dropPosition = _useState7[0],
33641
- setDropPosition = _useState7[1];
33679
+ dragPosition = _useState7[0],
33680
+ setDragPosition = _useState7[1];
33681
+ var _useState8 = useState(null),
33682
+ dropPosition = _useState8[0],
33683
+ setDropPosition = _useState8[1];
33642
33684
  var dragContainer = useRef(null);
33643
- var _useState8 = useState([]),
33644
- contextActions = _useState8[0],
33645
- setContextActions = _useState8[1];
33685
+ var _useState9 = useState([]),
33686
+ contextActions = _useState9[0],
33687
+ setContextActions = _useState9[1];
33646
33688
  useEffect(function () {
33647
33689
  setDragPosition({
33648
33690
  x: 0,
@@ -33650,9 +33692,9 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33650
33692
  });
33651
33693
  setIsFocused(false);
33652
33694
  if (item) {
33653
- setContextActions(generateContextMenu(item, containerType));
33695
+ setContextActions(generateContextMenu(item, containerType, isDepotSystem));
33654
33696
  }
33655
- }, [item]);
33697
+ }, [item, isDepotSystem]);
33656
33698
  useEffect(function () {
33657
33699
  if (onDrop && item && dropPosition) {
33658
33700
  onDrop(item, dropPosition);
@@ -33834,7 +33876,16 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33834
33876
  isTouch = true;
33835
33877
  setIsTooltipMobileVisible(true);
33836
33878
  }
33837
- if (!isContextMenuDisabled && !isSelectingShortcut && !isTouch) setIsContextMenuVisible(!isContextMenuVisible);
33879
+ if (!isContextMenuDisabled && !isSelectingShortcut && !isTouch) {
33880
+ setIsContextMenuVisible(!isContextMenuVisible);
33881
+ var event = e;
33882
+ if (event.clientX && event.clientY) {
33883
+ setContextMenuPosition({
33884
+ x: event.clientX - 10,
33885
+ y: event.clientY - 5
33886
+ });
33887
+ }
33888
+ }
33838
33889
  onPointerDown(item.type, containerType, item);
33839
33890
  }
33840
33891
  },
@@ -33900,7 +33951,8 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33900
33951
  },
33901
33952
  onOutsideClick: function onOutsideClick() {
33902
33953
  setIsContextMenuVisible(false);
33903
- }
33954
+ },
33955
+ pos: contextMenuPosition
33904
33956
  }));
33905
33957
  });
33906
33958
  var rarityColor = function rarityColor(item) {
@@ -34442,7 +34494,10 @@ var EquipmentSet = function EquipmentSet(_ref) {
34442
34494
  onItemOutsideDrop = _ref.onItemOutsideDrop,
34443
34495
  checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34444
34496
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34445
- scale = _ref.scale;
34497
+ scale = _ref.scale,
34498
+ initialPosition = _ref.initialPosition,
34499
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
34500
+ onPositionChangeStart = _ref.onPositionChangeStart;
34446
34501
  var neck = equipmentSet.neck,
34447
34502
  leftHand = equipmentSet.leftHand,
34448
34503
  ring = equipmentSet.ring,
@@ -34509,7 +34564,10 @@ var EquipmentSet = function EquipmentSet(_ref) {
34509
34564
  },
34510
34565
  width: "330px",
34511
34566
  cancelDrag: ".equipment-container-body",
34512
- scale: scale
34567
+ scale: scale,
34568
+ initialPosition: initialPosition,
34569
+ onPositionChangeEnd: onPositionChangeEnd,
34570
+ onPositionChangeStart: onPositionChangeStart
34513
34571
  }, React.createElement(EquipmentSetContainer, {
34514
34572
  className: "equipment-container-body"
34515
34573
  }, React.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(0, 3)), React.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(3, 7)), React.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(7, 10))));
@@ -34523,717 +34581,199 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34523
34581
  componentId: "sc-1wuddg2-1"
34524
34582
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34525
34583
 
34526
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
34527
-
34528
- var chunkString = function chunkString(str, length) {
34529
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
34530
- };
34531
-
34532
- var DynamicText = function DynamicText(_ref) {
34533
- var text = _ref.text,
34534
- onFinish = _ref.onFinish,
34535
- onStart = _ref.onStart;
34536
- var _useState = useState(''),
34537
- textState = _useState[0],
34538
- setTextState = _useState[1];
34539
- useEffect(function () {
34540
- var i = 0;
34541
- var interval = setInterval(function () {
34542
- // on every interval, show one more character
34543
- if (i === 0) {
34544
- if (onStart) {
34545
- onStart();
34546
- }
34584
+ var SlotsContainer = function SlotsContainer(_ref) {
34585
+ var children = _ref.children,
34586
+ title = _ref.title,
34587
+ onClose = _ref.onClose,
34588
+ _onPositionChange = _ref.onPositionChange,
34589
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
34590
+ _onPositionChangeStart = _ref.onPositionChangeStart,
34591
+ onOutsideClick = _ref.onOutsideClick,
34592
+ initialPosition = _ref.initialPosition,
34593
+ scale = _ref.scale;
34594
+ return React.createElement(DraggableContainer, {
34595
+ title: title,
34596
+ type: RPGUIContainerTypes.Framed,
34597
+ onCloseButton: function onCloseButton() {
34598
+ if (onClose) {
34599
+ onClose();
34547
34600
  }
34548
- if (i < text.length) {
34549
- setTextState(text.substring(0, i + 1));
34550
- i++;
34551
- } else {
34552
- clearInterval(interval);
34553
- if (onFinish) {
34554
- onFinish();
34555
- }
34601
+ },
34602
+ width: "400px",
34603
+ cancelDrag: ".item-container-body, #shortcuts_list",
34604
+ onPositionChange: function onPositionChange(_ref2) {
34605
+ var x = _ref2.x,
34606
+ y = _ref2.y;
34607
+ if (_onPositionChange) {
34608
+ _onPositionChange({
34609
+ x: x,
34610
+ y: y
34611
+ });
34556
34612
  }
34557
- }, 50);
34558
- return function () {
34559
- clearInterval(interval);
34560
- };
34561
- }, [text]);
34562
- return React.createElement(TextContainer, null, textState);
34613
+ },
34614
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
34615
+ var x = _ref3.x,
34616
+ y = _ref3.y;
34617
+ if (_onPositionChangeEnd) {
34618
+ _onPositionChangeEnd({
34619
+ x: x,
34620
+ y: y
34621
+ });
34622
+ }
34623
+ },
34624
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
34625
+ var x = _ref4.x,
34626
+ y = _ref4.y;
34627
+ if (_onPositionChangeStart) {
34628
+ _onPositionChangeStart({
34629
+ x: x,
34630
+ y: y
34631
+ });
34632
+ }
34633
+ },
34634
+ onOutsideClick: onOutsideClick,
34635
+ initialPosition: initialPosition,
34636
+ scale: scale
34637
+ }, children);
34563
34638
  };
34564
- var TextContainer = /*#__PURE__*/styled.p.withConfig({
34565
- displayName: "DynamicText__TextContainer",
34566
- componentId: "sc-1ggl9nd-0"
34567
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34568
-
34569
- var img$6 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
34570
-
34571
- var img$7 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
34572
34639
 
34573
- var NPCDialogText = function NPCDialogText(_ref) {
34574
- var text = _ref.text,
34575
- onClose = _ref.onClose,
34576
- onEndStep = _ref.onEndStep,
34577
- onStartStep = _ref.onStartStep,
34578
- type = _ref.type;
34579
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
34580
- function maxCharacters(width) {
34581
- // Set the font size to 16 pixels
34582
- var fontSize = 11.2;
34583
- // Calculate the number of characters that can fit in one line
34584
- var charactersPerLine = Math.floor(width / 2 / fontSize);
34585
- // Calculate the number of lines that can fit in the div
34586
- var linesPerDiv = Math.floor(180 / fontSize);
34587
- // Calculate the maximum number of characters that can fit in the div
34588
- var maxCharacters = charactersPerLine * linesPerDiv;
34589
- // Return the maximum number of characters
34590
- return Math.round(maxCharacters / 5);
34591
- }
34592
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
34640
+ var RangeSliderType;
34641
+ (function (RangeSliderType) {
34642
+ RangeSliderType["Slider"] = "rpgui-slider";
34643
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
34644
+ })(RangeSliderType || (RangeSliderType = {}));
34645
+ var RangeSlider = function RangeSlider(_ref) {
34646
+ var type = _ref.type,
34647
+ valueMin = _ref.valueMin,
34648
+ valueMax = _ref.valueMax,
34649
+ width = _ref.width,
34650
+ _onChange = _ref.onChange,
34651
+ value = _ref.value;
34652
+ var sliderId = v4();
34653
+ var containerRef = useRef(null);
34593
34654
  var _useState = useState(0),
34594
- chunkIndex = _useState[0],
34595
- setChunkIndex = _useState[1];
34596
- var onHandleSpacePress = function onHandleSpacePress(event) {
34597
- if (event.code === 'Space') {
34598
- goToNextStep();
34599
- }
34600
- };
34601
- var goToNextStep = function goToNextStep() {
34602
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
34603
- if (hasNextChunk) {
34604
- setChunkIndex(function (prev) {
34605
- return prev + 1;
34606
- });
34607
- } else {
34608
- // if there's no more text chunks, close the dialog
34609
- onClose();
34610
- }
34611
- };
34655
+ left = _useState[0],
34656
+ setLeft = _useState[1];
34612
34657
  useEffect(function () {
34613
- document.addEventListener('keydown', onHandleSpacePress);
34614
- return function () {
34615
- return document.removeEventListener('keydown', onHandleSpacePress);
34616
- };
34617
- }, [chunkIndex]);
34618
- var _useState2 = useState(false),
34619
- showGoNextIndicator = _useState2[0],
34620
- setShowGoNextIndicator = _useState2[1];
34621
- return React.createElement(Container$e, null, React.createElement(DynamicText, {
34622
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
34623
- onFinish: function onFinish() {
34624
- setShowGoNextIndicator(true);
34625
- onEndStep && onEndStep();
34658
+ var _containerRef$current;
34659
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
34660
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
34661
+ }, [value, valueMin, valueMax]);
34662
+ var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
34663
+ return React.createElement("div", {
34664
+ style: {
34665
+ width: width,
34666
+ position: 'relative'
34626
34667
  },
34627
- onStart: function onStart() {
34628
- setShowGoNextIndicator(false);
34629
- onStartStep && onStartStep();
34668
+ className: "rpgui-slider-container " + typeClass,
34669
+ id: "rpgui-slider-" + sliderId,
34670
+ ref: containerRef
34671
+ }, React.createElement("div", {
34672
+ style: {
34673
+ pointerEvents: 'none'
34630
34674
  }
34631
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34632
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
34633
- src: IS_MOBILE_OR_TABLET ? img$6 : img$7,
34634
- onPointerDown: function onPointerDown() {
34635
- goToNextStep();
34675
+ }, React.createElement("div", {
34676
+ className: "rpgui-slider-track " + typeClass
34677
+ }), React.createElement("div", {
34678
+ className: "rpgui-slider-left-edge " + typeClass
34679
+ }), React.createElement("div", {
34680
+ className: "rpgui-slider-right-edge " + typeClass
34681
+ }), React.createElement("div", {
34682
+ className: "rpgui-slider-thumb " + typeClass,
34683
+ style: {
34684
+ left: left
34636
34685
  }
34686
+ })), React.createElement(Input$1, {
34687
+ type: "range",
34688
+ style: {
34689
+ width: width
34690
+ },
34691
+ min: valueMin,
34692
+ max: valueMax,
34693
+ onChange: function onChange(e) {
34694
+ return _onChange(Number(e.target.value));
34695
+ },
34696
+ value: value,
34697
+ className: "rpgui-cursor-point"
34637
34698
  }));
34638
34699
  };
34639
- var Container$e = /*#__PURE__*/styled.div.withConfig({
34640
- displayName: "NPCDialogText__Container",
34641
- componentId: "sc-1cxkdh9-0"
34642
- })([""]);
34643
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34644
- displayName: "NPCDialogText__PressSpaceIndicator",
34645
- componentId: "sc-1cxkdh9-1"
34646
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
34647
- var right = _ref2.right;
34648
- return right;
34649
- });
34650
-
34651
- //@ts-ignore
34652
- var useEventListener = function useEventListener(type, handler, el) {
34653
- if (el === void 0) {
34654
- el = window;
34655
- }
34656
- var savedHandler = React.useRef();
34657
- React.useEffect(function () {
34658
- savedHandler.current = handler;
34659
- }, [handler]);
34660
- React.useEffect(function () {
34661
- //@ts-ignore
34662
- var listener = function listener(e) {
34663
- return savedHandler.current(e);
34664
- };
34665
- el.addEventListener(type, listener);
34666
- return function () {
34667
- el.removeEventListener(type, listener);
34668
- };
34669
- }, [type, el]);
34670
- };
34700
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
34701
+ displayName: "RangeSlider__Input",
34702
+ componentId: "sc-v8mte9-0"
34703
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
34671
34704
 
34672
- var QuestionDialog = function QuestionDialog(_ref) {
34673
- var questions = _ref.questions,
34674
- answers = _ref.answers,
34705
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
34706
+ var quantity = _ref.quantity,
34707
+ onConfirm = _ref.onConfirm,
34675
34708
  onClose = _ref.onClose;
34676
- var _useState = useState(questions[0]),
34677
- currentQuestion = _useState[0],
34678
- setCurrentQuestion = _useState[1];
34679
- var _useState2 = useState(false),
34680
- canShowAnswers = _useState2[0],
34681
- setCanShowAnswers = _useState2[1];
34682
- var onGetFirstAnswer = function onGetFirstAnswer() {
34683
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34684
- return null;
34685
- }
34686
- var firstAnswerId = currentQuestion.answerIds[0];
34687
- return answers.find(function (answer) {
34688
- return answer.id === firstAnswerId;
34689
- });
34690
- };
34691
- var _useState3 = useState(onGetFirstAnswer()),
34692
- currentAnswer = _useState3[0],
34693
- setCurrentAnswer = _useState3[1];
34709
+ var _useState = useState(quantity),
34710
+ value = _useState[0],
34711
+ setValue = _useState[1];
34712
+ var inputRef = useRef(null);
34694
34713
  useEffect(function () {
34695
- setCurrentAnswer(onGetFirstAnswer());
34696
- }, [currentQuestion]);
34697
- var onGetAnswers = function onGetAnswers(answerIds) {
34698
- return answerIds.map(function (answerId) {
34699
- return answers.find(function (answer) {
34700
- return answer.id === answerId;
34701
- });
34702
- });
34703
- };
34704
- var onKeyPress = function onKeyPress(e) {
34705
- switch (e.key) {
34706
- case 'ArrowDown':
34707
- // select next answer, if any.
34708
- // if no next answer, select first answer
34709
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34710
- // (answer) => answer?.id === currentAnswer!.id + 1
34711
- // );
34712
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34713
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34714
- });
34715
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34716
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34717
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
34718
- });
34719
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34720
- break;
34721
- case 'ArrowUp':
34722
- // select previous answer, if any.
34723
- // if no previous answer, select last answer
34724
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34725
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34726
- });
34727
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34728
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34729
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
34730
- });
34731
- if (previousAnswer) {
34732
- setCurrentAnswer(previousAnswer);
34733
- } else {
34734
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34735
- }
34736
- break;
34737
- case 'Enter':
34738
- setCanShowAnswers(false);
34739
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34714
+ if (inputRef.current) {
34715
+ inputRef.current.focus();
34716
+ inputRef.current.select();
34717
+ var closeSelector = function closeSelector(e) {
34718
+ if (e.key === 'Escape') {
34740
34719
  onClose();
34741
- return;
34742
- } else {
34743
- setCurrentQuestion(questions.find(function (question) {
34744
- return question.id === currentAnswer.nextQuestionId;
34745
- }));
34746
34720
  }
34747
- break;
34748
- }
34749
- };
34750
- useEventListener('keydown', onKeyPress);
34751
- var onAnswerClick = function onAnswerClick(answer) {
34752
- setCanShowAnswers(false);
34753
- if (answer.nextQuestionId) {
34754
- // if there is a next question, go to it
34755
- setCurrentQuestion(questions.find(function (question) {
34756
- return question.id === answer.nextQuestionId;
34757
- }));
34758
- } else {
34759
- // else, finish dialog!
34760
- onClose();
34761
- }
34762
- };
34763
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34764
- var answerIds = currentQuestion.answerIds;
34765
- if (!answerIds) {
34766
- return null;
34767
- }
34768
- var answers = onGetAnswers(answerIds);
34769
- if (!answers) {
34770
- return null;
34721
+ };
34722
+ document.addEventListener('keydown', closeSelector);
34723
+ return function () {
34724
+ document.removeEventListener('keydown', closeSelector);
34725
+ };
34771
34726
  }
34772
- return answers.map(function (answer) {
34773
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34774
- var selectedColor = isSelected ? 'yellow' : 'white';
34775
- if (answer) {
34776
- return React.createElement(AnswerRow, {
34777
- key: "answer_" + answer.id
34778
- }, React.createElement(AnswerSelectedIcon, {
34779
- color: selectedColor
34780
- }, isSelected ? 'X' : null), React.createElement(Answer, {
34781
- key: answer.id,
34782
- onPointerDown: function onPointerDown() {
34783
- return onAnswerClick(answer);
34784
- },
34785
- color: selectedColor
34786
- }, answer.text));
34787
- }
34788
- return null;
34789
- });
34790
- };
34791
- return React.createElement(Container$f, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
34792
- text: currentQuestion.text,
34793
- onStart: function onStart() {
34794
- return setCanShowAnswers(false);
34727
+ return function () {};
34728
+ }, []);
34729
+ return React.createElement(StyledContainer, {
34730
+ type: RPGUIContainerTypes.Framed,
34731
+ width: "25rem"
34732
+ }, React.createElement(CloseButton$2, {
34733
+ className: "container-close",
34734
+ onPointerDown: onClose
34735
+ }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
34736
+ style: {
34737
+ width: '100%'
34795
34738
  },
34796
- onFinish: function onFinish() {
34797
- return setCanShowAnswers(true);
34798
- }
34799
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34800
- };
34801
- var Container$f = /*#__PURE__*/styled.div.withConfig({
34802
- displayName: "QuestionDialog__Container",
34803
- componentId: "sc-bxc5u0-0"
34804
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34805
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34806
- displayName: "QuestionDialog__QuestionContainer",
34807
- componentId: "sc-bxc5u0-1"
34808
- })(["flex:100%;width:100%;"]);
34809
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34810
- displayName: "QuestionDialog__AnswersContainer",
34811
- componentId: "sc-bxc5u0-2"
34812
- })(["flex:100%;"]);
34813
- var Answer = /*#__PURE__*/styled.p.withConfig({
34814
- displayName: "QuestionDialog__Answer",
34815
- componentId: "sc-bxc5u0-3"
34816
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34817
- return props.color;
34818
- });
34819
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34820
- displayName: "QuestionDialog__AnswerSelectedIcon",
34821
- componentId: "sc-bxc5u0-4"
34822
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
34823
- return props.color;
34824
- });
34825
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34826
- displayName: "QuestionDialog__AnswerRow",
34827
- componentId: "sc-bxc5u0-5"
34828
- })(["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;}"]);
34829
-
34830
- var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34831
-
34832
- var NPCDialogType;
34833
- (function (NPCDialogType) {
34834
- NPCDialogType["TextOnly"] = "TextOnly";
34835
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
34836
- })(NPCDialogType || (NPCDialogType = {}));
34837
- var NPCDialog = function NPCDialog(_ref) {
34838
- var text = _ref.text,
34839
- type = _ref.type,
34840
- _onClose = _ref.onClose,
34841
- imagePath = _ref.imagePath,
34842
- _ref$isQuestionDialog = _ref.isQuestionDialog,
34843
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
34844
- questions = _ref.questions,
34845
- answers = _ref.answers;
34846
- return React.createElement(RPGUIContainer, {
34847
- type: RPGUIContainerTypes.FramedGold,
34848
- width: isQuestionDialog ? '600px' : '80%',
34849
- height: '180px'
34850
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
34851
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34852
- }, React.createElement(QuestionDialog, {
34853
- questions: questions,
34854
- answers: answers,
34855
- onClose: function onClose() {
34856
- if (_onClose) {
34857
- _onClose();
34739
+ onSubmit: function onSubmit(e) {
34740
+ e.preventDefault();
34741
+ var numberValue = Number(value);
34742
+ if (Number.isNaN(numberValue)) {
34743
+ return;
34858
34744
  }
34859
- }
34860
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34861
- src: imagePath || img$8
34862
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$g, null, React.createElement(TextContainer$1, {
34863
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34864
- }, React.createElement(NPCDialogText, {
34865
- type: type,
34866
- text: text || 'No text provided.',
34867
- onClose: function onClose() {
34868
- if (_onClose) {
34869
- _onClose();
34745
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
34746
+ },
34747
+ noValidate: true
34748
+ }, React.createElement(StyledInput, {
34749
+ innerRef: inputRef,
34750
+ placeholder: "Enter quantity",
34751
+ type: "number",
34752
+ min: 1,
34753
+ max: quantity,
34754
+ value: value,
34755
+ onChange: function onChange(e) {
34756
+ if (Number(e.target.value) >= quantity) {
34757
+ setValue(quantity);
34758
+ return;
34870
34759
  }
34760
+ setValue(e.target.value);
34761
+ },
34762
+ onBlur: function onBlur(e) {
34763
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
34764
+ setValue(newValue);
34871
34765
  }
34872
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34873
- src: imagePath || img$8
34874
- })))));
34875
- };
34876
- var Container$g = /*#__PURE__*/styled.div.withConfig({
34877
- displayName: "NPCDialog__Container",
34878
- componentId: "sc-1b4aw74-0"
34879
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34880
- var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
34881
- displayName: "NPCDialog__TextContainer",
34882
- componentId: "sc-1b4aw74-1"
34883
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34884
- var flex = _ref2.flex;
34885
- return flex;
34886
- });
34887
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34888
- displayName: "NPCDialog__ThumbnailContainer",
34889
- componentId: "sc-1b4aw74-2"
34890
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34891
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34892
- displayName: "NPCDialog__NPCThumbnail",
34893
- componentId: "sc-1b4aw74-3"
34894
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34895
-
34896
- var ImgSide;
34897
- (function (ImgSide) {
34898
- ImgSide["right"] = "right";
34899
- ImgSide["left"] = "left";
34900
- })(ImgSide || (ImgSide = {}));
34901
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
34902
- var _textAndTypeArray$sli;
34903
- var _onClose = _ref.onClose,
34904
- textAndTypeArray = _ref.textAndTypeArray;
34905
- var _useState = useState(false),
34906
- showGoNextIndicator = _useState[0],
34907
- setShowGoNextIndicator = _useState[1];
34908
- var _useState2 = useState(0),
34909
- slide = _useState2[0],
34910
- setSlide = _useState2[1];
34911
- var onHandleSpacePress = function onHandleSpacePress(event) {
34912
- if (event.code === 'Space') {
34913
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34914
- setSlide(function (prev) {
34915
- return prev + 1;
34916
- });
34917
- } else {
34918
- // if there's no more text chunks, close the dialog
34919
- _onClose();
34920
- }
34921
- }
34922
- };
34923
- useEffect(function () {
34924
- document.addEventListener('keydown', onHandleSpacePress);
34925
- return function () {
34926
- return document.removeEventListener('keydown', onHandleSpacePress);
34927
- };
34928
- }, [slide]);
34929
- return React.createElement(RPGUIContainer, {
34930
- type: RPGUIContainerTypes.FramedGold,
34931
- width: '50%',
34932
- height: '180px'
34933
- }, React.createElement(React.Fragment, null, React.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
34934
- flex: '70%'
34935
- }, React.createElement(NPCDialogText, {
34936
- onStartStep: function onStartStep() {
34937
- return setShowGoNextIndicator(false);
34938
- },
34939
- onEndStep: function onEndStep() {
34940
- return setShowGoNextIndicator(true);
34941
- },
34942
- text: textAndTypeArray[slide].text || 'No text provided.',
34943
- onClose: function onClose() {
34944
- if (_onClose) {
34945
- _onClose();
34946
- }
34947
- }
34948
- })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34949
- src: textAndTypeArray[slide].imagePath || img$8
34950
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34951
- right: '10.5rem',
34952
- src: img$7
34953
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34954
- src: textAndTypeArray[slide].imagePath || img$8
34955
- })), React.createElement(TextContainer$2, {
34956
- flex: '70%'
34957
- }, React.createElement(NPCDialogText, {
34958
- onStartStep: function onStartStep() {
34959
- return setShowGoNextIndicator(false);
34960
- },
34961
- onEndStep: function onEndStep() {
34962
- return setShowGoNextIndicator(true);
34963
- },
34964
- text: textAndTypeArray[slide].text || 'No text provided.',
34965
- onClose: function onClose() {
34966
- if (_onClose) {
34967
- _onClose();
34968
- }
34969
- }
34970
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34971
- right: '1rem',
34972
- src: img$7
34973
- }))), ")"));
34974
- };
34975
- var Container$h = /*#__PURE__*/styled.div.withConfig({
34976
- displayName: "NPCMultiDialog__Container",
34977
- componentId: "sc-rvu5wg-0"
34978
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34979
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
34980
- displayName: "NPCMultiDialog__TextContainer",
34981
- componentId: "sc-rvu5wg-1"
34982
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34983
- var flex = _ref2.flex;
34984
- return flex;
34985
- });
34986
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
34987
- displayName: "NPCMultiDialog__ThumbnailContainer",
34988
- componentId: "sc-rvu5wg-2"
34989
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34990
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
34991
- displayName: "NPCMultiDialog__NPCThumbnail",
34992
- componentId: "sc-rvu5wg-3"
34993
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34994
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
34995
- displayName: "NPCMultiDialog__PressSpaceIndicator",
34996
- componentId: "sc-rvu5wg-4"
34997
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34998
- var right = _ref3.right;
34999
- return right;
35000
- });
35001
-
35002
- var HistoryDialog = function HistoryDialog(_ref) {
35003
- var backgroundImgPath = _ref.backgroundImgPath,
35004
- fullCoverBackground = _ref.fullCoverBackground,
35005
- questions = _ref.questions,
35006
- answers = _ref.answers,
35007
- text = _ref.text,
35008
- imagePath = _ref.imagePath,
35009
- textAndTypeArray = _ref.textAndTypeArray,
35010
- onClose = _ref.onClose;
35011
- var _useState = useState(0),
35012
- img = _useState[0],
35013
- setImage = _useState[1];
35014
- var onHandleSpacePress = function onHandleSpacePress(event) {
35015
- if (event.code === 'Space') {
35016
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
35017
- setImage(function (prev) {
35018
- return prev + 1;
35019
- });
35020
- } else {
35021
- // if there's no more text chunks, close the dialog
35022
- onClose();
35023
- }
35024
- }
35025
- };
35026
- useEffect(function () {
35027
- document.addEventListener('keydown', onHandleSpacePress);
35028
- return function () {
35029
- return document.removeEventListener('keydown', onHandleSpacePress);
35030
- };
35031
- }, [backgroundImgPath]);
35032
- return React.createElement(BackgroundContainer, {
35033
- imgPath: backgroundImgPath[img],
35034
- fullImg: fullCoverBackground
35035
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
35036
- textAndTypeArray: textAndTypeArray,
35037
- onClose: onClose
35038
- }) : questions && answers ? React.createElement(QuestionDialog, {
35039
- questions: questions,
35040
- answers: answers,
35041
- onClose: onClose
35042
- }) : text && imagePath ? React.createElement(NPCDialog, {
35043
- text: text,
35044
- imagePath: imagePath,
35045
- onClose: onClose,
35046
- type: NPCDialogType.TextAndThumbnail
35047
- }) : React.createElement(NPCDialog, {
35048
- text: text,
35049
- onClose: onClose,
35050
- type: NPCDialogType.TextOnly
35051
- })));
35052
- };
35053
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
35054
- displayName: "HistoryDialog__BackgroundContainer",
35055
- componentId: "sc-u6oe75-0"
35056
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
35057
- return props.imgPath;
35058
- }, function (props) {
35059
- return props.imgPath ? 'cover' : 'auto';
35060
- });
35061
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
35062
- displayName: "HistoryDialog__DialogContainer",
35063
- componentId: "sc-u6oe75-1"
35064
- })(["display:flex;justify-content:center;padding-top:200px;"]);
35065
-
35066
- var SlotsContainer = function SlotsContainer(_ref) {
35067
- var children = _ref.children,
35068
- title = _ref.title,
35069
- onClose = _ref.onClose,
35070
- _onPositionChange = _ref.onPositionChange,
35071
- onOutsideClick = _ref.onOutsideClick,
35072
- initialPosition = _ref.initialPosition,
35073
- scale = _ref.scale;
35074
- return React.createElement(DraggableContainer, {
35075
- title: title,
35076
- type: RPGUIContainerTypes.Framed,
35077
- onCloseButton: function onCloseButton() {
35078
- if (onClose) {
35079
- onClose();
35080
- }
35081
- },
35082
- width: "400px",
35083
- cancelDrag: ".item-container-body, #shortcuts_list",
35084
- onPositionChange: function onPositionChange(_ref2) {
35085
- var x = _ref2.x,
35086
- y = _ref2.y;
35087
- if (_onPositionChange) {
35088
- _onPositionChange({
35089
- x: x,
35090
- y: y
35091
- });
35092
- }
35093
- },
35094
- onOutsideClick: onOutsideClick,
35095
- initialPosition: initialPosition,
35096
- scale: scale
35097
- }, children);
35098
- };
35099
-
35100
- var RangeSliderType;
35101
- (function (RangeSliderType) {
35102
- RangeSliderType["Slider"] = "rpgui-slider";
35103
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
35104
- })(RangeSliderType || (RangeSliderType = {}));
35105
- var RangeSlider = function RangeSlider(_ref) {
35106
- var type = _ref.type,
35107
- valueMin = _ref.valueMin,
35108
- valueMax = _ref.valueMax,
35109
- width = _ref.width,
35110
- _onChange = _ref.onChange,
35111
- value = _ref.value;
35112
- var sliderId = v4();
35113
- var containerRef = useRef(null);
35114
- var _useState = useState(0),
35115
- left = _useState[0],
35116
- setLeft = _useState[1];
35117
- useEffect(function () {
35118
- var _containerRef$current;
35119
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
35120
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
35121
- }, [value, valueMin, valueMax]);
35122
- var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
35123
- return React.createElement("div", {
35124
- style: {
35125
- width: width,
35126
- position: 'relative'
35127
- },
35128
- className: "rpgui-slider-container " + typeClass,
35129
- id: "rpgui-slider-" + sliderId,
35130
- ref: containerRef
35131
- }, React.createElement("div", {
35132
- style: {
35133
- pointerEvents: 'none'
35134
- }
35135
- }, React.createElement("div", {
35136
- className: "rpgui-slider-track " + typeClass
35137
- }), React.createElement("div", {
35138
- className: "rpgui-slider-left-edge " + typeClass
35139
- }), React.createElement("div", {
35140
- className: "rpgui-slider-right-edge " + typeClass
35141
- }), React.createElement("div", {
35142
- className: "rpgui-slider-thumb " + typeClass,
35143
- style: {
35144
- left: left
35145
- }
35146
- })), React.createElement(Input$1, {
35147
- type: "range",
35148
- style: {
35149
- width: width
35150
- },
35151
- min: valueMin,
35152
- max: valueMax,
35153
- onChange: function onChange(e) {
35154
- return _onChange(Number(e.target.value));
35155
- },
35156
- value: value,
35157
- className: "rpgui-cursor-point"
35158
- }));
35159
- };
35160
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
35161
- displayName: "RangeSlider__Input",
35162
- componentId: "sc-v8mte9-0"
35163
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
35164
-
35165
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
35166
- var quantity = _ref.quantity,
35167
- onConfirm = _ref.onConfirm,
35168
- onClose = _ref.onClose;
35169
- var _useState = useState(quantity),
35170
- value = _useState[0],
35171
- setValue = _useState[1];
35172
- var inputRef = useRef(null);
35173
- useEffect(function () {
35174
- if (inputRef.current) {
35175
- inputRef.current.focus();
35176
- inputRef.current.select();
35177
- var closeSelector = function closeSelector(e) {
35178
- if (e.key === 'Escape') {
35179
- onClose();
35180
- }
35181
- };
35182
- document.addEventListener('keydown', closeSelector);
35183
- return function () {
35184
- document.removeEventListener('keydown', closeSelector);
35185
- };
35186
- }
35187
- return function () {};
35188
- }, []);
35189
- return React.createElement(StyledContainer, {
35190
- type: RPGUIContainerTypes.Framed,
35191
- width: "25rem"
35192
- }, React.createElement(CloseButton$2, {
35193
- className: "container-close",
35194
- onPointerDown: onClose
35195
- }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
35196
- style: {
35197
- width: '100%'
35198
- },
35199
- onSubmit: function onSubmit(e) {
35200
- e.preventDefault();
35201
- var numberValue = Number(value);
35202
- if (Number.isNaN(numberValue)) {
35203
- return;
35204
- }
35205
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
35206
- },
35207
- noValidate: true
35208
- }, React.createElement(StyledInput, {
35209
- innerRef: inputRef,
35210
- placeholder: "Enter quantity",
35211
- type: "number",
35212
- min: 1,
35213
- max: quantity,
35214
- value: value,
35215
- onChange: function onChange(e) {
35216
- if (Number(e.target.value) >= quantity) {
35217
- setValue(quantity);
35218
- return;
35219
- }
35220
- setValue(e.target.value);
35221
- },
35222
- onBlur: function onBlur(e) {
35223
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
35224
- setValue(newValue);
35225
- }
35226
- }), React.createElement(RangeSlider, {
35227
- type: RangeSliderType.Slider,
35228
- valueMin: 1,
35229
- valueMax: quantity,
35230
- width: "100%",
35231
- onChange: setValue,
35232
- value: value
35233
- }), React.createElement(Button, {
35234
- buttonType: ButtonTypes.RPGUIButton,
35235
- type: "submit"
35236
- }, "Confirm")));
34766
+ }), React.createElement(RangeSlider, {
34767
+ type: RangeSliderType.Slider,
34768
+ valueMin: 1,
34769
+ valueMax: quantity,
34770
+ width: "100%",
34771
+ onChange: setValue,
34772
+ value: value
34773
+ }), React.createElement(Button, {
34774
+ buttonType: ButtonTypes.RPGUIButton,
34775
+ type: "submit"
34776
+ }, "Confirm")));
35237
34777
  };
35238
34778
  var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
35239
34779
  displayName: "ItemQuantitySelector__StyledContainer",
@@ -35286,7 +34826,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
35286
34826
  return word[0];
35287
34827
  }));
35288
34828
  };
35289
- return React.createElement(Container$i, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
34829
+ return React.createElement(Container$e, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
35290
34830
  id: "shortcuts_list"
35291
34831
  }, Array.from({
35292
34832
  length: 6
@@ -35302,7 +34842,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
35302
34842
  }, getContent(i));
35303
34843
  })));
35304
34844
  };
35305
- var Container$i = /*#__PURE__*/styled.div.withConfig({
34845
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
35306
34846
  displayName: "ShortcutsSetter__Container",
35307
34847
  componentId: "sc-xuouuf-0"
35308
34848
  })(["p{margin:0;margin-left:0.5rem;}"]);
@@ -35340,7 +34880,10 @@ var ItemContainer$1 = function ItemContainer(_ref) {
35340
34880
  shortcuts = _ref.shortcuts,
35341
34881
  setItemShortcut = _ref.setItemShortcut,
35342
34882
  removeShortcut = _ref.removeShortcut,
35343
- equipmentSet = _ref.equipmentSet;
34883
+ equipmentSet = _ref.equipmentSet,
34884
+ isDepotSystem = _ref.isDepotSystem,
34885
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
34886
+ onPositionChangeStart = _ref.onPositionChangeStart;
35344
34887
  var _useState = useState({
35345
34888
  isOpen: false,
35346
34889
  maxQuantity: 1,
@@ -35400,7 +34943,8 @@ var ItemContainer$1 = function ItemContainer(_ref) {
35400
34943
  atlasIMG: atlasIMG,
35401
34944
  atlasJSON: atlasJSON,
35402
34945
  isSelectingShortcut: settingShortcutIndex !== -1,
35403
- equipmentSet: equipmentSet
34946
+ equipmentSet: equipmentSet,
34947
+ isDepotSystem: isDepotSystem
35404
34948
  }));
35405
34949
  }
35406
34950
  return slots;
@@ -35409,7 +34953,9 @@ var ItemContainer$1 = function ItemContainer(_ref) {
35409
34953
  title: itemContainer.name || 'Container',
35410
34954
  onClose: onClose,
35411
34955
  initialPosition: initialPosition,
35412
- scale: scale
34956
+ scale: scale,
34957
+ onPositionChangeEnd: onPositionChangeEnd,
34958
+ onPositionChangeStart: onPositionChangeStart
35413
34959
  }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
35414
34960
  setSettingShortcutIndex: setSettingShortcutIndex,
35415
34961
  settingShortcutIndex: settingShortcutIndex,
@@ -35539,7 +35085,7 @@ var ListMenu = function ListMenu(_ref) {
35539
35085
  onSelected = _ref.onSelected,
35540
35086
  x = _ref.x,
35541
35087
  y = _ref.y;
35542
- return React.createElement(Container$j, {
35088
+ return React.createElement(Container$f, {
35543
35089
  x: x,
35544
35090
  y: y
35545
35091
  }, React.createElement("ul", {
@@ -35556,7 +35102,7 @@ var ListMenu = function ListMenu(_ref) {
35556
35102
  }, (params == null ? void 0 : params.text) || 'No text');
35557
35103
  })));
35558
35104
  };
35559
- var Container$j = /*#__PURE__*/styled.div.withConfig({
35105
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
35560
35106
  displayName: "ListMenu__Container",
35561
35107
  componentId: "sc-i9097t-0"
35562
35108
  })(["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) {
@@ -35569,6 +35115,332 @@ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
35569
35115
  componentId: "sc-i9097t-1"
35570
35116
  })(["margin-right:0.5rem;"]);
35571
35117
 
35118
+ var img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
35119
+
35120
+ var img$7 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
35121
+
35122
+ var ImgSide;
35123
+ (function (ImgSide) {
35124
+ ImgSide["right"] = "right";
35125
+ ImgSide["left"] = "left";
35126
+ })(ImgSide || (ImgSide = {}));
35127
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
35128
+ var _textAndTypeArray$sli;
35129
+ var _onClose = _ref.onClose,
35130
+ textAndTypeArray = _ref.textAndTypeArray;
35131
+ var _useState = useState(false),
35132
+ showGoNextIndicator = _useState[0],
35133
+ setShowGoNextIndicator = _useState[1];
35134
+ var _useState2 = useState(0),
35135
+ slide = _useState2[0],
35136
+ setSlide = _useState2[1];
35137
+ var onHandleSpacePress = function onHandleSpacePress(event) {
35138
+ if (event.code === 'Space') {
35139
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
35140
+ setSlide(function (prev) {
35141
+ return prev + 1;
35142
+ });
35143
+ } else {
35144
+ // if there's no more text chunks, close the dialog
35145
+ _onClose();
35146
+ }
35147
+ }
35148
+ };
35149
+ useEffect(function () {
35150
+ document.addEventListener('keydown', onHandleSpacePress);
35151
+ return function () {
35152
+ return document.removeEventListener('keydown', onHandleSpacePress);
35153
+ };
35154
+ }, [slide]);
35155
+ return React.createElement(RPGUIContainer, {
35156
+ type: RPGUIContainerTypes.FramedGold,
35157
+ width: '50%',
35158
+ height: '180px'
35159
+ }, React.createElement(React.Fragment, null, React.createElement(Container$g, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
35160
+ flex: '70%'
35161
+ }, React.createElement(NPCDialogText, {
35162
+ onStartStep: function onStartStep() {
35163
+ return setShowGoNextIndicator(false);
35164
+ },
35165
+ onEndStep: function onEndStep() {
35166
+ return setShowGoNextIndicator(true);
35167
+ },
35168
+ text: textAndTypeArray[slide].text || 'No text provided.',
35169
+ onClose: function onClose() {
35170
+ if (_onClose) {
35171
+ _onClose();
35172
+ }
35173
+ }
35174
+ })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
35175
+ src: textAndTypeArray[slide].imagePath || img$6
35176
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
35177
+ right: '10.5rem',
35178
+ src: img$7
35179
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
35180
+ src: textAndTypeArray[slide].imagePath || img$6
35181
+ })), React.createElement(TextContainer, {
35182
+ flex: '70%'
35183
+ }, React.createElement(NPCDialogText, {
35184
+ onStartStep: function onStartStep() {
35185
+ return setShowGoNextIndicator(false);
35186
+ },
35187
+ onEndStep: function onEndStep() {
35188
+ return setShowGoNextIndicator(true);
35189
+ },
35190
+ text: textAndTypeArray[slide].text || 'No text provided.',
35191
+ onClose: function onClose() {
35192
+ if (_onClose) {
35193
+ _onClose();
35194
+ }
35195
+ }
35196
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
35197
+ right: '1rem',
35198
+ src: img$7
35199
+ }))), ")"));
35200
+ };
35201
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
35202
+ displayName: "NPCMultiDialog__Container",
35203
+ componentId: "sc-rvu5wg-0"
35204
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
35205
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
35206
+ displayName: "NPCMultiDialog__TextContainer",
35207
+ componentId: "sc-rvu5wg-1"
35208
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
35209
+ var flex = _ref2.flex;
35210
+ return flex;
35211
+ });
35212
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
35213
+ displayName: "NPCMultiDialog__ThumbnailContainer",
35214
+ componentId: "sc-rvu5wg-2"
35215
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
35216
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
35217
+ displayName: "NPCMultiDialog__NPCThumbnail",
35218
+ componentId: "sc-rvu5wg-3"
35219
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
35220
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
35221
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
35222
+ componentId: "sc-rvu5wg-4"
35223
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
35224
+ var right = _ref3.right;
35225
+ return right;
35226
+ });
35227
+
35228
+ //@ts-ignore
35229
+ var useEventListener = function useEventListener(type, handler, el) {
35230
+ if (el === void 0) {
35231
+ el = window;
35232
+ }
35233
+ var savedHandler = React.useRef();
35234
+ React.useEffect(function () {
35235
+ savedHandler.current = handler;
35236
+ }, [handler]);
35237
+ React.useEffect(function () {
35238
+ //@ts-ignore
35239
+ var listener = function listener(e) {
35240
+ return savedHandler.current(e);
35241
+ };
35242
+ el.addEventListener(type, listener);
35243
+ return function () {
35244
+ el.removeEventListener(type, listener);
35245
+ };
35246
+ }, [type, el]);
35247
+ };
35248
+
35249
+ var DynamicText = function DynamicText(_ref) {
35250
+ var text = _ref.text,
35251
+ onFinish = _ref.onFinish,
35252
+ onStart = _ref.onStart;
35253
+ var _useState = useState(''),
35254
+ textState = _useState[0],
35255
+ setTextState = _useState[1];
35256
+ useEffect(function () {
35257
+ var i = 0;
35258
+ var interval = setInterval(function () {
35259
+ // on every interval, show one more character
35260
+ if (i === 0) {
35261
+ if (onStart) {
35262
+ onStart();
35263
+ }
35264
+ }
35265
+ if (i < text.length) {
35266
+ setTextState(text.substring(0, i + 1));
35267
+ i++;
35268
+ } else {
35269
+ clearInterval(interval);
35270
+ if (onFinish) {
35271
+ onFinish();
35272
+ }
35273
+ }
35274
+ }, 50);
35275
+ return function () {
35276
+ clearInterval(interval);
35277
+ };
35278
+ }, [text]);
35279
+ return React.createElement(TextContainer$1, null, textState);
35280
+ };
35281
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
35282
+ displayName: "DynamicText__TextContainer",
35283
+ componentId: "sc-1ggl9nd-0"
35284
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
35285
+
35286
+ var QuestionDialog = function QuestionDialog(_ref) {
35287
+ var questions = _ref.questions,
35288
+ answers = _ref.answers,
35289
+ onClose = _ref.onClose;
35290
+ var _useState = useState(questions[0]),
35291
+ currentQuestion = _useState[0],
35292
+ setCurrentQuestion = _useState[1];
35293
+ var _useState2 = useState(false),
35294
+ canShowAnswers = _useState2[0],
35295
+ setCanShowAnswers = _useState2[1];
35296
+ var onGetFirstAnswer = function onGetFirstAnswer() {
35297
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
35298
+ return null;
35299
+ }
35300
+ var firstAnswerId = currentQuestion.answerIds[0];
35301
+ return answers.find(function (answer) {
35302
+ return answer.id === firstAnswerId;
35303
+ });
35304
+ };
35305
+ var _useState3 = useState(onGetFirstAnswer()),
35306
+ currentAnswer = _useState3[0],
35307
+ setCurrentAnswer = _useState3[1];
35308
+ useEffect(function () {
35309
+ setCurrentAnswer(onGetFirstAnswer());
35310
+ }, [currentQuestion]);
35311
+ var onGetAnswers = function onGetAnswers(answerIds) {
35312
+ return answerIds.map(function (answerId) {
35313
+ return answers.find(function (answer) {
35314
+ return answer.id === answerId;
35315
+ });
35316
+ });
35317
+ };
35318
+ var onKeyPress = function onKeyPress(e) {
35319
+ switch (e.key) {
35320
+ case 'ArrowDown':
35321
+ // select next answer, if any.
35322
+ // if no next answer, select first answer
35323
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
35324
+ // (answer) => answer?.id === currentAnswer!.id + 1
35325
+ // );
35326
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
35327
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
35328
+ });
35329
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
35330
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
35331
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
35332
+ });
35333
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
35334
+ break;
35335
+ case 'ArrowUp':
35336
+ // select previous answer, if any.
35337
+ // if no previous answer, select last answer
35338
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
35339
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
35340
+ });
35341
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
35342
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
35343
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
35344
+ });
35345
+ if (previousAnswer) {
35346
+ setCurrentAnswer(previousAnswer);
35347
+ } else {
35348
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
35349
+ }
35350
+ break;
35351
+ case 'Enter':
35352
+ setCanShowAnswers(false);
35353
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
35354
+ onClose();
35355
+ return;
35356
+ } else {
35357
+ setCurrentQuestion(questions.find(function (question) {
35358
+ return question.id === currentAnswer.nextQuestionId;
35359
+ }));
35360
+ }
35361
+ break;
35362
+ }
35363
+ };
35364
+ useEventListener('keydown', onKeyPress);
35365
+ var onAnswerClick = function onAnswerClick(answer) {
35366
+ setCanShowAnswers(false);
35367
+ if (answer.nextQuestionId) {
35368
+ // if there is a next question, go to it
35369
+ setCurrentQuestion(questions.find(function (question) {
35370
+ return question.id === answer.nextQuestionId;
35371
+ }));
35372
+ } else {
35373
+ // else, finish dialog!
35374
+ onClose();
35375
+ }
35376
+ };
35377
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
35378
+ var answerIds = currentQuestion.answerIds;
35379
+ if (!answerIds) {
35380
+ return null;
35381
+ }
35382
+ var answers = onGetAnswers(answerIds);
35383
+ if (!answers) {
35384
+ return null;
35385
+ }
35386
+ return answers.map(function (answer) {
35387
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
35388
+ var selectedColor = isSelected ? 'yellow' : 'white';
35389
+ if (answer) {
35390
+ return React.createElement(AnswerRow, {
35391
+ key: "answer_" + answer.id
35392
+ }, React.createElement(AnswerSelectedIcon, {
35393
+ color: selectedColor
35394
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
35395
+ key: answer.id,
35396
+ onPointerDown: function onPointerDown() {
35397
+ return onAnswerClick(answer);
35398
+ },
35399
+ color: selectedColor
35400
+ }, answer.text));
35401
+ }
35402
+ return null;
35403
+ });
35404
+ };
35405
+ return React.createElement(Container$h, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
35406
+ text: currentQuestion.text,
35407
+ onStart: function onStart() {
35408
+ return setCanShowAnswers(false);
35409
+ },
35410
+ onFinish: function onFinish() {
35411
+ return setCanShowAnswers(true);
35412
+ }
35413
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
35414
+ };
35415
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
35416
+ displayName: "QuestionDialog__Container",
35417
+ componentId: "sc-bxc5u0-0"
35418
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
35419
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
35420
+ displayName: "QuestionDialog__QuestionContainer",
35421
+ componentId: "sc-bxc5u0-1"
35422
+ })(["flex:100%;width:100%;"]);
35423
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
35424
+ displayName: "QuestionDialog__AnswersContainer",
35425
+ componentId: "sc-bxc5u0-2"
35426
+ })(["flex:100%;"]);
35427
+ var Answer = /*#__PURE__*/styled.p.withConfig({
35428
+ displayName: "QuestionDialog__Answer",
35429
+ componentId: "sc-bxc5u0-3"
35430
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
35431
+ return props.color;
35432
+ });
35433
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
35434
+ displayName: "QuestionDialog__AnswerSelectedIcon",
35435
+ componentId: "sc-bxc5u0-4"
35436
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
35437
+ return props.color;
35438
+ });
35439
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
35440
+ displayName: "QuestionDialog__AnswerRow",
35441
+ componentId: "sc-bxc5u0-5"
35442
+ })(["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;}"]);
35443
+
35572
35444
  var ProgressBar = function ProgressBar(_ref) {
35573
35445
  var max = _ref.max,
35574
35446
  value = _ref.value,
@@ -35586,7 +35458,7 @@ var ProgressBar = function ProgressBar(_ref) {
35586
35458
  }
35587
35459
  return value * 100 / max;
35588
35460
  };
35589
- return React.createElement(Container$k, {
35461
+ return React.createElement(Container$i, {
35590
35462
  className: "rpgui-progress",
35591
35463
  "data-value": calculatePercentageValue(max, value) / 100,
35592
35464
  "data-rpguitype": "progress",
@@ -35615,7 +35487,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
35615
35487
  displayName: "ProgressBar__TextOverlay",
35616
35488
  componentId: "sc-qa6fzh-1"
35617
35489
  })(["width:100%;position:relative;"]);
35618
- var Container$k = /*#__PURE__*/styled.div.withConfig({
35490
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
35619
35491
  displayName: "ProgressBar__Container",
35620
35492
  componentId: "sc-qa6fzh-2"
35621
35493
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -35626,7 +35498,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
35626
35498
  return props.style;
35627
35499
  });
35628
35500
 
35629
- var img$9 = 'data:image/png;base64,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';
35501
+ var img$8 = 'data:image/png;base64,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';
35630
35502
 
35631
35503
  var QuestInfo = function QuestInfo(_ref) {
35632
35504
  var quests = _ref.quests,
@@ -35670,7 +35542,7 @@ var QuestInfo = function QuestInfo(_ref) {
35670
35542
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35671
35543
  className: "drag-handler"
35672
35544
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
35673
- src: quests[currentIndex].thumbnail || img$9
35545
+ src: quests[currentIndex].thumbnail || img$8
35674
35546
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35675
35547
  className: "golden"
35676
35548
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -35689,7 +35561,7 @@ var QuestInfo = function QuestInfo(_ref) {
35689
35561
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35690
35562
  className: "drag-handler"
35691
35563
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
35692
- src: quests[0].thumbnail || img$9
35564
+ src: quests[0].thumbnail || img$8
35693
35565
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35694
35566
  className: "golden"
35695
35567
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -35940,7 +35812,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35940
35812
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
35941
35813
  _ref$margin = _ref.margin,
35942
35814
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
35943
- return React.createElement(Container$l, {
35815
+ return React.createElement(Container$j, {
35944
35816
  className: "simple-progress-bar"
35945
35817
  }, React.createElement(ProgressBarContainer, {
35946
35818
  margin: margin
@@ -35949,7 +35821,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35949
35821
  bgColor: bgColor
35950
35822
  }))));
35951
35823
  };
35952
- var Container$l = /*#__PURE__*/styled.div.withConfig({
35824
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
35953
35825
  displayName: "SimpleProgressBar__Container",
35954
35826
  componentId: "sc-mbeil3-0"
35955
35827
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -36180,7 +36052,7 @@ var Spell = function Spell(_ref) {
36180
36052
  isSettingShortcut = _ref.isSettingShortcut,
36181
36053
  minMagicLevelRequired = _ref.minMagicLevelRequired;
36182
36054
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
36183
- return React.createElement(Container$m, {
36055
+ return React.createElement(Container$k, {
36184
36056
  disabled: disabled,
36185
36057
  onPointerDown: onPointerDown == null ? void 0 : onPointerDown.bind(null, spellKey),
36186
36058
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -36193,7 +36065,7 @@ var Spell = function Spell(_ref) {
36193
36065
  className: "mana"
36194
36066
  }, manaCost)));
36195
36067
  };
36196
- var Container$m = /*#__PURE__*/styled.button.withConfig({
36068
+ var Container$k = /*#__PURE__*/styled.button.withConfig({
36197
36069
  displayName: "Spell__Container",
36198
36070
  componentId: "sc-j96fa2-0"
36199
36071
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;height:5rem;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -36280,7 +36152,7 @@ var Spellbook = function Spellbook(_ref) {
36280
36152
  height: "inherit",
36281
36153
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
36282
36154
  scale: scale
36283
- }, React.createElement(Container$n, null, React.createElement(Title$7, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
36155
+ }, React.createElement(Container$l, null, React.createElement(Title$7, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
36284
36156
  setSettingShortcutIndex: setSettingShortcutIndex,
36285
36157
  settingShortcutIndex: settingShortcutIndex,
36286
36158
  shortcuts: shortcuts,
@@ -36312,7 +36184,7 @@ var Title$7 = /*#__PURE__*/styled.h1.withConfig({
36312
36184
  displayName: "Spellbook__Title",
36313
36185
  componentId: "sc-r02nfq-0"
36314
36186
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
36315
- var Container$n = /*#__PURE__*/styled.div.withConfig({
36187
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
36316
36188
  displayName: "Spellbook__Container",
36317
36189
  componentId: "sc-r02nfq-1"
36318
36190
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -36326,16 +36198,16 @@ var TextArea = function TextArea(_ref) {
36326
36198
  return React.createElement("textarea", Object.assign({}, props));
36327
36199
  };
36328
36200
 
36329
- var img$a = 'data:image/gif;base64,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';
36201
+ var img$9 = 'data:image/gif;base64,R0lGODlhTgBNAPMAAAAAALcIL7ObdNGqnf3vnP/wl93Goerfx/Xx3vr6+vn49QAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlAMFm5ybmZV2KHh0naWcepYlo22mradzqUUClK61nJSxIJiMrgm+v664oSKrXqa/yMmmbrkexVXHydK+y2bNULON0dPTppLXGs9UpdzlCaVt4FpsZuTm5ejWwx3iU53v753p89jtnPj49JVRZ2ELgoMHoP0DaE6gF4JjBByciCChEncMucV7yC+DQYoI/y8uzAjvFUddEkGGRHKPZMlN8lCqXGmgpctuJs90XDdzpc2bynJWgSjh40yLP4ECE1pHZs8DB5MqPcd0ClEARlVCjTpy6kadTrWC7KpU4NaDVndeyNqTa4GpSzedBblHbcGUbSmSddlprsokV7HizYtAKsO+hBEYCCw48UTD+RAnZsw2L0aApfy2pTw48eWGczX3ZNzYsdtNAf2KVkm6tOnC2+JqXg2ytWBStiSLzWv7dh5XBHS/Pti7nj9TW2kT7u1bT03dB5SPtuuMnfMkqqXXpl79uhLR2icyj+gdSfjN3FF6Pz89kXU3itnPHO/xfXlm6VXZv3+ShnH+gOUnikAUAFpFny7/XYeGGBOssR8qQjBYQRQPpoOGgHc4WOEeYGAYB4VBBDGEhMTkYCKJKKao4oostujiizDGKOOMF0QAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6BaChoHpMdieec6KqoXqcRQKaq7Khmq4gmI2zurSUth6oZbMJw8Szc74dwF2rxM3Oq27IG7iGzM7Xw6uT0hnKVNbY2NBm3Bfe36Lh6gmq0aa/bGaq6+vt5O/J8cGh9PSibeUqbEGA4MAyfv38sSoTcMJAggQNTkmXsN5Chvg0PIRYcMm8iur/7HlpCGAjR4lIKIIMefFMxm4COEJEaUDlSnEtq5A0eTKJzZvPcta5FVNmRJ8IgV77h5Go0YgEayZV2ozpyJdaiho9APEnVXZCp+zUepLjx69gF3KFuGTsU6Negf5bazSJ27dmp1IVRfdpqRA838YFyRcvRJISAj89e1NV37eIS5I1zLiiY8OHscLEnFevP7oFHkPWvJkzwcohH4s2GjnxZMyol4peLbO161SyloKiTZug7du4dREobLo26Wn6gs9a29vwb+B5ls9s/vS5w+R0Lp+kztH6dVJTVnP3ffzDOTrjR7c43yZ99fIi2FdBYMA9a/ivwIP3jlx/Hv5QYOefQUtxSDGgTgCaJx8paIhxnYH+geGgQEYIGA0a+NFQIYRngJGhGlEEIeIQE8aXw4klpqjiiiy26OKLMMYo44w0XhABACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6n2d2J555BaanpqCcRQKaf6iwp64DqyCYk7G5spq1HqRmusGndL0dv166CcrLunPFG7eLscvU1bGUzxnHVdPV3sqxbtkX21Td39/hbeMV5VOw6PEJsOKivmzAqPLy9GbsYwIQHCijbx+/Yf7sQQmIoOFAc6cMGkS1TqGGLQ0zPlxSUGI8ign/bTHMKJBjR4/pQHr5BwAjyZJKTqJMmaoMS5cvNxqQOdMawpUWtY0kqZNnT2Y/Q4l86bAhEqNH5yWtcnOoxow7I0b1plLpB5xXSUI9qvIAyT1BtVhligDeVqTDzLJlkpbcWrZjUVKUyxaBAZYt777M6xEV376AA/cdrHXr3sUNE4Nd7JasYciR66rFnLGyXr4GDiPWvJnzOYkFRItmmljCZMqe+a1e/bK1a3z5CM+jLXCx7dtzklFTcJlzbdIXcbcRVpw35N/A6TDne8A5W+gT3HXRpdo6SezZlUuHRdt75hriQZkf3UJ7m/XXkYtwX8UvfNbyWYFSlZ8E/f1LgGdMRXoAUtXfKFIUSJWAtvyXBxpihJcggGBE2I4RBK6DxoF9rDHhGWBwSEQPQZQ4hIXz5aAiiiy26OKLMMYo44w01mjjjRdEAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeeQWmp6agnEUCmn+osKeuA6sgmJOxubKatR6kZrrBp3S9Hb9eugnKy7pzxRu3i7HL1NWxlM8Zx1XT1d7KsW7ZF9tU3d/f4W3jFeVTsOjxCbDior5swKjy8vRm7GMCEBwoo28fv2H+7EEJiKDhQHOnDBpEtU6hhi0NMz5cUlBiPIoJ/20xzCiQY0eP6UB6+QcAI8mSSk6iTJmqDEuXLzcakDnTGsKVFrWNJKmTZ09mP0OJfOmwIRKjR+clrXJzqMaMOyNG9aZS6QecV0lCParyAMk9QbVYZYoA3lakw8yyZZKW3Fq2Y1FSlMsWgQGWLe++zOsRFd++gAP3Hax1697FDRODXeyWrGHIkeuqxZyxsl6+Bg4j1ryZ8zmJBUSLZppYwmTKnvmtXv2ytWt8+QjPoy1wse3bc5JRU3CZc23SF3G3EVacN+TfwOkw53vAOVvoE9x10aXaOkns2ZVLh0Xbe+Ya4kGZH91Ce5v115GLcF/FL3zW8lmBUpWfBP39S4BnTEV6AFLV3yhSFEiVgLb8lwcaYoSXIIBgRNiOEQSug8aBfawx4RlgcEhED0GUOISF8+WgIoostujiizDGKOOMNNZo440XRAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZSZjZYmeHoFoKGgekx2J55zoqqhepxFApqrsqGariCYjbO6tJS2HqhlswnDxLNzvh3AXavEzc6rbsgbuIbMztfDq5PSGcpU1tjY0GbcF97fouHqCarRpr9sZqrr6+3k78nxwaH09KJt5SpsQYDgwDJ+/fyxKhNwwkCCBA1OSZew3kKG+DQ8hFhwybyK6v/seWkIYCNHiUgoggx58UzGbgI4QkRpQOVKcS2rkDR5MonNm89y1rkVU2ZEnwiBXvuHkajRiARrJlXajOnIl1qKGj0A8SdVdkKn7NR6kuPHr2AXcoW4ZOxTo16B/ltrNInbt2anUhVF92mpEDzfxgXJFy9EkhICPz17U1Xft4hLkjXMuKJjw4exwsTctbI/ugUeQ9a8mTMCcJ9lijYaOfFkyp6Xil4ts7XrVLKWgqJNm6Dt27h1EShsujbpafqCz1rb2/Bv4HmWz2z+9LnD5HQun6TO0fp1UlNWc/d9/MM5OuNHtzjfJn318iLYV0FgwD1r+K/Ag/eOXH8e/lBg559BS3FIMaBOAJonHyloiHGdgf6B4aBARggYDRr40VAhhGeAkaEaUQQh4hATxpfDiSWmqOKKLLbo4oswxijjjDReEAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZQDBZucm5mVdih4dJ2lnHqWJaNtpq2nc6lFApSutZyUsSCYjK4Jvr+uuKEiq16mv8jJpm65HsVVx8nSvstmzVCzjdHT06aS1xrPVKXc5QmlbeBabGbk5uXo1sMd4lOd7++d6fPY7Zz4+PSVUWdhC4KDB6D9A2hOoBeCYwQcnIggoRJ3DLnFe8gvg0GKCP8vLswI7xVHXRJBhkRyj2TJTfJQqlxpoKXLbibPdFw3c6XNm8pyVoEo4eNMiz+BAhNaR2bPAweTKj3HdApRAEZVQo06cupGnU61guyqVODWg1Z3Xsjak2uBqUs3nQW5R23BlG0pknXZaa7KJFex4s2LQCrDvoQRGAgsOPFEw/kQJ2bMNi9GgKX8tqU8OPHlhnM192Tc2LHbTQH9ilZJurTpwtvial4NsrVgUrYki81r+3YeVwR0vz7Yu54/U1tpE+7tW09N3QeUj7brjJ3zJKql16Ze/boS0donMo/oHUn4zdxRej8/PZF1N4rZzxzv8X15ZulV2b9/koZx/oDlJ4pAFABaRZ8u/12HhhgTrLEfKkIwWEEUD6aDhoB3OFjhHmBgGAeFQQQxhITE5GAiiSimqOKKLLbo4oswxijjjBdEAAA7';
36330
36202
 
36331
- var img$b = 'data:image/gif;base64,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';
36203
+ var img$a = 'data:image/gif;base64,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';
36332
36204
 
36333
- var img$c = 'data:image/gif;base64,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';
36205
+ var img$b = 'data:image/gif;base64,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';
36334
36206
 
36335
36207
  var DayNightPeriod = function DayNightPeriod(_ref) {
36336
36208
  var _periodOfDaySrcFiles;
36337
36209
  var periodOfDay = _ref.periodOfDay;
36338
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
36210
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
36339
36211
  return React.createElement(GifContainer, null, React.createElement("img", {
36340
36212
  src: periodOfDaySrcFiles[periodOfDay]
36341
36213
  }));
@@ -36345,7 +36217,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
36345
36217
  componentId: "sc-10t97fw-0"
36346
36218
  })(["width:100%;img{width:67%;}"]);
36347
36219
 
36348
- var img$d = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
36220
+ 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';
36349
36221
 
36350
36222
  var TimeWidget = function TimeWidget(_ref) {
36351
36223
  var onClose = _ref.onClose,
@@ -36363,7 +36235,7 @@ var TimeWidget = function TimeWidget(_ref) {
36363
36235
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
36364
36236
  displayName: "TimeWidget__WidgetContainer",
36365
36237
  componentId: "sc-1ja236h-0"
36366
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
36238
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
36367
36239
  var Time = /*#__PURE__*/styled.div.withConfig({
36368
36240
  displayName: "TimeWidget__Time",
36369
36241
  componentId: "sc-1ja236h-1"
@@ -36612,16 +36484,230 @@ var Truncate = function Truncate(_ref) {
36612
36484
  var _ref$maxLines = _ref.maxLines,
36613
36485
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
36614
36486
  children = _ref.children;
36615
- return React.createElement(Container$o, {
36487
+ return React.createElement(Container$m, {
36616
36488
  maxLines: maxLines
36617
36489
  }, children);
36618
36490
  };
36619
- var Container$o = /*#__PURE__*/styled.div.withConfig({
36491
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
36620
36492
  displayName: "Truncate__Container",
36621
36493
  componentId: "sc-6x00qb-0"
36622
36494
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
36623
36495
  return props.maxLines;
36624
36496
  });
36625
36497
 
36498
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
36499
+
36500
+ var chunkString = function chunkString(str, length) {
36501
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
36502
+ };
36503
+
36504
+ var img$d = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
36505
+
36506
+ var NPCDialogText = function NPCDialogText(_ref) {
36507
+ var text = _ref.text,
36508
+ onClose = _ref.onClose,
36509
+ onEndStep = _ref.onEndStep,
36510
+ onStartStep = _ref.onStartStep,
36511
+ type = _ref.type;
36512
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
36513
+ function maxCharacters(width) {
36514
+ // Set the font size to 16 pixels
36515
+ var fontSize = 11.2;
36516
+ // Calculate the number of characters that can fit in one line
36517
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
36518
+ // Calculate the number of lines that can fit in the div
36519
+ var linesPerDiv = Math.floor(180 / fontSize);
36520
+ // Calculate the maximum number of characters that can fit in the div
36521
+ var maxCharacters = charactersPerLine * linesPerDiv;
36522
+ // Return the maximum number of characters
36523
+ return Math.round(maxCharacters / 5);
36524
+ }
36525
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
36526
+ var _useState = useState(0),
36527
+ chunkIndex = _useState[0],
36528
+ setChunkIndex = _useState[1];
36529
+ var onHandleSpacePress = function onHandleSpacePress(event) {
36530
+ if (event.code === 'Space') {
36531
+ goToNextStep();
36532
+ }
36533
+ };
36534
+ var goToNextStep = function goToNextStep() {
36535
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
36536
+ if (hasNextChunk) {
36537
+ setChunkIndex(function (prev) {
36538
+ return prev + 1;
36539
+ });
36540
+ } else {
36541
+ // if there's no more text chunks, close the dialog
36542
+ onClose();
36543
+ }
36544
+ };
36545
+ useEffect(function () {
36546
+ document.addEventListener('keydown', onHandleSpacePress);
36547
+ return function () {
36548
+ return document.removeEventListener('keydown', onHandleSpacePress);
36549
+ };
36550
+ }, [chunkIndex]);
36551
+ var _useState2 = useState(false),
36552
+ showGoNextIndicator = _useState2[0],
36553
+ setShowGoNextIndicator = _useState2[1];
36554
+ return React.createElement(Container$n, null, React.createElement(DynamicText, {
36555
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
36556
+ onFinish: function onFinish() {
36557
+ setShowGoNextIndicator(true);
36558
+ onEndStep && onEndStep();
36559
+ },
36560
+ onStart: function onStart() {
36561
+ setShowGoNextIndicator(false);
36562
+ onStartStep && onStartStep();
36563
+ }
36564
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
36565
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
36566
+ src: IS_MOBILE_OR_TABLET ? img$d : img$7,
36567
+ onPointerDown: function onPointerDown() {
36568
+ goToNextStep();
36569
+ }
36570
+ }));
36571
+ };
36572
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
36573
+ displayName: "NPCDialogText__Container",
36574
+ componentId: "sc-1cxkdh9-0"
36575
+ })([""]);
36576
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
36577
+ displayName: "NPCDialogText__PressSpaceIndicator",
36578
+ componentId: "sc-1cxkdh9-1"
36579
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
36580
+ var right = _ref2.right;
36581
+ return right;
36582
+ });
36583
+
36584
+ var NPCDialogType;
36585
+ (function (NPCDialogType) {
36586
+ NPCDialogType["TextOnly"] = "TextOnly";
36587
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
36588
+ })(NPCDialogType || (NPCDialogType = {}));
36589
+ var NPCDialog = function NPCDialog(_ref) {
36590
+ var text = _ref.text,
36591
+ type = _ref.type,
36592
+ _onClose = _ref.onClose,
36593
+ imagePath = _ref.imagePath,
36594
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
36595
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
36596
+ questions = _ref.questions,
36597
+ answers = _ref.answers;
36598
+ return React.createElement(RPGUIContainer, {
36599
+ type: RPGUIContainerTypes.FramedGold,
36600
+ width: isQuestionDialog ? '600px' : '80%',
36601
+ height: '180px'
36602
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
36603
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36604
+ }, React.createElement(QuestionDialog, {
36605
+ questions: questions,
36606
+ answers: answers,
36607
+ onClose: function onClose() {
36608
+ if (_onClose) {
36609
+ _onClose();
36610
+ }
36611
+ }
36612
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36613
+ src: imagePath || img$6
36614
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$o, null, React.createElement(TextContainer$2, {
36615
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36616
+ }, React.createElement(NPCDialogText, {
36617
+ type: type,
36618
+ text: text || 'No text provided.',
36619
+ onClose: function onClose() {
36620
+ if (_onClose) {
36621
+ _onClose();
36622
+ }
36623
+ }
36624
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36625
+ src: imagePath || img$6
36626
+ })))));
36627
+ };
36628
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
36629
+ displayName: "NPCDialog__Container",
36630
+ componentId: "sc-1b4aw74-0"
36631
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
36632
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
36633
+ displayName: "NPCDialog__TextContainer",
36634
+ componentId: "sc-1b4aw74-1"
36635
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
36636
+ var flex = _ref2.flex;
36637
+ return flex;
36638
+ });
36639
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
36640
+ displayName: "NPCDialog__ThumbnailContainer",
36641
+ componentId: "sc-1b4aw74-2"
36642
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
36643
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
36644
+ displayName: "NPCDialog__NPCThumbnail",
36645
+ componentId: "sc-1b4aw74-3"
36646
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
36647
+
36648
+ var HistoryDialog = function HistoryDialog(_ref) {
36649
+ var backgroundImgPath = _ref.backgroundImgPath,
36650
+ fullCoverBackground = _ref.fullCoverBackground,
36651
+ questions = _ref.questions,
36652
+ answers = _ref.answers,
36653
+ text = _ref.text,
36654
+ imagePath = _ref.imagePath,
36655
+ textAndTypeArray = _ref.textAndTypeArray,
36656
+ onClose = _ref.onClose;
36657
+ var _useState = useState(0),
36658
+ img = _useState[0],
36659
+ setImage = _useState[1];
36660
+ var onHandleSpacePress = function onHandleSpacePress(event) {
36661
+ if (event.code === 'Space') {
36662
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
36663
+ setImage(function (prev) {
36664
+ return prev + 1;
36665
+ });
36666
+ } else {
36667
+ // if there's no more text chunks, close the dialog
36668
+ onClose();
36669
+ }
36670
+ }
36671
+ };
36672
+ useEffect(function () {
36673
+ document.addEventListener('keydown', onHandleSpacePress);
36674
+ return function () {
36675
+ return document.removeEventListener('keydown', onHandleSpacePress);
36676
+ };
36677
+ }, [backgroundImgPath]);
36678
+ return React.createElement(BackgroundContainer, {
36679
+ imgPath: backgroundImgPath[img],
36680
+ fullImg: fullCoverBackground
36681
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
36682
+ textAndTypeArray: textAndTypeArray,
36683
+ onClose: onClose
36684
+ }) : questions && answers ? React.createElement(QuestionDialog, {
36685
+ questions: questions,
36686
+ answers: answers,
36687
+ onClose: onClose
36688
+ }) : text && imagePath ? React.createElement(NPCDialog, {
36689
+ text: text,
36690
+ imagePath: imagePath,
36691
+ onClose: onClose,
36692
+ type: NPCDialogType.TextAndThumbnail
36693
+ }) : React.createElement(NPCDialog, {
36694
+ text: text,
36695
+ onClose: onClose,
36696
+ type: NPCDialogType.TextOnly
36697
+ })));
36698
+ };
36699
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
36700
+ displayName: "HistoryDialog__BackgroundContainer",
36701
+ componentId: "sc-u6oe75-0"
36702
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
36703
+ return props.imgPath;
36704
+ }, function (props) {
36705
+ return props.imgPath ? 'cover' : 'auto';
36706
+ });
36707
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
36708
+ displayName: "HistoryDialog__DialogContainer",
36709
+ componentId: "sc-u6oe75-1"
36710
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
36711
+
36626
36712
  export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, rarityColor, useEventListener };
36627
36713
  //# sourceMappingURL=long-bow.esm.js.map