@rpg-engine/long-bow 0.4.2 → 0.4.4

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 (163) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/long-bow.cjs.development.js +1059 -1059
  4. package/dist/long-bow.cjs.development.js.map +1 -1
  5. package/dist/long-bow.cjs.production.min.js +1 -1
  6. package/dist/long-bow.cjs.production.min.js.map +1 -1
  7. package/dist/long-bow.esm.js +1065 -1065
  8. package/dist/long-bow.esm.js.map +1 -1
  9. package/package.json +100 -100
  10. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  11. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  12. package/src/components/Arrow/SelectArrow.tsx +69 -69
  13. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  14. package/src/components/Arrow/img/arrow01-left.png +0 -0
  15. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  16. package/src/components/Arrow/img/arrow01-right.png +0 -0
  17. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  18. package/src/components/Arrow/img/arrow02-left.png +0 -0
  19. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  20. package/src/components/Arrow/img/arrow02-right.png +0 -0
  21. package/src/components/Button.tsx +40 -40
  22. package/src/components/Character/CharacterSelection.tsx +98 -98
  23. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  24. package/src/components/Chat/Chat.tsx +196 -196
  25. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  26. package/src/components/CheckButton.tsx +65 -65
  27. package/src/components/CircularController/CircularController.tsx +282 -282
  28. package/src/components/CraftBook/CraftBook.tsx +286 -286
  29. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  30. package/src/components/CraftBook/MockItems.ts +101 -101
  31. package/src/components/DraggableContainer.tsx +181 -180
  32. package/src/components/DropdownSelectorContainer.tsx +42 -42
  33. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  34. package/src/components/HistoryDialog.tsx +104 -104
  35. package/src/components/Input.tsx +15 -15
  36. package/src/components/InputRadio.tsx +41 -41
  37. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  38. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  39. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  40. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  41. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  42. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  43. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  44. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  45. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  46. package/src/components/Item/Inventory/ItemSlot.tsx +580 -580
  47. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  48. package/src/components/ListMenu.tsx +63 -63
  49. package/src/components/Marketplace/Marketplace.tsx +132 -132
  50. package/src/components/Marketplace/MarketplaceRows.tsx +171 -171
  51. package/src/components/Marketplace/__mocks__/index.tsx +65 -65
  52. package/src/components/Multitab/Tab.tsx +66 -66
  53. package/src/components/Multitab/TabBody.tsx +13 -13
  54. package/src/components/Multitab/TabsContainer.tsx +97 -97
  55. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  56. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  57. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  58. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  59. package/src/components/ProgressBar.tsx +95 -95
  60. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  61. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  62. package/src/components/QuestList.tsx +135 -135
  63. package/src/components/RPGUIContainer.tsx +47 -47
  64. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  65. package/src/components/RPGUIRoot.tsx +14 -14
  66. package/src/components/RadioButton.tsx +53 -53
  67. package/src/components/RadioInput/RadioButton.tsx +96 -96
  68. package/src/components/RadioInput/RadioInput.tsx +102 -102
  69. package/src/components/RadioInput/instruments.ts +15 -15
  70. package/src/components/RangeSlider.tsx +78 -78
  71. package/src/components/RelativeListMenu.tsx +90 -90
  72. package/src/components/ScrollList.tsx +79 -79
  73. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  74. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  75. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  76. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  77. package/src/components/SimpleProgressBar.tsx +62 -62
  78. package/src/components/SkillProgressBar.tsx +133 -133
  79. package/src/components/SkillsContainer.tsx +211 -211
  80. package/src/components/Spellbook/Spell.tsx +236 -236
  81. package/src/components/Spellbook/Spellbook.tsx +161 -161
  82. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  83. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  84. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  85. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  86. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  87. package/src/components/Spellbook/constants.ts +7 -7
  88. package/src/components/Spellbook/mockSpells.ts +84 -84
  89. package/src/components/StaticBook/StaticBook.tsx +103 -103
  90. package/src/components/TextArea.tsx +11 -11
  91. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  92. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  93. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  94. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  95. package/src/components/TradingMenu/items.mock.ts +48 -48
  96. package/src/components/Truncate.tsx +25 -25
  97. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  98. package/src/components/shared/Column.tsx +16 -16
  99. package/src/components/shared/Ellipsis.tsx +68 -68
  100. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  101. package/src/components/typography/DynamicText.tsx +49 -49
  102. package/src/constants/uiColors.ts +20 -20
  103. package/src/constants/uiDevices.ts +3 -3
  104. package/src/constants/uiFonts.ts +12 -12
  105. package/src/hooks/useEventListener.ts +21 -21
  106. package/src/hooks/useOutsideAlerter.ts +25 -25
  107. package/src/index.tsx +42 -42
  108. package/src/libs/CastingTypeHelper.ts +7 -7
  109. package/src/libs/StringHelpers.ts +3 -3
  110. package/src/libs/itemCounter.ts +21 -21
  111. package/src/mocks/atlas/entities/entities.json +20215 -20215
  112. package/src/mocks/atlas/icons/icons.json +735 -735
  113. package/src/mocks/atlas/items/items.json +12086 -12086
  114. package/src/mocks/equipmentSet.mocks.ts +391 -391
  115. package/src/mocks/itemContainer.mocks.ts +605 -605
  116. package/src/mocks/skills.mocks.ts +128 -128
  117. package/src/stories/Arrow.stories.tsx +26 -26
  118. package/src/stories/Button.stories.tsx +36 -36
  119. package/src/stories/CharacterSelection.stories.tsx +44 -44
  120. package/src/stories/CharacterStatus.stories.tsx +29 -29
  121. package/src/stories/Chat.stories.tsx +187 -187
  122. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  123. package/src/stories/CheckButton.stories.tsx +48 -48
  124. package/src/stories/CircullarController.stories.tsx +37 -37
  125. package/src/stories/CraftBook.stories.tsx +42 -42
  126. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  127. package/src/stories/DraggableContainer.stories.tsx +28 -28
  128. package/src/stories/Dropdown.stories.tsx +46 -46
  129. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  130. package/src/stories/EquipmentSet.stories.tsx +65 -65
  131. package/src/stories/HistoryDialog.stories.tsx +61 -61
  132. package/src/stories/ItemContainer.stories.tsx +201 -201
  133. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  134. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  135. package/src/stories/ItemSelector.stories.tsx +77 -77
  136. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  137. package/src/stories/ListMenu.stories.tsx +56 -56
  138. package/src/stories/Marketplace.stories.tsx +42 -42
  139. package/src/stories/MarketplaceRows.stories.tsx +28 -28
  140. package/src/stories/Multitab.stories.tsx +51 -51
  141. package/src/stories/NPCDialog.stories.tsx +130 -130
  142. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  143. package/src/stories/ProgressBar.stories.tsx +23 -23
  144. package/src/stories/PropertySelect.stories.tsx +40 -40
  145. package/src/stories/QuestInfo.stories.tsx +107 -107
  146. package/src/stories/QuestList.stories.tsx +82 -82
  147. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  148. package/src/stories/RadioButton.stories.tsx +49 -49
  149. package/src/stories/RadioInput.stories.tsx +34 -34
  150. package/src/stories/RangeSlider.stories.tsx +64 -64
  151. package/src/stories/ScrollList.stories.tsx +85 -85
  152. package/src/stories/Shortcuts.stories.tsx +39 -39
  153. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  154. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  155. package/src/stories/SkillsContainer.stories.tsx +35 -35
  156. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  157. package/src/stories/Spellbook.stories.tsx +104 -104
  158. package/src/stories/StaticBook.stories.tsx +32 -32
  159. package/src/stories/Text.stories.tsx +42 -42
  160. package/src/stories/TimeWidget.stories.tsx +27 -27
  161. package/src/stories/TradingMenu.stories.tsx +47 -47
  162. package/src/types/eventTypes.ts +4 -4
  163. package/src/types/index.d.ts +2 -2
@@ -13127,7 +13127,7 @@ var Container$6 = /*#__PURE__*/styled.div.withConfig({
13127
13127
  var CloseButton$1 = /*#__PURE__*/styled.div.withConfig({
13128
13128
  displayName: "DraggableContainer__CloseButton",
13129
13129
  componentId: "sc-184mpyl-1"
13130
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.1rem;@media (max-width:768px){font-size:1.3rem;padding:3px;}"]);
13130
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.1rem;@media (max-width:950px){font-size:1.7rem;padding:12px;}"]);
13131
13131
  var TitleContainer = /*#__PURE__*/styled.div.withConfig({
13132
13132
  displayName: "DraggableContainer__TitleContainer",
13133
13133
  componentId: "sc-184mpyl-2"
@@ -14593,1089 +14593,551 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14593
14593
  componentId: "sc-1wuddg2-1"
14594
14594
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14595
14595
 
14596
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
14597
-
14598
- var chunkString = function chunkString(str, length) {
14599
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
14600
- };
14601
-
14602
- var DynamicText = function DynamicText(_ref) {
14603
- var text = _ref.text,
14604
- onFinish = _ref.onFinish,
14605
- onStart = _ref.onStart;
14606
- var _useState = React.useState(''),
14607
- textState = _useState[0],
14608
- setTextState = _useState[1];
14609
- React.useEffect(function () {
14610
- var i = 0;
14611
- var interval = setInterval(function () {
14612
- // on every interval, show one more character
14613
- if (i === 0) {
14614
- if (onStart) {
14615
- onStart();
14616
- }
14596
+ var SlotsContainer = function SlotsContainer(_ref) {
14597
+ var children = _ref.children,
14598
+ title = _ref.title,
14599
+ onClose = _ref.onClose,
14600
+ _onPositionChange = _ref.onPositionChange,
14601
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
14602
+ _onPositionChangeStart = _ref.onPositionChangeStart,
14603
+ onOutsideClick = _ref.onOutsideClick,
14604
+ initialPosition = _ref.initialPosition,
14605
+ scale = _ref.scale;
14606
+ return React__default.createElement(DraggableContainer, {
14607
+ title: title,
14608
+ type: exports.RPGUIContainerTypes.Framed,
14609
+ onCloseButton: function onCloseButton() {
14610
+ if (onClose) {
14611
+ onClose();
14617
14612
  }
14618
- if (i < text.length) {
14619
- setTextState(text.substring(0, i + 1));
14620
- i++;
14621
- } else {
14622
- clearInterval(interval);
14623
- if (onFinish) {
14624
- onFinish();
14625
- }
14613
+ },
14614
+ width: "400px",
14615
+ cancelDrag: ".item-container-body, #shortcuts_list",
14616
+ onPositionChange: function onPositionChange(_ref2) {
14617
+ var x = _ref2.x,
14618
+ y = _ref2.y;
14619
+ if (_onPositionChange) {
14620
+ _onPositionChange({
14621
+ x: x,
14622
+ y: y
14623
+ });
14626
14624
  }
14627
- }, 50);
14628
- return function () {
14629
- clearInterval(interval);
14630
- };
14631
- }, [text]);
14632
- return React__default.createElement(TextContainer, null, textState);
14625
+ },
14626
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14627
+ var x = _ref3.x,
14628
+ y = _ref3.y;
14629
+ if (_onPositionChangeEnd) {
14630
+ _onPositionChangeEnd({
14631
+ x: x,
14632
+ y: y
14633
+ });
14634
+ }
14635
+ },
14636
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
14637
+ var x = _ref4.x,
14638
+ y = _ref4.y;
14639
+ if (_onPositionChangeStart) {
14640
+ _onPositionChangeStart({
14641
+ x: x,
14642
+ y: y
14643
+ });
14644
+ }
14645
+ },
14646
+ onOutsideClick: onOutsideClick,
14647
+ initialPosition: initialPosition,
14648
+ scale: scale
14649
+ }, children);
14633
14650
  };
14634
- var TextContainer = /*#__PURE__*/styled.p.withConfig({
14635
- displayName: "DynamicText__TextContainer",
14636
- componentId: "sc-1ggl9nd-0"
14637
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14638
-
14639
- var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14640
-
14641
- var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
14642
14651
 
14643
- var NPCDialogText = function NPCDialogText(_ref) {
14644
- var text = _ref.text,
14645
- onClose = _ref.onClose,
14646
- onEndStep = _ref.onEndStep,
14647
- onStartStep = _ref.onStartStep,
14648
- type = _ref.type;
14649
- var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
14650
- function maxCharacters(width) {
14651
- // Set the font size to 16 pixels
14652
- var fontSize = 11.2;
14653
- // Calculate the number of characters that can fit in one line
14654
- var charactersPerLine = Math.floor(width / 2 / fontSize);
14655
- // Calculate the number of lines that can fit in the div
14656
- var linesPerDiv = Math.floor(180 / fontSize);
14657
- // Calculate the maximum number of characters that can fit in the div
14658
- var maxCharacters = charactersPerLine * linesPerDiv;
14659
- // Return the maximum number of characters
14660
- return Math.round(maxCharacters / 5);
14661
- }
14662
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14652
+ (function (RangeSliderType) {
14653
+ RangeSliderType["Slider"] = "rpgui-slider";
14654
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14655
+ })(exports.RangeSliderType || (exports.RangeSliderType = {}));
14656
+ var RangeSlider = function RangeSlider(_ref) {
14657
+ var type = _ref.type,
14658
+ valueMin = _ref.valueMin,
14659
+ valueMax = _ref.valueMax,
14660
+ width = _ref.width,
14661
+ _onChange = _ref.onChange,
14662
+ value = _ref.value;
14663
+ var sliderId = uuid.v4();
14664
+ var containerRef = React.useRef(null);
14663
14665
  var _useState = React.useState(0),
14664
- chunkIndex = _useState[0],
14665
- setChunkIndex = _useState[1];
14666
- var onHandleSpacePress = function onHandleSpacePress(event) {
14667
- if (event.code === 'Space') {
14668
- goToNextStep();
14669
- }
14670
- };
14671
- var goToNextStep = function goToNextStep() {
14672
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14673
- if (hasNextChunk) {
14674
- setChunkIndex(function (prev) {
14675
- return prev + 1;
14676
- });
14677
- } else {
14678
- // if there's no more text chunks, close the dialog
14679
- onClose();
14680
- }
14681
- };
14666
+ left = _useState[0],
14667
+ setLeft = _useState[1];
14682
14668
  React.useEffect(function () {
14683
- document.addEventListener('keydown', onHandleSpacePress);
14684
- return function () {
14685
- return document.removeEventListener('keydown', onHandleSpacePress);
14686
- };
14687
- }, [chunkIndex]);
14688
- var _useState2 = React.useState(false),
14689
- showGoNextIndicator = _useState2[0],
14690
- setShowGoNextIndicator = _useState2[1];
14691
- return React__default.createElement(Container$e, null, React__default.createElement(DynamicText, {
14692
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14693
- onFinish: function onFinish() {
14694
- setShowGoNextIndicator(true);
14695
- onEndStep && onEndStep();
14669
+ var _containerRef$current;
14670
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14671
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14672
+ }, [value, valueMin, valueMax]);
14673
+ var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
14674
+ return React__default.createElement("div", {
14675
+ style: {
14676
+ width: width,
14677
+ position: 'relative'
14696
14678
  },
14697
- onStart: function onStart() {
14698
- setShowGoNextIndicator(false);
14699
- onStartStep && onStartStep();
14679
+ className: "rpgui-slider-container " + typeClass,
14680
+ id: "rpgui-slider-" + sliderId,
14681
+ ref: containerRef
14682
+ }, React__default.createElement("div", {
14683
+ style: {
14684
+ pointerEvents: 'none'
14700
14685
  }
14701
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
14702
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14703
- src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14704
- onPointerDown: function onPointerDown() {
14705
- goToNextStep();
14686
+ }, React__default.createElement("div", {
14687
+ className: "rpgui-slider-track " + typeClass
14688
+ }), React__default.createElement("div", {
14689
+ className: "rpgui-slider-left-edge " + typeClass
14690
+ }), React__default.createElement("div", {
14691
+ className: "rpgui-slider-right-edge " + typeClass
14692
+ }), React__default.createElement("div", {
14693
+ className: "rpgui-slider-thumb " + typeClass,
14694
+ style: {
14695
+ left: left
14706
14696
  }
14697
+ })), React__default.createElement(Input$1, {
14698
+ type: "range",
14699
+ style: {
14700
+ width: width
14701
+ },
14702
+ min: valueMin,
14703
+ max: valueMax,
14704
+ onChange: function onChange(e) {
14705
+ return _onChange(Number(e.target.value));
14706
+ },
14707
+ value: value,
14708
+ className: "rpgui-cursor-point"
14707
14709
  }));
14708
14710
  };
14709
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14710
- displayName: "NPCDialogText__Container",
14711
- componentId: "sc-1cxkdh9-0"
14712
- })([""]);
14713
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14714
- displayName: "NPCDialogText__PressSpaceIndicator",
14715
- componentId: "sc-1cxkdh9-1"
14716
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14717
- var right = _ref2.right;
14718
- return right;
14719
- });
14720
-
14721
- //@ts-ignore
14722
- var useEventListener = function useEventListener(type, handler, el) {
14723
- if (el === void 0) {
14724
- el = window;
14725
- }
14726
- var savedHandler = React__default.useRef();
14727
- React__default.useEffect(function () {
14728
- savedHandler.current = handler;
14729
- }, [handler]);
14730
- React__default.useEffect(function () {
14731
- //@ts-ignore
14732
- var listener = function listener(e) {
14733
- return savedHandler.current(e);
14734
- };
14735
- el.addEventListener(type, listener);
14736
- return function () {
14737
- el.removeEventListener(type, listener);
14738
- };
14739
- }, [type, el]);
14740
- };
14711
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
14712
+ displayName: "RangeSlider__Input",
14713
+ componentId: "sc-v8mte9-0"
14714
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14741
14715
 
14742
- var QuestionDialog = function QuestionDialog(_ref) {
14743
- var questions = _ref.questions,
14744
- answers = _ref.answers,
14716
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14717
+ var quantity = _ref.quantity,
14718
+ onConfirm = _ref.onConfirm,
14745
14719
  onClose = _ref.onClose;
14746
- var _useState = React.useState(questions[0]),
14747
- currentQuestion = _useState[0],
14748
- setCurrentQuestion = _useState[1];
14749
- var _useState2 = React.useState(false),
14750
- canShowAnswers = _useState2[0],
14751
- setCanShowAnswers = _useState2[1];
14752
- var onGetFirstAnswer = function onGetFirstAnswer() {
14753
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14754
- return null;
14755
- }
14756
- var firstAnswerId = currentQuestion.answerIds[0];
14757
- return answers.find(function (answer) {
14758
- return answer.id === firstAnswerId;
14759
- });
14760
- };
14761
- var _useState3 = React.useState(onGetFirstAnswer()),
14762
- currentAnswer = _useState3[0],
14763
- setCurrentAnswer = _useState3[1];
14720
+ var _useState = React.useState(quantity),
14721
+ value = _useState[0],
14722
+ setValue = _useState[1];
14723
+ var inputRef = React.useRef(null);
14764
14724
  React.useEffect(function () {
14765
- setCurrentAnswer(onGetFirstAnswer());
14766
- }, [currentQuestion]);
14767
- var onGetAnswers = function onGetAnswers(answerIds) {
14768
- return answerIds.map(function (answerId) {
14769
- return answers.find(function (answer) {
14770
- return answer.id === answerId;
14771
- });
14772
- });
14773
- };
14774
- var onKeyPress = function onKeyPress(e) {
14775
- switch (e.key) {
14776
- case 'ArrowDown':
14777
- // select next answer, if any.
14778
- // if no next answer, select first answer
14779
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14780
- // (answer) => answer?.id === currentAnswer!.id + 1
14781
- // );
14782
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14783
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14784
- });
14785
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14786
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14787
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
14788
- });
14789
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14790
- break;
14791
- case 'ArrowUp':
14792
- // select previous answer, if any.
14793
- // if no previous answer, select last answer
14794
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14795
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14796
- });
14797
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14798
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14799
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
14800
- });
14801
- if (previousAnswer) {
14802
- setCurrentAnswer(previousAnswer);
14803
- } else {
14804
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14805
- }
14806
- break;
14807
- case 'Enter':
14808
- setCanShowAnswers(false);
14809
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14725
+ if (inputRef.current) {
14726
+ inputRef.current.focus();
14727
+ inputRef.current.select();
14728
+ var closeSelector = function closeSelector(e) {
14729
+ if (e.key === 'Escape') {
14810
14730
  onClose();
14811
- return;
14812
- } else {
14813
- setCurrentQuestion(questions.find(function (question) {
14814
- return question.id === currentAnswer.nextQuestionId;
14815
- }));
14816
14731
  }
14817
- break;
14818
- }
14819
- };
14820
- useEventListener('keydown', onKeyPress);
14821
- var onAnswerClick = function onAnswerClick(answer) {
14822
- setCanShowAnswers(false);
14823
- if (answer.nextQuestionId) {
14824
- // if there is a next question, go to it
14825
- setCurrentQuestion(questions.find(function (question) {
14826
- return question.id === answer.nextQuestionId;
14827
- }));
14828
- } else {
14829
- // else, finish dialog!
14830
- onClose();
14831
- }
14832
- };
14833
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14834
- var answerIds = currentQuestion.answerIds;
14835
- if (!answerIds) {
14836
- return null;
14837
- }
14838
- var answers = onGetAnswers(answerIds);
14839
- if (!answers) {
14840
- return null;
14732
+ };
14733
+ document.addEventListener('keydown', closeSelector);
14734
+ return function () {
14735
+ document.removeEventListener('keydown', closeSelector);
14736
+ };
14841
14737
  }
14842
- return answers.map(function (answer) {
14843
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14844
- var selectedColor = isSelected ? 'yellow' : 'white';
14845
- if (answer) {
14846
- return React__default.createElement(AnswerRow, {
14847
- key: "answer_" + answer.id
14848
- }, React__default.createElement(AnswerSelectedIcon, {
14849
- color: selectedColor
14850
- }, isSelected ? 'X' : null), React__default.createElement(Answer, {
14851
- key: answer.id,
14852
- onPointerDown: function onPointerDown() {
14853
- return onAnswerClick(answer);
14854
- },
14855
- color: selectedColor
14856
- }, answer.text));
14857
- }
14858
- return null;
14859
- });
14860
- };
14861
- return React__default.createElement(Container$f, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
14862
- text: currentQuestion.text,
14863
- onStart: function onStart() {
14864
- return setCanShowAnswers(false);
14738
+ return function () {};
14739
+ }, []);
14740
+ return React__default.createElement(StyledContainer, {
14741
+ type: exports.RPGUIContainerTypes.Framed,
14742
+ width: "25rem"
14743
+ }, React__default.createElement(CloseButton$2, {
14744
+ className: "container-close",
14745
+ onPointerDown: onClose
14746
+ }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
14747
+ style: {
14748
+ width: '100%'
14865
14749
  },
14866
- onFinish: function onFinish() {
14867
- return setCanShowAnswers(true);
14868
- }
14869
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14870
- };
14871
- var Container$f = /*#__PURE__*/styled.div.withConfig({
14872
- displayName: "QuestionDialog__Container",
14873
- componentId: "sc-bxc5u0-0"
14874
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14875
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14876
- displayName: "QuestionDialog__QuestionContainer",
14877
- componentId: "sc-bxc5u0-1"
14878
- })(["flex:100%;width:100%;"]);
14879
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14880
- displayName: "QuestionDialog__AnswersContainer",
14881
- componentId: "sc-bxc5u0-2"
14882
- })(["flex:100%;"]);
14883
- var Answer = /*#__PURE__*/styled.p.withConfig({
14884
- displayName: "QuestionDialog__Answer",
14885
- componentId: "sc-bxc5u0-3"
14886
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14887
- return props.color;
14888
- });
14889
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14890
- displayName: "QuestionDialog__AnswerSelectedIcon",
14891
- componentId: "sc-bxc5u0-4"
14892
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
14893
- return props.color;
14894
- });
14895
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14896
- displayName: "QuestionDialog__AnswerRow",
14897
- componentId: "sc-bxc5u0-5"
14898
- })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
14899
-
14900
- var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14901
-
14902
- (function (NPCDialogType) {
14903
- NPCDialogType["TextOnly"] = "TextOnly";
14904
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14905
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
14906
- var NPCDialog = function NPCDialog(_ref) {
14907
- var text = _ref.text,
14908
- type = _ref.type,
14909
- _onClose = _ref.onClose,
14910
- imagePath = _ref.imagePath,
14911
- _ref$isQuestionDialog = _ref.isQuestionDialog,
14912
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14913
- questions = _ref.questions,
14914
- answers = _ref.answers;
14915
- return React__default.createElement(RPGUIContainer, {
14916
- type: exports.RPGUIContainerTypes.FramedGold,
14917
- width: isQuestionDialog ? '600px' : '80%',
14918
- height: '180px'
14919
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
14920
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14921
- }, React__default.createElement(QuestionDialog, {
14922
- questions: questions,
14923
- answers: answers,
14924
- onClose: function onClose() {
14925
- if (_onClose) {
14926
- _onClose();
14750
+ onSubmit: function onSubmit(e) {
14751
+ e.preventDefault();
14752
+ var numberValue = Number(value);
14753
+ if (Number.isNaN(numberValue)) {
14754
+ return;
14927
14755
  }
14928
- }
14929
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14930
- src: imagePath || img$7
14931
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$g, null, React__default.createElement(TextContainer$1, {
14932
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14933
- }, React__default.createElement(NPCDialogText, {
14934
- type: type,
14935
- text: text || 'No text provided.',
14936
- onClose: function onClose() {
14937
- if (_onClose) {
14938
- _onClose();
14756
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14757
+ },
14758
+ noValidate: true
14759
+ }, React__default.createElement(StyledInput, {
14760
+ innerRef: inputRef,
14761
+ placeholder: "Enter quantity",
14762
+ type: "number",
14763
+ min: 1,
14764
+ max: quantity,
14765
+ value: value,
14766
+ onChange: function onChange(e) {
14767
+ if (Number(e.target.value) >= quantity) {
14768
+ setValue(quantity);
14769
+ return;
14939
14770
  }
14771
+ setValue(e.target.value);
14772
+ },
14773
+ onBlur: function onBlur(e) {
14774
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14775
+ setValue(newValue);
14940
14776
  }
14941
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14942
- src: imagePath || img$7
14943
- })))));
14777
+ }), React__default.createElement(RangeSlider, {
14778
+ type: exports.RangeSliderType.Slider,
14779
+ valueMin: 1,
14780
+ valueMax: quantity,
14781
+ width: "100%",
14782
+ onChange: setValue,
14783
+ value: value
14784
+ }), React__default.createElement(Button, {
14785
+ buttonType: exports.ButtonTypes.RPGUIButton,
14786
+ type: "submit"
14787
+ }, "Confirm")));
14944
14788
  };
14945
- var Container$g = /*#__PURE__*/styled.div.withConfig({
14946
- displayName: "NPCDialog__Container",
14947
- componentId: "sc-1b4aw74-0"
14948
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14949
- var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14950
- displayName: "NPCDialog__TextContainer",
14951
- componentId: "sc-1b4aw74-1"
14952
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14953
- var flex = _ref2.flex;
14954
- return flex;
14955
- });
14956
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14957
- displayName: "NPCDialog__ThumbnailContainer",
14958
- componentId: "sc-1b4aw74-2"
14959
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14960
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14961
- displayName: "NPCDialog__NPCThumbnail",
14962
- componentId: "sc-1b4aw74-3"
14963
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
14964
-
14965
- (function (ImgSide) {
14966
- ImgSide["right"] = "right";
14967
- ImgSide["left"] = "left";
14968
- })(exports.ImgSide || (exports.ImgSide = {}));
14969
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
14970
- var _textAndTypeArray$sli;
14971
- var _onClose = _ref.onClose,
14972
- textAndTypeArray = _ref.textAndTypeArray;
14973
- var _useState = React.useState(false),
14974
- showGoNextIndicator = _useState[0],
14975
- setShowGoNextIndicator = _useState[1];
14976
- var _useState2 = React.useState(0),
14977
- slide = _useState2[0],
14978
- setSlide = _useState2[1];
14979
- var onHandleSpacePress = function onHandleSpacePress(event) {
14980
- if (event.code === 'Space') {
14981
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14982
- setSlide(function (prev) {
14983
- return prev + 1;
14984
- });
14985
- } else {
14986
- // if there's no more text chunks, close the dialog
14987
- _onClose();
14988
- }
14989
- }
14990
- };
14991
- React.useEffect(function () {
14992
- document.addEventListener('keydown', onHandleSpacePress);
14993
- return function () {
14994
- return document.removeEventListener('keydown', onHandleSpacePress);
14995
- };
14996
- }, [slide]);
14997
- return React__default.createElement(RPGUIContainer, {
14998
- type: exports.RPGUIContainerTypes.FramedGold,
14999
- width: '50%',
15000
- height: '180px'
15001
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
15002
- flex: '70%'
15003
- }, React__default.createElement(NPCDialogText, {
15004
- onStartStep: function onStartStep() {
15005
- return setShowGoNextIndicator(false);
15006
- },
15007
- onEndStep: function onEndStep() {
15008
- return setShowGoNextIndicator(true);
15009
- },
15010
- text: textAndTypeArray[slide].text || 'No text provided.',
15011
- onClose: function onClose() {
15012
- if (_onClose) {
15013
- _onClose();
15014
- }
15015
- }
15016
- })), React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15017
- src: textAndTypeArray[slide].imagePath || img$7
15018
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15019
- right: '10.5rem',
15020
- src: img$6
15021
- })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15022
- src: textAndTypeArray[slide].imagePath || img$7
15023
- })), React__default.createElement(TextContainer$2, {
15024
- flex: '70%'
15025
- }, React__default.createElement(NPCDialogText, {
15026
- onStartStep: function onStartStep() {
15027
- return setShowGoNextIndicator(false);
15028
- },
15029
- onEndStep: function onEndStep() {
15030
- return setShowGoNextIndicator(true);
15031
- },
15032
- text: textAndTypeArray[slide].text || 'No text provided.',
15033
- onClose: function onClose() {
15034
- if (_onClose) {
15035
- _onClose();
15036
- }
15037
- }
15038
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15039
- right: '1rem',
15040
- src: img$6
15041
- }))), ")"));
15042
- };
15043
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15044
- displayName: "NPCMultiDialog__Container",
15045
- componentId: "sc-rvu5wg-0"
15046
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15047
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15048
- displayName: "NPCMultiDialog__TextContainer",
15049
- componentId: "sc-rvu5wg-1"
15050
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15051
- var flex = _ref2.flex;
15052
- return flex;
15053
- });
15054
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15055
- displayName: "NPCMultiDialog__ThumbnailContainer",
15056
- componentId: "sc-rvu5wg-2"
15057
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15058
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15059
- displayName: "NPCMultiDialog__NPCThumbnail",
15060
- componentId: "sc-rvu5wg-3"
15061
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15062
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15063
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15064
- componentId: "sc-rvu5wg-4"
15065
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15066
- var right = _ref3.right;
15067
- return right;
15068
- });
14789
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14790
+ displayName: "ItemQuantitySelector__StyledContainer",
14791
+ componentId: "sc-yfdtpn-0"
14792
+ })(["display:flex;flex-direction:column;align-items:center;"]);
14793
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
14794
+ displayName: "ItemQuantitySelector__StyledForm",
14795
+ componentId: "sc-yfdtpn-1"
14796
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14797
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14798
+ displayName: "ItemQuantitySelector__StyledInput",
14799
+ componentId: "sc-yfdtpn-2"
14800
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14801
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14802
+ displayName: "ItemQuantitySelector__CloseButton",
14803
+ componentId: "sc-yfdtpn-3"
14804
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15069
14805
 
15070
- var HistoryDialog = function HistoryDialog(_ref) {
15071
- var backgroundImgPath = _ref.backgroundImgPath,
15072
- fullCoverBackground = _ref.fullCoverBackground,
15073
- questions = _ref.questions,
15074
- answers = _ref.answers,
15075
- text = _ref.text,
15076
- imagePath = _ref.imagePath,
15077
- textAndTypeArray = _ref.textAndTypeArray,
15078
- onClose = _ref.onClose;
15079
- var _useState = React.useState(0),
15080
- img = _useState[0],
15081
- setImage = _useState[1];
15082
- var onHandleSpacePress = function onHandleSpacePress(event) {
15083
- if (event.code === 'Space') {
15084
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15085
- setImage(function (prev) {
15086
- return prev + 1;
15087
- });
15088
- } else {
15089
- // if there's no more text chunks, close the dialog
15090
- onClose();
15091
- }
14806
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
14807
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14808
+ settingShortcutIndex = _ref.settingShortcutIndex,
14809
+ shortcuts = _ref.shortcuts,
14810
+ removeShortcut = _ref.removeShortcut,
14811
+ atlasJSON = _ref.atlasJSON,
14812
+ atlasIMG = _ref.atlasIMG;
14813
+ var getContent = function getContent(index) {
14814
+ var _shortcuts$index, _shortcuts$index3;
14815
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
14816
+ var _shortcuts$index2;
14817
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14818
+ if (!_payload) return null;
14819
+ return React__default.createElement(SpriteFromAtlas, {
14820
+ atlasIMG: atlasIMG,
14821
+ atlasJSON: atlasJSON,
14822
+ spriteKey: shared.getItemTextureKeyPath({
14823
+ key: _payload.texturePath,
14824
+ texturePath: _payload.texturePath,
14825
+ stackQty: _payload.stackQty || 1,
14826
+ isStackable: _payload.isStackable
14827
+ }, atlasJSON),
14828
+ width: 32,
14829
+ height: 32,
14830
+ imgScale: 1.6,
14831
+ imgStyle: {
14832
+ left: '5px'
14833
+ }
14834
+ });
15092
14835
  }
14836
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14837
+ return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14838
+ return word[0];
14839
+ }));
15093
14840
  };
15094
- React.useEffect(function () {
15095
- document.addEventListener('keydown', onHandleSpacePress);
15096
- return function () {
15097
- return document.removeEventListener('keydown', onHandleSpacePress);
15098
- };
15099
- }, [backgroundImgPath]);
15100
- return React__default.createElement(BackgroundContainer, {
15101
- imgPath: backgroundImgPath[img],
15102
- fullImg: fullCoverBackground
15103
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
15104
- textAndTypeArray: textAndTypeArray,
15105
- onClose: onClose
15106
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
15107
- questions: questions,
15108
- answers: answers,
15109
- onClose: onClose
15110
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
15111
- text: text,
15112
- imagePath: imagePath,
15113
- onClose: onClose,
15114
- type: exports.NPCDialogType.TextAndThumbnail
15115
- }) : React__default.createElement(NPCDialog, {
15116
- text: text,
15117
- onClose: onClose,
15118
- type: exports.NPCDialogType.TextOnly
14841
+ return React__default.createElement(Container$e, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
14842
+ id: "shortcuts_list"
14843
+ }, Array.from({
14844
+ length: 6
14845
+ }).map(function (_, i) {
14846
+ return React__default.createElement(Shortcut, {
14847
+ key: i,
14848
+ onPointerDown: function onPointerDown() {
14849
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14850
+ removeShortcut(i);
14851
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
14852
+ },
14853
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14854
+ isBeingSet: settingShortcutIndex === i,
14855
+ id: "shortcutSetter_" + i
14856
+ }, getContent(i));
15119
14857
  })));
15120
14858
  };
15121
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15122
- displayName: "HistoryDialog__BackgroundContainer",
15123
- componentId: "sc-u6oe75-0"
15124
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15125
- return props.imgPath;
15126
- }, function (props) {
15127
- return props.imgPath ? 'cover' : 'auto';
15128
- });
15129
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15130
- displayName: "HistoryDialog__DialogContainer",
15131
- componentId: "sc-u6oe75-1"
15132
- })(["display:flex;justify-content:center;padding-top:200px;"]);
14859
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14860
+ displayName: "ShortcutsSetter__Container",
14861
+ componentId: "sc-xuouuf-0"
14862
+ })(["p{margin:0;margin-left:0.5rem;}"]);
14863
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
14864
+ displayName: "ShortcutsSetter__Shortcut",
14865
+ componentId: "sc-xuouuf-1"
14866
+ })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
14867
+ var isBeingSet = _ref2.isBeingSet;
14868
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14869
+ }, uiColors.darkGray, uiColors.gray);
14870
+ var List = /*#__PURE__*/styled.div.withConfig({
14871
+ displayName: "ShortcutsSetter__List",
14872
+ componentId: "sc-xuouuf-2"
14873
+ })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
15133
14874
 
15134
- var SlotsContainer = function SlotsContainer(_ref) {
15135
- var children = _ref.children,
15136
- title = _ref.title,
14875
+ var ItemContainer$1 = function ItemContainer(_ref) {
14876
+ var itemContainer = _ref.itemContainer,
15137
14877
  onClose = _ref.onClose,
15138
- _onPositionChange = _ref.onPositionChange,
15139
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
15140
- _onPositionChangeStart = _ref.onPositionChangeStart,
15141
- onOutsideClick = _ref.onOutsideClick,
14878
+ _onMouseOver = _ref.onMouseOver,
14879
+ _onSelected = _ref.onSelected,
14880
+ onItemClick = _ref.onItemClick,
14881
+ type = _ref.type,
14882
+ atlasJSON = _ref.atlasJSON,
14883
+ atlasIMG = _ref.atlasIMG,
14884
+ _ref$disableContextMe = _ref.disableContextMenu,
14885
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14886
+ onItemDragEnd = _ref.onItemDragEnd,
14887
+ onItemDragStart = _ref.onItemDragStart,
14888
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
14889
+ _onOutsideDrop = _ref.onOutsideDrop,
14890
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15142
14891
  initialPosition = _ref.initialPosition,
15143
- scale = _ref.scale;
15144
- return React__default.createElement(DraggableContainer, {
15145
- title: title,
15146
- type: exports.RPGUIContainerTypes.Framed,
15147
- onCloseButton: function onCloseButton() {
15148
- if (onClose) {
15149
- onClose();
15150
- }
15151
- },
15152
- width: "400px",
15153
- cancelDrag: ".item-container-body, #shortcuts_list",
15154
- onPositionChange: function onPositionChange(_ref2) {
15155
- var x = _ref2.x,
15156
- y = _ref2.y;
15157
- if (_onPositionChange) {
15158
- _onPositionChange({
15159
- x: x,
15160
- y: y
15161
- });
15162
- }
15163
- },
15164
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15165
- var x = _ref3.x,
15166
- y = _ref3.y;
15167
- if (_onPositionChangeEnd) {
15168
- _onPositionChangeEnd({
15169
- x: x,
15170
- y: y
15171
- });
15172
- }
15173
- },
15174
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
15175
- var x = _ref4.x,
15176
- y = _ref4.y;
15177
- if (_onPositionChangeStart) {
15178
- _onPositionChangeStart({
15179
- x: x,
15180
- y: y
15181
- });
15182
- }
15183
- },
15184
- onOutsideClick: onOutsideClick,
15185
- initialPosition: initialPosition,
15186
- scale: scale
15187
- }, children);
15188
- };
15189
-
15190
- (function (RangeSliderType) {
15191
- RangeSliderType["Slider"] = "rpgui-slider";
15192
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15193
- })(exports.RangeSliderType || (exports.RangeSliderType = {}));
15194
- var RangeSlider = function RangeSlider(_ref) {
15195
- var type = _ref.type,
15196
- valueMin = _ref.valueMin,
15197
- valueMax = _ref.valueMax,
15198
- width = _ref.width,
15199
- _onChange = _ref.onChange,
15200
- value = _ref.value;
15201
- var sliderId = uuid.v4();
15202
- var containerRef = React.useRef(null);
15203
- var _useState = React.useState(0),
15204
- left = _useState[0],
15205
- setLeft = _useState[1];
15206
- React.useEffect(function () {
15207
- var _containerRef$current;
15208
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15209
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15210
- }, [value, valueMin, valueMax]);
15211
- var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
15212
- return React__default.createElement("div", {
15213
- style: {
15214
- width: width,
15215
- position: 'relative'
15216
- },
15217
- className: "rpgui-slider-container " + typeClass,
15218
- id: "rpgui-slider-" + sliderId,
15219
- ref: containerRef
15220
- }, React__default.createElement("div", {
15221
- style: {
15222
- pointerEvents: 'none'
14892
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14893
+ scale = _ref.scale,
14894
+ shortcuts = _ref.shortcuts,
14895
+ setItemShortcut = _ref.setItemShortcut,
14896
+ removeShortcut = _ref.removeShortcut,
14897
+ equipmentSet = _ref.equipmentSet,
14898
+ isDepotSystem = _ref.isDepotSystem,
14899
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
14900
+ onPositionChangeStart = _ref.onPositionChangeStart;
14901
+ var _useState = React.useState({
14902
+ isOpen: false,
14903
+ maxQuantity: 1,
14904
+ callback: function callback(_quantity) {}
14905
+ }),
14906
+ quantitySelect = _useState[0],
14907
+ setQuantitySelect = _useState[1];
14908
+ var _useState2 = React.useState(-1),
14909
+ settingShortcutIndex = _useState2[0],
14910
+ setSettingShortcutIndex = _useState2[1];
14911
+ var handleSetShortcut = function handleSetShortcut(item, index) {
14912
+ if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
14913
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15223
14914
  }
15224
- }, React__default.createElement("div", {
15225
- className: "rpgui-slider-track " + typeClass
15226
- }), React__default.createElement("div", {
15227
- className: "rpgui-slider-left-edge " + typeClass
15228
- }), React__default.createElement("div", {
15229
- className: "rpgui-slider-right-edge " + typeClass
15230
- }), React__default.createElement("div", {
15231
- className: "rpgui-slider-thumb " + typeClass,
15232
- style: {
15233
- left: left
14915
+ };
14916
+ var onRenderSlots = function onRenderSlots() {
14917
+ var slots = [];
14918
+ for (var i = 0; i < itemContainer.slotQty; i++) {
14919
+ var _itemContainer$slots;
14920
+ slots.push(React__default.createElement(ItemSlot, {
14921
+ isContextMenuDisabled: disableContextMenu,
14922
+ key: i,
14923
+ slotIndex: i,
14924
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14925
+ itemContainerType: type,
14926
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
14927
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14928
+ },
14929
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
14930
+ if (settingShortcutIndex !== -1) {
14931
+ setSettingShortcutIndex(-1);
14932
+ handleSetShortcut(item, settingShortcutIndex);
14933
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
14934
+ },
14935
+ onSelected: function onSelected(optionId, item) {
14936
+ if (_onSelected) _onSelected(optionId, item);
14937
+ },
14938
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14939
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14940
+ },
14941
+ onDragEnd: function onDragEnd(quantity) {
14942
+ if (onItemDragEnd) onItemDragEnd(quantity);
14943
+ },
14944
+ dragScale: scale,
14945
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14946
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14947
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14948
+ setQuantitySelect({
14949
+ isOpen: true,
14950
+ maxQuantity: maxQuantity,
14951
+ callback: callback
14952
+ });
14953
+ },
14954
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14955
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14956
+ },
14957
+ onOutsideDrop: function onOutsideDrop(item, position) {
14958
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
14959
+ },
14960
+ atlasIMG: atlasIMG,
14961
+ atlasJSON: atlasJSON,
14962
+ isSelectingShortcut: settingShortcutIndex !== -1,
14963
+ equipmentSet: equipmentSet,
14964
+ setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
14965
+ isDepotSystem: isDepotSystem
14966
+ }));
15234
14967
  }
15235
- })), React__default.createElement(Input$1, {
15236
- type: "range",
15237
- style: {
15238
- width: width
15239
- },
15240
- min: valueMin,
15241
- max: valueMax,
15242
- onChange: function onChange(e) {
15243
- return _onChange(Number(e.target.value));
14968
+ return slots;
14969
+ };
14970
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
14971
+ title: itemContainer.name || 'Container',
14972
+ onClose: onClose,
14973
+ initialPosition: initialPosition,
14974
+ scale: scale,
14975
+ onPositionChangeEnd: onPositionChangeEnd,
14976
+ onPositionChangeStart: onPositionChangeStart
14977
+ }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
14978
+ setSettingShortcutIndex: setSettingShortcutIndex,
14979
+ settingShortcutIndex: settingShortcutIndex,
14980
+ shortcuts: shortcuts,
14981
+ removeShortcut: removeShortcut,
14982
+ atlasIMG: atlasIMG,
14983
+ atlasJSON: atlasJSON
14984
+ }), React__default.createElement(ItemsContainer, {
14985
+ className: "item-container-body"
14986
+ }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
14987
+ quantity: quantitySelect.maxQuantity,
14988
+ onConfirm: function onConfirm(quantity) {
14989
+ quantitySelect.callback(quantity);
14990
+ setQuantitySelect({
14991
+ isOpen: false,
14992
+ maxQuantity: 1,
14993
+ callback: function callback() {}
14994
+ });
15244
14995
  },
15245
- value: value,
15246
- className: "rpgui-cursor-point"
15247
- }));
14996
+ onClose: function onClose() {
14997
+ quantitySelect.callback(-1);
14998
+ setQuantitySelect({
14999
+ isOpen: false,
15000
+ maxQuantity: 1,
15001
+ callback: function callback() {}
15002
+ });
15003
+ }
15004
+ }))));
15248
15005
  };
15249
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
15250
- displayName: "RangeSlider__Input",
15251
- componentId: "sc-v8mte9-0"
15252
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15006
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15007
+ displayName: "ItemContainer__ItemsContainer",
15008
+ componentId: "sc-15y5p9l-0"
15009
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15010
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15011
+ displayName: "ItemContainer__QuantitySelectorContainer",
15012
+ componentId: "sc-15y5p9l-1"
15013
+ })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15253
15014
 
15254
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15255
- var quantity = _ref.quantity,
15256
- onConfirm = _ref.onConfirm,
15257
- onClose = _ref.onClose;
15258
- var _useState = React.useState(quantity),
15259
- value = _useState[0],
15260
- setValue = _useState[1];
15261
- var inputRef = React.useRef(null);
15015
+ var ItemSelector = function ItemSelector(_ref) {
15016
+ var atlasIMG = _ref.atlasIMG,
15017
+ atlasJSON = _ref.atlasJSON,
15018
+ options = _ref.options,
15019
+ onClose = _ref.onClose,
15020
+ onSelect = _ref.onSelect;
15021
+ var _useState = React.useState(),
15022
+ selectedValue = _useState[0],
15023
+ setSelectedValue = _useState[1];
15024
+ var handleClick = function handleClick() {
15025
+ var element = document.querySelector("input[name='test']:checked");
15026
+ var elementValue = element.value;
15027
+ setSelectedValue(elementValue);
15028
+ };
15262
15029
  React.useEffect(function () {
15263
- if (inputRef.current) {
15264
- inputRef.current.focus();
15265
- inputRef.current.select();
15266
- var closeSelector = function closeSelector(e) {
15267
- if (e.key === 'Escape') {
15268
- onClose();
15269
- }
15270
- };
15271
- document.addEventListener('keydown', closeSelector);
15272
- return function () {
15273
- document.removeEventListener('keydown', closeSelector);
15274
- };
15030
+ if (selectedValue) {
15031
+ onSelect(selectedValue);
15275
15032
  }
15276
- return function () {};
15277
- }, []);
15278
- return React__default.createElement(StyledContainer, {
15033
+ }, [selectedValue]);
15034
+ return React__default.createElement(DraggableContainer, {
15279
15035
  type: exports.RPGUIContainerTypes.Framed,
15280
- width: "25rem"
15281
- }, React__default.createElement(CloseButton$2, {
15282
- className: "container-close",
15283
- onPointerDown: onClose
15284
- }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
15036
+ width: "500px",
15037
+ cancelDrag: ".equipment-container-body .arrow-selector",
15038
+ onCloseButton: function onCloseButton() {
15039
+ if (onClose) {
15040
+ onClose();
15041
+ }
15042
+ }
15043
+ }, React__default.createElement("div", {
15285
15044
  style: {
15286
15045
  width: '100%'
15287
- },
15288
- onSubmit: function onSubmit(e) {
15289
- e.preventDefault();
15290
- var numberValue = Number(value);
15291
- if (Number.isNaN(numberValue)) {
15292
- return;
15293
- }
15294
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15295
- },
15296
- noValidate: true
15297
- }, React__default.createElement(StyledInput, {
15298
- innerRef: inputRef,
15299
- placeholder: "Enter quantity",
15300
- type: "number",
15301
- min: 1,
15302
- max: quantity,
15303
- value: value,
15304
- onChange: function onChange(e) {
15305
- if (Number(e.target.value) >= quantity) {
15306
- setValue(quantity);
15307
- return;
15308
- }
15309
- setValue(e.target.value);
15310
- },
15311
- onBlur: function onBlur(e) {
15312
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15313
- setValue(newValue);
15314
15046
  }
15315
- }), React__default.createElement(RangeSlider, {
15316
- type: exports.RangeSliderType.Slider,
15317
- valueMin: 1,
15318
- valueMax: quantity,
15319
- width: "100%",
15320
- onChange: setValue,
15321
- value: value
15322
- }), React__default.createElement(Button, {
15047
+ }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15048
+ className: "golden"
15049
+ })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15050
+ return React__default.createElement(RadioOptionsWrapper$1, {
15051
+ key: index
15052
+ }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15053
+ atlasIMG: atlasIMG,
15054
+ atlasJSON: atlasJSON,
15055
+ spriteKey: option.imageKey,
15056
+ imgScale: 3
15057
+ })), React__default.createElement("div", null, React__default.createElement("input", {
15058
+ className: "rpgui-radio",
15059
+ type: "radio",
15060
+ value: option.name,
15061
+ name: "test"
15062
+ }), React__default.createElement("label", {
15063
+ onPointerDown: handleClick,
15064
+ style: {
15065
+ display: 'flex',
15066
+ alignItems: 'center'
15067
+ }
15068
+ }, option.name, " ", React__default.createElement("br", null), option.description)));
15069
+ })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15323
15070
  buttonType: exports.ButtonTypes.RPGUIButton,
15324
- type: "submit"
15325
- }, "Confirm")));
15071
+ onPointerDown: onClose
15072
+ }, "Cancel"), React__default.createElement(Button, {
15073
+ buttonType: exports.ButtonTypes.RPGUIButton
15074
+ }, "Select")));
15326
15075
  };
15327
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15328
- displayName: "ItemQuantitySelector__StyledContainer",
15329
- componentId: "sc-yfdtpn-0"
15330
- })(["display:flex;flex-direction:column;align-items:center;"]);
15331
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
15332
- displayName: "ItemQuantitySelector__StyledForm",
15333
- componentId: "sc-yfdtpn-1"
15334
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15335
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15336
- displayName: "ItemQuantitySelector__StyledInput",
15337
- componentId: "sc-yfdtpn-2"
15338
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15339
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15340
- displayName: "ItemQuantitySelector__CloseButton",
15341
- componentId: "sc-yfdtpn-3"
15342
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15076
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15077
+ displayName: "ItemSelector__Title",
15078
+ componentId: "sc-gptoxp-0"
15079
+ })(["font-size:0.6rem;color:yellow !important;"]);
15080
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15081
+ displayName: "ItemSelector__Subtitle",
15082
+ componentId: "sc-gptoxp-1"
15083
+ })(["font-size:0.4rem;color:yellow !important;"]);
15084
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15085
+ displayName: "ItemSelector__RadioInputScroller",
15086
+ componentId: "sc-gptoxp-2"
15087
+ })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15088
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15089
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15090
+ componentId: "sc-gptoxp-3"
15091
+ })(["margin-right:40px;"]);
15092
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15093
+ displayName: "ItemSelector__RadioOptionsWrapper",
15094
+ componentId: "sc-gptoxp-4"
15095
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15096
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15097
+ displayName: "ItemSelector__ButtonWrapper",
15098
+ componentId: "sc-gptoxp-5"
15099
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15343
15100
 
15344
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
15345
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15346
- settingShortcutIndex = _ref.settingShortcutIndex,
15347
- shortcuts = _ref.shortcuts,
15348
- removeShortcut = _ref.removeShortcut,
15349
- atlasJSON = _ref.atlasJSON,
15350
- atlasIMG = _ref.atlasIMG;
15351
- var getContent = function getContent(index) {
15352
- var _shortcuts$index, _shortcuts$index3;
15353
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
15354
- var _shortcuts$index2;
15355
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15356
- if (!_payload) return null;
15357
- return React__default.createElement(SpriteFromAtlas, {
15358
- atlasIMG: atlasIMG,
15359
- atlasJSON: atlasJSON,
15360
- spriteKey: shared.getItemTextureKeyPath({
15361
- key: _payload.texturePath,
15362
- texturePath: _payload.texturePath,
15363
- stackQty: _payload.stackQty || 1,
15364
- isStackable: _payload.isStackable
15365
- }, atlasJSON),
15366
- width: 32,
15367
- height: 32,
15368
- imgScale: 1.6,
15369
- imgStyle: {
15370
- left: '5px'
15371
- }
15372
- });
15101
+ var ListMenu = function ListMenu(_ref) {
15102
+ var options = _ref.options,
15103
+ onSelected = _ref.onSelected,
15104
+ x = _ref.x,
15105
+ y = _ref.y;
15106
+ return React__default.createElement(Container$f, {
15107
+ x: x,
15108
+ y: y
15109
+ }, React__default.createElement("ul", {
15110
+ className: "rpgui-list-imp",
15111
+ style: {
15112
+ overflow: 'hidden'
15373
15113
  }
15374
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15375
- return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15376
- return word[0];
15377
- }));
15378
- };
15379
- return React__default.createElement(Container$i, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
15380
- id: "shortcuts_list"
15381
- }, Array.from({
15382
- length: 6
15383
- }).map(function (_, i) {
15384
- return React__default.createElement(Shortcut, {
15385
- key: i,
15114
+ }, options.map(function (params, index) {
15115
+ return React__default.createElement(ListElement$1, {
15116
+ key: (params == null ? void 0 : params.id) || index,
15386
15117
  onPointerDown: function onPointerDown() {
15387
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15388
- removeShortcut(i);
15389
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
15390
- },
15391
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15392
- isBeingSet: settingShortcutIndex === i,
15393
- id: "shortcutSetter_" + i
15394
- }, getContent(i));
15118
+ onSelected(params == null ? void 0 : params.id);
15119
+ }
15120
+ }, (params == null ? void 0 : params.text) || 'No text');
15395
15121
  })));
15396
15122
  };
15397
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15398
- displayName: "ShortcutsSetter__Container",
15399
- componentId: "sc-xuouuf-0"
15400
- })(["p{margin:0;margin-left:0.5rem;}"]);
15401
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
15402
- displayName: "ShortcutsSetter__Shortcut",
15403
- componentId: "sc-xuouuf-1"
15404
- })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
15405
- var isBeingSet = _ref2.isBeingSet;
15406
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15407
- }, uiColors.darkGray, uiColors.gray);
15408
- var List = /*#__PURE__*/styled.div.withConfig({
15409
- displayName: "ShortcutsSetter__List",
15410
- componentId: "sc-xuouuf-2"
15411
- })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
15123
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
15124
+ displayName: "ListMenu__Container",
15125
+ componentId: "sc-i9097t-0"
15126
+ })(["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) {
15127
+ return props.y || 0;
15128
+ }, function (props) {
15129
+ return props.x || 0;
15130
+ }, uiFonts.size.xsmall);
15131
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15132
+ displayName: "ListMenu__ListElement",
15133
+ componentId: "sc-i9097t-1"
15134
+ })(["margin-right:0.5rem;"]);
15412
15135
 
15413
- var ItemContainer$1 = function ItemContainer(_ref) {
15414
- var itemContainer = _ref.itemContainer,
15415
- onClose = _ref.onClose,
15416
- _onMouseOver = _ref.onMouseOver,
15417
- _onSelected = _ref.onSelected,
15418
- onItemClick = _ref.onItemClick,
15419
- type = _ref.type,
15420
- atlasJSON = _ref.atlasJSON,
15136
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15137
+ var atlasJSON = _ref.atlasJSON,
15421
15138
  atlasIMG = _ref.atlasIMG,
15422
- _ref$disableContextMe = _ref.disableContextMenu,
15423
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15424
- onItemDragEnd = _ref.onItemDragEnd,
15425
- onItemDragStart = _ref.onItemDragStart,
15426
- onItemPlaceDrop = _ref.onItemPlaceDrop,
15427
- _onOutsideDrop = _ref.onOutsideDrop,
15428
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15429
- initialPosition = _ref.initialPosition,
15430
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15431
- scale = _ref.scale,
15432
- shortcuts = _ref.shortcuts,
15433
- setItemShortcut = _ref.setItemShortcut,
15434
- removeShortcut = _ref.removeShortcut,
15435
- equipmentSet = _ref.equipmentSet,
15436
- isDepotSystem = _ref.isDepotSystem,
15437
- onPositionChangeEnd = _ref.onPositionChangeEnd,
15438
- onPositionChangeStart = _ref.onPositionChangeStart;
15439
- var _useState = React.useState({
15440
- isOpen: false,
15441
- maxQuantity: 1,
15442
- callback: function callback(_quantity) {}
15443
- }),
15444
- quantitySelect = _useState[0],
15445
- setQuantitySelect = _useState[1];
15446
- var _useState2 = React.useState(-1),
15447
- settingShortcutIndex = _useState2[0],
15448
- setSettingShortcutIndex = _useState2[1];
15449
- var handleSetShortcut = function handleSetShortcut(item, index) {
15450
- if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
15451
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15452
- }
15453
- };
15454
- var onRenderSlots = function onRenderSlots() {
15455
- var slots = [];
15456
- for (var i = 0; i < itemContainer.slotQty; i++) {
15457
- var _itemContainer$slots;
15458
- slots.push(React__default.createElement(ItemSlot, {
15459
- isContextMenuDisabled: disableContextMenu,
15460
- key: i,
15461
- slotIndex: i,
15462
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15463
- itemContainerType: type,
15464
- onMouseOver: function onMouseOver(event, slotIndex, item) {
15465
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15466
- },
15467
- onPointerDown: function onPointerDown(itemType, containerType, item) {
15468
- if (settingShortcutIndex !== -1) {
15469
- setSettingShortcutIndex(-1);
15470
- handleSetShortcut(item, settingShortcutIndex);
15471
- } else if (onItemClick) onItemClick(item, itemType, containerType);
15472
- },
15473
- onSelected: function onSelected(optionId, item) {
15474
- if (_onSelected) _onSelected(optionId, item);
15475
- },
15476
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15477
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15478
- },
15479
- onDragEnd: function onDragEnd(quantity) {
15480
- if (onItemDragEnd) onItemDragEnd(quantity);
15481
- },
15482
- dragScale: scale,
15483
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15484
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15485
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15486
- setQuantitySelect({
15487
- isOpen: true,
15488
- maxQuantity: maxQuantity,
15489
- callback: callback
15490
- });
15491
- },
15492
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15493
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15494
- },
15495
- onOutsideDrop: function onOutsideDrop(item, position) {
15496
- if (_onOutsideDrop) _onOutsideDrop(item, position);
15497
- },
15498
- atlasIMG: atlasIMG,
15499
- atlasJSON: atlasJSON,
15500
- isSelectingShortcut: settingShortcutIndex !== -1,
15501
- equipmentSet: equipmentSet,
15502
- setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
15503
- isDepotSystem: isDepotSystem
15504
- }));
15505
- }
15506
- return slots;
15507
- };
15508
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
15509
- title: itemContainer.name || 'Container',
15510
- onClose: onClose,
15511
- initialPosition: initialPosition,
15512
- scale: scale,
15513
- onPositionChangeEnd: onPositionChangeEnd,
15514
- onPositionChangeStart: onPositionChangeStart
15515
- }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
15516
- setSettingShortcutIndex: setSettingShortcutIndex,
15517
- settingShortcutIndex: settingShortcutIndex,
15518
- shortcuts: shortcuts,
15519
- removeShortcut: removeShortcut,
15520
- atlasIMG: atlasIMG,
15521
- atlasJSON: atlasJSON
15522
- }), React__default.createElement(ItemsContainer, {
15523
- className: "item-container-body"
15524
- }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
15525
- quantity: quantitySelect.maxQuantity,
15526
- onConfirm: function onConfirm(quantity) {
15527
- quantitySelect.callback(quantity);
15528
- setQuantitySelect({
15529
- isOpen: false,
15530
- maxQuantity: 1,
15531
- callback: function callback() {}
15532
- });
15533
- },
15534
- onClose: function onClose() {
15535
- quantitySelect.callback(-1);
15536
- setQuantitySelect({
15537
- isOpen: false,
15538
- maxQuantity: 1,
15539
- callback: function callback() {}
15540
- });
15541
- }
15542
- }))));
15543
- };
15544
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15545
- displayName: "ItemContainer__ItemsContainer",
15546
- componentId: "sc-15y5p9l-0"
15547
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15548
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15549
- displayName: "ItemContainer__QuantitySelectorContainer",
15550
- componentId: "sc-15y5p9l-1"
15551
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15552
-
15553
- var ItemSelector = function ItemSelector(_ref) {
15554
- var atlasIMG = _ref.atlasIMG,
15555
- atlasJSON = _ref.atlasJSON,
15556
- options = _ref.options,
15557
- onClose = _ref.onClose,
15558
- onSelect = _ref.onSelect;
15559
- var _useState = React.useState(),
15560
- selectedValue = _useState[0],
15561
- setSelectedValue = _useState[1];
15562
- var handleClick = function handleClick() {
15563
- var element = document.querySelector("input[name='test']:checked");
15564
- var elementValue = element.value;
15565
- setSelectedValue(elementValue);
15566
- };
15567
- React.useEffect(function () {
15568
- if (selectedValue) {
15569
- onSelect(selectedValue);
15570
- }
15571
- }, [selectedValue]);
15572
- return React__default.createElement(DraggableContainer, {
15573
- type: exports.RPGUIContainerTypes.Framed,
15574
- width: "500px",
15575
- cancelDrag: ".equipment-container-body .arrow-selector",
15576
- onCloseButton: function onCloseButton() {
15577
- if (onClose) {
15578
- onClose();
15579
- }
15580
- }
15581
- }, React__default.createElement("div", {
15582
- style: {
15583
- width: '100%'
15584
- }
15585
- }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15586
- className: "golden"
15587
- })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15588
- return React__default.createElement(RadioOptionsWrapper$1, {
15589
- key: index
15590
- }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15591
- atlasIMG: atlasIMG,
15592
- atlasJSON: atlasJSON,
15593
- spriteKey: option.imageKey,
15594
- imgScale: 3
15595
- })), React__default.createElement("div", null, React__default.createElement("input", {
15596
- className: "rpgui-radio",
15597
- type: "radio",
15598
- value: option.name,
15599
- name: "test"
15600
- }), React__default.createElement("label", {
15601
- onPointerDown: handleClick,
15602
- style: {
15603
- display: 'flex',
15604
- alignItems: 'center'
15605
- }
15606
- }, option.name, " ", React__default.createElement("br", null), option.description)));
15607
- })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15608
- buttonType: exports.ButtonTypes.RPGUIButton,
15609
- onPointerDown: onClose
15610
- }, "Cancel"), React__default.createElement(Button, {
15611
- buttonType: exports.ButtonTypes.RPGUIButton
15612
- }, "Select")));
15613
- };
15614
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15615
- displayName: "ItemSelector__Title",
15616
- componentId: "sc-gptoxp-0"
15617
- })(["font-size:0.6rem;color:yellow !important;"]);
15618
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15619
- displayName: "ItemSelector__Subtitle",
15620
- componentId: "sc-gptoxp-1"
15621
- })(["font-size:0.4rem;color:yellow !important;"]);
15622
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15623
- displayName: "ItemSelector__RadioInputScroller",
15624
- componentId: "sc-gptoxp-2"
15625
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15626
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15627
- displayName: "ItemSelector__SpriteAtlasWrapper",
15628
- componentId: "sc-gptoxp-3"
15629
- })(["margin-right:40px;"]);
15630
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15631
- displayName: "ItemSelector__RadioOptionsWrapper",
15632
- componentId: "sc-gptoxp-4"
15633
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15634
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15635
- displayName: "ItemSelector__ButtonWrapper",
15636
- componentId: "sc-gptoxp-5"
15637
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15638
-
15639
- var ListMenu = function ListMenu(_ref) {
15640
- var options = _ref.options,
15641
- onSelected = _ref.onSelected,
15642
- x = _ref.x,
15643
- y = _ref.y;
15644
- return React__default.createElement(Container$j, {
15645
- x: x,
15646
- y: y
15647
- }, React__default.createElement("ul", {
15648
- className: "rpgui-list-imp",
15649
- style: {
15650
- overflow: 'hidden'
15651
- }
15652
- }, options.map(function (params, index) {
15653
- return React__default.createElement(ListElement$1, {
15654
- key: (params == null ? void 0 : params.id) || index,
15655
- onPointerDown: function onPointerDown() {
15656
- onSelected(params == null ? void 0 : params.id);
15657
- }
15658
- }, (params == null ? void 0 : params.text) || 'No text');
15659
- })));
15660
- };
15661
- var Container$j = /*#__PURE__*/styled.div.withConfig({
15662
- displayName: "ListMenu__Container",
15663
- componentId: "sc-i9097t-0"
15664
- })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
15665
- return props.y || 0;
15666
- }, function (props) {
15667
- return props.x || 0;
15668
- }, uiFonts.size.xsmall);
15669
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15670
- displayName: "ListMenu__ListElement",
15671
- componentId: "sc-i9097t-1"
15672
- })(["margin-right:0.5rem;"]);
15673
-
15674
- var MarketplaceRows = function MarketplaceRows(_ref) {
15675
- var atlasJSON = _ref.atlasJSON,
15676
- atlasIMG = _ref.atlasIMG,
15677
- item = _ref.item,
15678
- itemPrice = _ref.itemPrice,
15139
+ item = _ref.item,
15140
+ itemPrice = _ref.itemPrice,
15679
15141
  equipmentSet = _ref.equipmentSet,
15680
15142
  scale = _ref.scale,
15681
15143
  onHandleClick = _ref.onHandleClick;
@@ -15825,6 +15287,331 @@ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15825
15287
  componentId: "sc-h904b1-3"
15826
15288
  })(["margin:3px !important;width:170px !important;"]);
15827
15289
 
15290
+ var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15291
+
15292
+ var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
15293
+
15294
+ (function (ImgSide) {
15295
+ ImgSide["right"] = "right";
15296
+ ImgSide["left"] = "left";
15297
+ })(exports.ImgSide || (exports.ImgSide = {}));
15298
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
15299
+ var _textAndTypeArray$sli;
15300
+ var _onClose = _ref.onClose,
15301
+ textAndTypeArray = _ref.textAndTypeArray;
15302
+ var _useState = React.useState(false),
15303
+ showGoNextIndicator = _useState[0],
15304
+ setShowGoNextIndicator = _useState[1];
15305
+ var _useState2 = React.useState(0),
15306
+ slide = _useState2[0],
15307
+ setSlide = _useState2[1];
15308
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15309
+ if (event.code === 'Space') {
15310
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15311
+ setSlide(function (prev) {
15312
+ return prev + 1;
15313
+ });
15314
+ } else {
15315
+ // if there's no more text chunks, close the dialog
15316
+ _onClose();
15317
+ }
15318
+ }
15319
+ };
15320
+ React.useEffect(function () {
15321
+ document.addEventListener('keydown', onHandleSpacePress);
15322
+ return function () {
15323
+ return document.removeEventListener('keydown', onHandleSpacePress);
15324
+ };
15325
+ }, [slide]);
15326
+ return React__default.createElement(RPGUIContainer, {
15327
+ type: exports.RPGUIContainerTypes.FramedGold,
15328
+ width: '50%',
15329
+ height: '180px'
15330
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$g, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
15331
+ flex: '70%'
15332
+ }, React__default.createElement(NPCDialogText, {
15333
+ onStartStep: function onStartStep() {
15334
+ return setShowGoNextIndicator(false);
15335
+ },
15336
+ onEndStep: function onEndStep() {
15337
+ return setShowGoNextIndicator(true);
15338
+ },
15339
+ text: textAndTypeArray[slide].text || 'No text provided.',
15340
+ onClose: function onClose() {
15341
+ if (_onClose) {
15342
+ _onClose();
15343
+ }
15344
+ }
15345
+ })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15346
+ src: textAndTypeArray[slide].imagePath || img$5
15347
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15348
+ right: '10.5rem',
15349
+ src: img$6
15350
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15351
+ src: textAndTypeArray[slide].imagePath || img$5
15352
+ })), React__default.createElement(TextContainer, {
15353
+ flex: '70%'
15354
+ }, React__default.createElement(NPCDialogText, {
15355
+ onStartStep: function onStartStep() {
15356
+ return setShowGoNextIndicator(false);
15357
+ },
15358
+ onEndStep: function onEndStep() {
15359
+ return setShowGoNextIndicator(true);
15360
+ },
15361
+ text: textAndTypeArray[slide].text || 'No text provided.',
15362
+ onClose: function onClose() {
15363
+ if (_onClose) {
15364
+ _onClose();
15365
+ }
15366
+ }
15367
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15368
+ right: '1rem',
15369
+ src: img$6
15370
+ }))), ")"));
15371
+ };
15372
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
15373
+ displayName: "NPCMultiDialog__Container",
15374
+ componentId: "sc-rvu5wg-0"
15375
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15376
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
15377
+ displayName: "NPCMultiDialog__TextContainer",
15378
+ componentId: "sc-rvu5wg-1"
15379
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15380
+ var flex = _ref2.flex;
15381
+ return flex;
15382
+ });
15383
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15384
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15385
+ componentId: "sc-rvu5wg-2"
15386
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15387
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15388
+ displayName: "NPCMultiDialog__NPCThumbnail",
15389
+ componentId: "sc-rvu5wg-3"
15390
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15391
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15392
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15393
+ componentId: "sc-rvu5wg-4"
15394
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15395
+ var right = _ref3.right;
15396
+ return right;
15397
+ });
15398
+
15399
+ //@ts-ignore
15400
+ var useEventListener = function useEventListener(type, handler, el) {
15401
+ if (el === void 0) {
15402
+ el = window;
15403
+ }
15404
+ var savedHandler = React__default.useRef();
15405
+ React__default.useEffect(function () {
15406
+ savedHandler.current = handler;
15407
+ }, [handler]);
15408
+ React__default.useEffect(function () {
15409
+ //@ts-ignore
15410
+ var listener = function listener(e) {
15411
+ return savedHandler.current(e);
15412
+ };
15413
+ el.addEventListener(type, listener);
15414
+ return function () {
15415
+ el.removeEventListener(type, listener);
15416
+ };
15417
+ }, [type, el]);
15418
+ };
15419
+
15420
+ var DynamicText = function DynamicText(_ref) {
15421
+ var text = _ref.text,
15422
+ onFinish = _ref.onFinish,
15423
+ onStart = _ref.onStart;
15424
+ var _useState = React.useState(''),
15425
+ textState = _useState[0],
15426
+ setTextState = _useState[1];
15427
+ React.useEffect(function () {
15428
+ var i = 0;
15429
+ var interval = setInterval(function () {
15430
+ // on every interval, show one more character
15431
+ if (i === 0) {
15432
+ if (onStart) {
15433
+ onStart();
15434
+ }
15435
+ }
15436
+ if (i < text.length) {
15437
+ setTextState(text.substring(0, i + 1));
15438
+ i++;
15439
+ } else {
15440
+ clearInterval(interval);
15441
+ if (onFinish) {
15442
+ onFinish();
15443
+ }
15444
+ }
15445
+ }, 50);
15446
+ return function () {
15447
+ clearInterval(interval);
15448
+ };
15449
+ }, [text]);
15450
+ return React__default.createElement(TextContainer$1, null, textState);
15451
+ };
15452
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15453
+ displayName: "DynamicText__TextContainer",
15454
+ componentId: "sc-1ggl9nd-0"
15455
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15456
+
15457
+ var QuestionDialog = function QuestionDialog(_ref) {
15458
+ var questions = _ref.questions,
15459
+ answers = _ref.answers,
15460
+ onClose = _ref.onClose;
15461
+ var _useState = React.useState(questions[0]),
15462
+ currentQuestion = _useState[0],
15463
+ setCurrentQuestion = _useState[1];
15464
+ var _useState2 = React.useState(false),
15465
+ canShowAnswers = _useState2[0],
15466
+ setCanShowAnswers = _useState2[1];
15467
+ var onGetFirstAnswer = function onGetFirstAnswer() {
15468
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15469
+ return null;
15470
+ }
15471
+ var firstAnswerId = currentQuestion.answerIds[0];
15472
+ return answers.find(function (answer) {
15473
+ return answer.id === firstAnswerId;
15474
+ });
15475
+ };
15476
+ var _useState3 = React.useState(onGetFirstAnswer()),
15477
+ currentAnswer = _useState3[0],
15478
+ setCurrentAnswer = _useState3[1];
15479
+ React.useEffect(function () {
15480
+ setCurrentAnswer(onGetFirstAnswer());
15481
+ }, [currentQuestion]);
15482
+ var onGetAnswers = function onGetAnswers(answerIds) {
15483
+ return answerIds.map(function (answerId) {
15484
+ return answers.find(function (answer) {
15485
+ return answer.id === answerId;
15486
+ });
15487
+ });
15488
+ };
15489
+ var onKeyPress = function onKeyPress(e) {
15490
+ switch (e.key) {
15491
+ case 'ArrowDown':
15492
+ // select next answer, if any.
15493
+ // if no next answer, select first answer
15494
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15495
+ // (answer) => answer?.id === currentAnswer!.id + 1
15496
+ // );
15497
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15498
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15499
+ });
15500
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15501
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15502
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
15503
+ });
15504
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15505
+ break;
15506
+ case 'ArrowUp':
15507
+ // select previous answer, if any.
15508
+ // if no previous answer, select last answer
15509
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15510
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15511
+ });
15512
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15513
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15514
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
15515
+ });
15516
+ if (previousAnswer) {
15517
+ setCurrentAnswer(previousAnswer);
15518
+ } else {
15519
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15520
+ }
15521
+ break;
15522
+ case 'Enter':
15523
+ setCanShowAnswers(false);
15524
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15525
+ onClose();
15526
+ return;
15527
+ } else {
15528
+ setCurrentQuestion(questions.find(function (question) {
15529
+ return question.id === currentAnswer.nextQuestionId;
15530
+ }));
15531
+ }
15532
+ break;
15533
+ }
15534
+ };
15535
+ useEventListener('keydown', onKeyPress);
15536
+ var onAnswerClick = function onAnswerClick(answer) {
15537
+ setCanShowAnswers(false);
15538
+ if (answer.nextQuestionId) {
15539
+ // if there is a next question, go to it
15540
+ setCurrentQuestion(questions.find(function (question) {
15541
+ return question.id === answer.nextQuestionId;
15542
+ }));
15543
+ } else {
15544
+ // else, finish dialog!
15545
+ onClose();
15546
+ }
15547
+ };
15548
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15549
+ var answerIds = currentQuestion.answerIds;
15550
+ if (!answerIds) {
15551
+ return null;
15552
+ }
15553
+ var answers = onGetAnswers(answerIds);
15554
+ if (!answers) {
15555
+ return null;
15556
+ }
15557
+ return answers.map(function (answer) {
15558
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15559
+ var selectedColor = isSelected ? 'yellow' : 'white';
15560
+ if (answer) {
15561
+ return React__default.createElement(AnswerRow, {
15562
+ key: "answer_" + answer.id
15563
+ }, React__default.createElement(AnswerSelectedIcon, {
15564
+ color: selectedColor
15565
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
15566
+ key: answer.id,
15567
+ onPointerDown: function onPointerDown() {
15568
+ return onAnswerClick(answer);
15569
+ },
15570
+ color: selectedColor
15571
+ }, answer.text));
15572
+ }
15573
+ return null;
15574
+ });
15575
+ };
15576
+ return React__default.createElement(Container$h, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
15577
+ text: currentQuestion.text,
15578
+ onStart: function onStart() {
15579
+ return setCanShowAnswers(false);
15580
+ },
15581
+ onFinish: function onFinish() {
15582
+ return setCanShowAnswers(true);
15583
+ }
15584
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15585
+ };
15586
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15587
+ displayName: "QuestionDialog__Container",
15588
+ componentId: "sc-bxc5u0-0"
15589
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
15590
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
15591
+ displayName: "QuestionDialog__QuestionContainer",
15592
+ componentId: "sc-bxc5u0-1"
15593
+ })(["flex:100%;width:100%;"]);
15594
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
15595
+ displayName: "QuestionDialog__AnswersContainer",
15596
+ componentId: "sc-bxc5u0-2"
15597
+ })(["flex:100%;"]);
15598
+ var Answer = /*#__PURE__*/styled.p.withConfig({
15599
+ displayName: "QuestionDialog__Answer",
15600
+ componentId: "sc-bxc5u0-3"
15601
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
15602
+ return props.color;
15603
+ });
15604
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
15605
+ displayName: "QuestionDialog__AnswerSelectedIcon",
15606
+ componentId: "sc-bxc5u0-4"
15607
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
15608
+ return props.color;
15609
+ });
15610
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
15611
+ displayName: "QuestionDialog__AnswerRow",
15612
+ componentId: "sc-bxc5u0-5"
15613
+ })(["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;}"]);
15614
+
15828
15615
  var ProgressBar = function ProgressBar(_ref) {
15829
15616
  var max = _ref.max,
15830
15617
  value = _ref.value,
@@ -15844,7 +15631,7 @@ var ProgressBar = function ProgressBar(_ref) {
15844
15631
  }
15845
15632
  return value * 100 / max;
15846
15633
  };
15847
- return React__default.createElement(Container$k, {
15634
+ return React__default.createElement(Container$i, {
15848
15635
  className: "rpgui-progress",
15849
15636
  "data-value": calculatePercentageValue(max, value) / 100,
15850
15637
  "data-rpguitype": "progress",
@@ -15873,7 +15660,7 @@ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
15873
15660
  displayName: "ProgressBar__TextOverlay",
15874
15661
  componentId: "sc-qa6fzh-1"
15875
15662
  })(["width:100%;position:relative;"]);
15876
- var Container$k = /*#__PURE__*/styled.div.withConfig({
15663
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15877
15664
  displayName: "ProgressBar__Container",
15878
15665
  componentId: "sc-qa6fzh-2"
15879
15666
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -15884,7 +15671,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
15884
15671
  return props.style;
15885
15672
  });
15886
15673
 
15887
- var img$8 = 'data:image/png;base64,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';
15674
+ var img$7 = 'data:image/png;base64,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';
15888
15675
 
15889
15676
  var QuestInfo = function QuestInfo(_ref) {
15890
15677
  var quests = _ref.quests,
@@ -15928,7 +15715,7 @@ var QuestInfo = function QuestInfo(_ref) {
15928
15715
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15929
15716
  className: "drag-handler"
15930
15717
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15931
- src: quests[currentIndex].thumbnail || img$8
15718
+ src: quests[currentIndex].thumbnail || img$7
15932
15719
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15933
15720
  className: "golden"
15934
15721
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -15947,7 +15734,7 @@ var QuestInfo = function QuestInfo(_ref) {
15947
15734
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
15948
15735
  className: "drag-handler"
15949
15736
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
15950
- src: quests[0].thumbnail || img$8
15737
+ src: quests[0].thumbnail || img$7
15951
15738
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
15952
15739
  className: "golden"
15953
15740
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -16212,7 +15999,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16212
15999
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
16213
16000
  _ref$margin = _ref.margin,
16214
16001
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
16215
- return React__default.createElement(Container$l, {
16002
+ return React__default.createElement(Container$j, {
16216
16003
  className: "simple-progress-bar"
16217
16004
  }, React__default.createElement(ProgressBarContainer, {
16218
16005
  margin: margin
@@ -16221,7 +16008,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16221
16008
  bgColor: bgColor
16222
16009
  }))));
16223
16010
  };
16224
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16011
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
16225
16012
  displayName: "SimpleProgressBar__Container",
16226
16013
  componentId: "sc-mbeil3-0"
16227
16014
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16460,7 +16247,7 @@ var SpellInfo = function SpellInfo(_ref) {
16460
16247
  castingType = spell.castingType,
16461
16248
  cooldown = spell.cooldown,
16462
16249
  maxDistanceGrid = spell.maxDistanceGrid;
16463
- return React__default.createElement(Container$m, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$6, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16250
+ return React__default.createElement(Container$k, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$6, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16464
16251
  className: "label"
16465
16252
  }, "Casting Type:"), React__default.createElement("div", {
16466
16253
  className: "value"
@@ -16486,7 +16273,7 @@ var SpellInfo = function SpellInfo(_ref) {
16486
16273
  className: "value"
16487
16274
  }, requiredItem))), React__default.createElement(Description$1, null, description));
16488
16275
  };
16489
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16276
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
16490
16277
  displayName: "SpellInfo__Container",
16491
16278
  componentId: "sc-4hbw3q-0"
16492
16279
  })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:30rem;@media (max-width:580px){width:80vw;}"], uiFonts.size.small, uiColors.lightGray);
@@ -16540,7 +16327,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16540
16327
  var _ref$current;
16541
16328
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16542
16329
  };
16543
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$n, {
16330
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$l, {
16544
16331
  ref: ref,
16545
16332
  onTouchEnd: function onTouchEnd() {
16546
16333
  handleFadeOut();
@@ -16565,7 +16352,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16565
16352
  }, option.text);
16566
16353
  }))));
16567
16354
  };
16568
- var Container$n = /*#__PURE__*/styled.div.withConfig({
16355
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
16569
16356
  displayName: "MobileSpellTooltip__Container",
16570
16357
  componentId: "sc-6p7uvr-0"
16571
16358
  })(["position:absolute;z-index:100;left:0;top:0;width:100vw;height:100vh;background-color:rgba(0 0 0 / 0.5);display:flex;justify-content:center;align-items:center;gap:0.5rem;transition:opacity 0.08s;animation:fadeIn 0.1s forwards;@keyframes fadeIn{0%{opacity:0;}100%{opacity:0.92;}}@keyframes fadeOut{0%{opacity:0.92;}100%{opacity:0;}}&.fadeOut{animation:fadeOut 0.1s forwards;}@media (max-width:580px){flex-direction:column;}"]);
@@ -16606,13 +16393,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
16606
16393
  }
16607
16394
  return;
16608
16395
  }, []);
16609
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$o, {
16396
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$m, {
16610
16397
  ref: ref
16611
16398
  }, React__default.createElement(SpellInfoDisplay, {
16612
16399
  spell: spell
16613
16400
  })));
16614
16401
  };
16615
- var Container$o = /*#__PURE__*/styled.div.withConfig({
16402
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16616
16403
  displayName: "SpellTooltip__Container",
16617
16404
  componentId: "sc-1go0gwg-0"
16618
16405
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -16664,7 +16451,7 @@ var Spell = function Spell(_ref) {
16664
16451
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16665
16452
  return React__default.createElement(SpellInfoWrapper, {
16666
16453
  spell: spell
16667
- }, React__default.createElement(Container$p, {
16454
+ }, React__default.createElement(Container$n, {
16668
16455
  disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16669
16456
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16670
16457
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -16679,7 +16466,7 @@ var Spell = function Spell(_ref) {
16679
16466
  className: "mana"
16680
16467
  }, manaCost))));
16681
16468
  };
16682
- var Container$p = /*#__PURE__*/styled.button.withConfig({
16469
+ var Container$n = /*#__PURE__*/styled.button.withConfig({
16683
16470
  displayName: "Spell__Container",
16684
16471
  componentId: "sc-j96fa2-0"
16685
16472
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;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) {
@@ -16767,7 +16554,7 @@ var Spellbook = function Spellbook(_ref) {
16767
16554
  height: "inherit",
16768
16555
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
16769
16556
  scale: scale
16770
- }, React__default.createElement(Container$q, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
16557
+ }, React__default.createElement(Container$o, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
16771
16558
  setSettingShortcutIndex: setSettingShortcutIndex,
16772
16559
  settingShortcutIndex: settingShortcutIndex,
16773
16560
  shortcuts: shortcuts,
@@ -16801,7 +16588,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
16801
16588
  displayName: "Spellbook__Title",
16802
16589
  componentId: "sc-r02nfq-0"
16803
16590
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
16804
- var Container$q = /*#__PURE__*/styled.div.withConfig({
16591
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16805
16592
  displayName: "Spellbook__Container",
16806
16593
  componentId: "sc-r02nfq-1"
16807
16594
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -16815,16 +16602,16 @@ var TextArea = function TextArea(_ref) {
16815
16602
  return React__default.createElement("textarea", Object.assign({}, props));
16816
16603
  };
16817
16604
 
16818
- var img$9 = 'data:image/gif;base64,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';
16605
+ var img$8 = 'data:image/gif;base64,R0lGODlhTgBNAPMAAAAAALcIL7ObdNGqnf3vnP/wl93Goerfx/Xx3vr6+vn49QAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlAMFm5ybmZV2KHh0naWcepYlo22mradzqUUClK61nJSxIJiMrgm+v664oSKrXqa/yMmmbrkexVXHydK+y2bNULON0dPTppLXGs9UpdzlCaVt4FpsZuTm5ejWwx3iU53v753p89jtnPj49JVRZ2ELgoMHoP0DaE6gF4JjBByciCChEncMucV7yC+DQYoI/y8uzAjvFUddEkGGRHKPZMlN8lCqXGmgpctuJs90XDdzpc2bynJWgSjh40yLP4ECE1pHZs8DB5MqPcd0ClEARlVCjTpy6kadTrWC7KpU4NaDVndeyNqTa4GpSzedBblHbcGUbSmSddlprsokV7HizYtAKsO+hBEYCCw48UTD+RAnZsw2L0aApfy2pTw48eWGczX3ZNzYsdtNAf2KVkm6tOnC2+JqXg2ytWBStiSLzWv7dh5XBHS/Pti7nj9TW2kT7u1bT03dB5SPtuuMnfMkqqXXpl79uhLR2icyj+gdSfjN3FF6Pz89kXU3itnPHO/xfXlm6VXZv3+ShnH+gOUnikAUAFpFny7/XYeGGBOssR8qQjBYQRQPpoOGgHc4WOEeYGAYB4VBBDGEhMTkYCKJKKao4oostujiizDGKOOMF0QAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6BaChoHpMdieec6KqoXqcRQKaq7Khmq4gmI2zurSUth6oZbMJw8Szc74dwF2rxM3Oq27IG7iGzM7Xw6uT0hnKVNbY2NBm3Bfe36Lh6gmq0aa/bGaq6+vt5O/J8cGh9PSibeUqbEGA4MAyfv38sSoTcMJAggQNTkmXsN5Chvg0PIRYcMm8iur/7HlpCGAjR4lIKIIMefFMxm4COEJEaUDlSnEtq5A0eTKJzZvPcta5FVNmRJ8IgV77h5Go0YgEayZV2ozpyJdaiho9APEnVXZCp+zUepLjx69gF3KFuGTsU6Negf5bazSJ27dmp1IVRfdpqRA838YFyRcvRJISAj89e1NV37eIS5I1zLiiY8OHscLEnFevP7oFHkPWvJkzwcohH4s2GjnxZMyol4peLbO161SyloKiTZug7du4dREobLo26Wn6gs9a29vwb+B5ls9s/vS5w+R0Lp+kztH6dVJTVnP3ffzDOTrjR7c43yZ99fIi2FdBYMA9a/ivwIP3jlx/Hv5QYOefQUtxSDGgTgCaJx8paIhxnYH+geGgQEYIGA0a+NFQIYRngJGhGlEEIeIQE8aXw4klpqjiiiy26OKLMMYo44w0XhABACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6n2d2J555BaanpqCcRQKaf6iwp64DqyCYk7G5spq1HqRmusGndL0dv166CcrLunPFG7eLscvU1bGUzxnHVdPV3sqxbtkX21Td39/hbeMV5VOw6PEJsOKivmzAqPLy9GbsYwIQHCijbx+/Yf7sQQmIoOFAc6cMGkS1TqGGLQ0zPlxSUGI8ign/bTHMKJBjR4/pQHr5BwAjyZJKTqJMmaoMS5cvNxqQOdMawpUWtY0kqZNnT2Y/Q4l86bAhEqNH5yWtcnOoxow7I0b1plLpB5xXSUI9qvIAyT1BtVhligDeVqTDzLJlkpbcWrZjUVKUyxaBAZYt777M6xEV376AA/cdrHXr3sUNE4Nd7JasYciR66rFnLGyXr4GDiPWvJnzOYkFRItmmljCZMqe+a1e/bK1a3z5CM+jLXCx7dtzklFTcJlzbdIXcbcRVpw35N/A6TDne8A5W+gT3HXRpdo6SezZlUuHRdt75hriQZkf3UJ7m/XXkYtwX8UvfNbyWYFSlZ8E/f1LgGdMRXoAUtXfKFIUSJWAtvyXBxpihJcggGBE2I4RBK6DxoF9rDHhGWBwSEQPQZQ4hIXz5aAiiiy26OKLMMYo44w01mjjjRdEAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeeQWmp6agnEUCmn+osKeuA6sgmJOxubKatR6kZrrBp3S9Hb9eugnKy7pzxRu3i7HL1NWxlM8Zx1XT1d7KsW7ZF9tU3d/f4W3jFeVTsOjxCbDior5swKjy8vRm7GMCEBwoo28fv2H+7EEJiKDhQHOnDBpEtU6hhi0NMz5cUlBiPIoJ/20xzCiQY0eP6UB6+QcAI8mSSk6iTJmqDEuXLzcakDnTGsKVFrWNJKmTZ09mP0OJfOmwIRKjR+clrXJzqMaMOyNG9aZS6QecV0lCParyAMk9QbVYZYoA3lakw8yyZZKW3Fq2Y1FSlMsWgQGWLe++zOsRFd++gAP3Hax1697FDRODXeyWrGHIkeuqxZyxsl6+Bg4j1ryZ8zmJBUSLZppYwmTKnvmtXv2ytWt8+QjPoy1wse3bc5JRU3CZc23SF3G3EVacN+TfwOkw53vAOVvoE9x10aXaOkns2ZVLh0Xbe+Ya4kGZH91Ce5v115GLcF/FL3zW8lmBUpWfBP39S4BnTEV6AFLV3yhSFEiVgLb8lwcaYoSXIIBgRNiOEQSug8aBfawx4RlgcEhED0GUOISF8+WgIoostujiizDGKOOMNNZo440XRAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZSZjZYmeHoFoKGgekx2J55zoqqhepxFApqrsqGariCYjbO6tJS2HqhlswnDxLNzvh3AXavEzc6rbsgbuIbMztfDq5PSGcpU1tjY0GbcF97fouHqCarRpr9sZqrr6+3k78nxwaH09KJt5SpsQYDgwDJ+/fyxKhNwwkCCBA1OSZew3kKG+DQ8hFhwybyK6v/seWkIYCNHiUgoggx58UzGbgI4QkRpQOVKcS2rkDR5MonNm89y1rkVU2ZEnwiBXvuHkajRiARrJlXajOnIl1qKGj0A8SdVdkKn7NR6kuPHr2AXcoW4ZOxTo16B/ltrNInbt2anUhVF92mpEDzfxgXJFy9EkhICPz17U1Xft4hLkjXMuKJjw4exwsTctbI/ugUeQ9a8mTMCcJ9lijYaOfFkyp6Xil4ts7XrVLKWgqJNm6Dt27h1EShsujbpafqCz1rb2/Bv4HmWz2z+9LnD5HQun6TO0fp1UlNWc/d9/MM5OuNHtzjfJn318iLYV0FgwD1r+K/Ag/eOXH8e/lBg559BS3FIMaBOAJonHyloiHGdgf6B4aBARggYDRr40VAhhGeAkaEaUQQh4hATxpfDiSWmqOKKLLbo4oswxijjjDReEAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZQDBZucm5mVdih4dJ2lnHqWJaNtpq2nc6lFApSutZyUsSCYjK4Jvr+uuKEiq16mv8jJpm65HsVVx8nSvstmzVCzjdHT06aS1xrPVKXc5QmlbeBabGbk5uXo1sMd4lOd7++d6fPY7Zz4+PSVUWdhC4KDB6D9A2hOoBeCYwQcnIggoRJ3DLnFe8gvg0GKCP8vLswI7xVHXRJBhkRyj2TJTfJQqlxpoKXLbibPdFw3c6XNm8pyVoEo4eNMiz+BAhNaR2bPAweTKj3HdApRAEZVQo06cupGnU61guyqVODWg1Z3Xsjak2uBqUs3nQW5R23BlG0pknXZaa7KJFex4s2LQCrDvoQRGAgsOPFEw/kQJ2bMNi9GgKX8tqU8OPHlhnM192Tc2LHbTQH9ilZJurTpwtvial4NsrVgUrYki81r+3YeVwR0vz7Yu54/U1tpE+7tW09N3QeUj7brjJ3zJKql16Ze/boS0donMo/oHUn4zdxRej8/PZF1N4rZzxzv8X15ZulV2b9/koZx/oDlJ4pAFABaRZ8u/12HhhgTrLEfKkIwWEEUD6aDhoB3OFjhHmBgGAeFQQQxhITE5GAiiSimqOKKLLbo4oswxijjjBdEAAA7';
16819
16606
 
16820
- var img$a = 'data:image/gif;base64,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';
16607
+ var img$9 = 'data:image/gif;base64,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';
16821
16608
 
16822
- var img$b = 'data:image/gif;base64,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';
16609
+ var img$a = 'data:image/gif;base64,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';
16823
16610
 
16824
16611
  var DayNightPeriod = function DayNightPeriod(_ref) {
16825
16612
  var _periodOfDaySrcFiles;
16826
16613
  var periodOfDay = _ref.periodOfDay;
16827
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
16614
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16828
16615
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
16829
16616
  src: periodOfDaySrcFiles[periodOfDay]
16830
16617
  }));
@@ -16834,7 +16621,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16834
16621
  componentId: "sc-10t97fw-0"
16835
16622
  })(["width:100%;img{width:67%;}"]);
16836
16623
 
16837
- 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';
16624
+ var img$b = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
16838
16625
 
16839
16626
  var TimeWidget = function TimeWidget(_ref) {
16840
16627
  var onClose = _ref.onClose,
@@ -16852,7 +16639,7 @@ var TimeWidget = function TimeWidget(_ref) {
16852
16639
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16853
16640
  displayName: "TimeWidget__WidgetContainer",
16854
16641
  componentId: "sc-1ja236h-0"
16855
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
16642
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16856
16643
  var Time = /*#__PURE__*/styled.div.withConfig({
16857
16644
  displayName: "TimeWidget__Time",
16858
16645
  componentId: "sc-1ja236h-1"
@@ -17102,17 +16889,230 @@ var Truncate = function Truncate(_ref) {
17102
16889
  var _ref$maxLines = _ref.maxLines,
17103
16890
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
17104
16891
  children = _ref.children;
17105
- return React__default.createElement(Container$r, {
16892
+ return React__default.createElement(Container$p, {
17106
16893
  maxLines: maxLines
17107
16894
  }, children);
17108
16895
  };
17109
- var Container$r = /*#__PURE__*/styled.div.withConfig({
16896
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
17110
16897
  displayName: "Truncate__Container",
17111
16898
  componentId: "sc-6x00qb-0"
17112
16899
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
17113
16900
  return props.maxLines;
17114
16901
  });
17115
16902
 
16903
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
16904
+
16905
+ var chunkString = function chunkString(str, length) {
16906
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
16907
+ };
16908
+
16909
+ var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
16910
+
16911
+ var NPCDialogText = function NPCDialogText(_ref) {
16912
+ var text = _ref.text,
16913
+ onClose = _ref.onClose,
16914
+ onEndStep = _ref.onEndStep,
16915
+ onStartStep = _ref.onStartStep,
16916
+ type = _ref.type;
16917
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
16918
+ function maxCharacters(width) {
16919
+ // Set the font size to 16 pixels
16920
+ var fontSize = 11.2;
16921
+ // Calculate the number of characters that can fit in one line
16922
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
16923
+ // Calculate the number of lines that can fit in the div
16924
+ var linesPerDiv = Math.floor(180 / fontSize);
16925
+ // Calculate the maximum number of characters that can fit in the div
16926
+ var maxCharacters = charactersPerLine * linesPerDiv;
16927
+ // Return the maximum number of characters
16928
+ return Math.round(maxCharacters / 5);
16929
+ }
16930
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
16931
+ var _useState = React.useState(0),
16932
+ chunkIndex = _useState[0],
16933
+ setChunkIndex = _useState[1];
16934
+ var onHandleSpacePress = function onHandleSpacePress(event) {
16935
+ if (event.code === 'Space') {
16936
+ goToNextStep();
16937
+ }
16938
+ };
16939
+ var goToNextStep = function goToNextStep() {
16940
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
16941
+ if (hasNextChunk) {
16942
+ setChunkIndex(function (prev) {
16943
+ return prev + 1;
16944
+ });
16945
+ } else {
16946
+ // if there's no more text chunks, close the dialog
16947
+ onClose();
16948
+ }
16949
+ };
16950
+ React.useEffect(function () {
16951
+ document.addEventListener('keydown', onHandleSpacePress);
16952
+ return function () {
16953
+ return document.removeEventListener('keydown', onHandleSpacePress);
16954
+ };
16955
+ }, [chunkIndex]);
16956
+ var _useState2 = React.useState(false),
16957
+ showGoNextIndicator = _useState2[0],
16958
+ setShowGoNextIndicator = _useState2[1];
16959
+ return React__default.createElement(Container$q, null, React__default.createElement(DynamicText, {
16960
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
16961
+ onFinish: function onFinish() {
16962
+ setShowGoNextIndicator(true);
16963
+ onEndStep && onEndStep();
16964
+ },
16965
+ onStart: function onStart() {
16966
+ setShowGoNextIndicator(false);
16967
+ onStartStep && onStartStep();
16968
+ }
16969
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
16970
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
16971
+ src: IS_MOBILE_OR_TABLET ? img$c : img$6,
16972
+ onPointerDown: function onPointerDown() {
16973
+ goToNextStep();
16974
+ }
16975
+ }));
16976
+ };
16977
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16978
+ displayName: "NPCDialogText__Container",
16979
+ componentId: "sc-1cxkdh9-0"
16980
+ })([""]);
16981
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
16982
+ displayName: "NPCDialogText__PressSpaceIndicator",
16983
+ componentId: "sc-1cxkdh9-1"
16984
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
16985
+ var right = _ref2.right;
16986
+ return right;
16987
+ });
16988
+
16989
+ (function (NPCDialogType) {
16990
+ NPCDialogType["TextOnly"] = "TextOnly";
16991
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
16992
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
16993
+ var NPCDialog = function NPCDialog(_ref) {
16994
+ var text = _ref.text,
16995
+ type = _ref.type,
16996
+ _onClose = _ref.onClose,
16997
+ imagePath = _ref.imagePath,
16998
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
16999
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
17000
+ questions = _ref.questions,
17001
+ answers = _ref.answers;
17002
+ return React__default.createElement(RPGUIContainer, {
17003
+ type: exports.RPGUIContainerTypes.FramedGold,
17004
+ width: isQuestionDialog ? '600px' : '80%',
17005
+ height: '180px'
17006
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
17007
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17008
+ }, React__default.createElement(QuestionDialog, {
17009
+ questions: questions,
17010
+ answers: answers,
17011
+ onClose: function onClose() {
17012
+ if (_onClose) {
17013
+ _onClose();
17014
+ }
17015
+ }
17016
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17017
+ src: imagePath || img$5
17018
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$r, null, React__default.createElement(TextContainer$2, {
17019
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17020
+ }, React__default.createElement(NPCDialogText, {
17021
+ type: type,
17022
+ text: text || 'No text provided.',
17023
+ onClose: function onClose() {
17024
+ if (_onClose) {
17025
+ _onClose();
17026
+ }
17027
+ }
17028
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17029
+ src: imagePath || img$5
17030
+ })))));
17031
+ };
17032
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
17033
+ displayName: "NPCDialog__Container",
17034
+ componentId: "sc-1b4aw74-0"
17035
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17036
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17037
+ displayName: "NPCDialog__TextContainer",
17038
+ componentId: "sc-1b4aw74-1"
17039
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17040
+ var flex = _ref2.flex;
17041
+ return flex;
17042
+ });
17043
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17044
+ displayName: "NPCDialog__ThumbnailContainer",
17045
+ componentId: "sc-1b4aw74-2"
17046
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17047
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17048
+ displayName: "NPCDialog__NPCThumbnail",
17049
+ componentId: "sc-1b4aw74-3"
17050
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
17051
+
17052
+ var HistoryDialog = function HistoryDialog(_ref) {
17053
+ var backgroundImgPath = _ref.backgroundImgPath,
17054
+ fullCoverBackground = _ref.fullCoverBackground,
17055
+ questions = _ref.questions,
17056
+ answers = _ref.answers,
17057
+ text = _ref.text,
17058
+ imagePath = _ref.imagePath,
17059
+ textAndTypeArray = _ref.textAndTypeArray,
17060
+ onClose = _ref.onClose;
17061
+ var _useState = React.useState(0),
17062
+ img = _useState[0],
17063
+ setImage = _useState[1];
17064
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17065
+ if (event.code === 'Space') {
17066
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17067
+ setImage(function (prev) {
17068
+ return prev + 1;
17069
+ });
17070
+ } else {
17071
+ // if there's no more text chunks, close the dialog
17072
+ onClose();
17073
+ }
17074
+ }
17075
+ };
17076
+ React.useEffect(function () {
17077
+ document.addEventListener('keydown', onHandleSpacePress);
17078
+ return function () {
17079
+ return document.removeEventListener('keydown', onHandleSpacePress);
17080
+ };
17081
+ }, [backgroundImgPath]);
17082
+ return React__default.createElement(BackgroundContainer, {
17083
+ imgPath: backgroundImgPath[img],
17084
+ fullImg: fullCoverBackground
17085
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
17086
+ textAndTypeArray: textAndTypeArray,
17087
+ onClose: onClose
17088
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
17089
+ questions: questions,
17090
+ answers: answers,
17091
+ onClose: onClose
17092
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
17093
+ text: text,
17094
+ imagePath: imagePath,
17095
+ onClose: onClose,
17096
+ type: exports.NPCDialogType.TextAndThumbnail
17097
+ }) : React__default.createElement(NPCDialog, {
17098
+ text: text,
17099
+ onClose: onClose,
17100
+ type: exports.NPCDialogType.TextOnly
17101
+ })));
17102
+ };
17103
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17104
+ displayName: "HistoryDialog__BackgroundContainer",
17105
+ componentId: "sc-u6oe75-0"
17106
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17107
+ return props.imgPath;
17108
+ }, function (props) {
17109
+ return props.imgPath ? 'cover' : 'auto';
17110
+ });
17111
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17112
+ displayName: "HistoryDialog__DialogContainer",
17113
+ componentId: "sc-u6oe75-1"
17114
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
17115
+
17116
17116
  exports.Button = Button;
17117
17117
  exports.CharacterSelection = CharacterSelection;
17118
17118
  exports.Chat = Chat;