@rpg-engine/long-bow 0.3.59 → 0.3.61

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 (142) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/long-bow.cjs.development.js +948 -922
  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 +829 -803
  8. package/dist/long-bow.esm.js.map +1 -1
  9. package/package.json +100 -100
  10. package/src/components/Abstractions/SlotsContainer.tsx +45 -45
  11. package/src/components/Arrow/SelectArrow.tsx +69 -69
  12. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  13. package/src/components/Arrow/img/arrow01-left.png +0 -0
  14. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  15. package/src/components/Arrow/img/arrow01-right.png +0 -0
  16. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  17. package/src/components/Arrow/img/arrow02-left.png +0 -0
  18. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  19. package/src/components/Arrow/img/arrow02-right.png +0 -0
  20. package/src/components/Button.tsx +40 -40
  21. package/src/components/Character/CharacterSelection.tsx +96 -96
  22. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  23. package/src/components/Chat/Chat.tsx +195 -195
  24. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  25. package/src/components/CheckButton.tsx +65 -65
  26. package/src/components/CircularController/CircularController.tsx +248 -245
  27. package/src/components/CraftBook/CraftBook.tsx +227 -224
  28. package/src/components/CraftBook/MockItems.ts +46 -46
  29. package/src/components/DraggableContainer.tsx +153 -153
  30. package/src/components/Dropdown.tsx +90 -90
  31. package/src/components/DropdownSelectorContainer.tsx +42 -42
  32. package/src/components/Equipment/EquipmentSet.tsx +190 -190
  33. package/src/components/HistoryDialog.tsx +104 -104
  34. package/src/components/Input.tsx +15 -15
  35. package/src/components/Item/Cards/ItemTooltip.tsx +33 -33
  36. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  37. package/src/components/Item/Inventory/ItemContainer.tsx +210 -210
  38. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  39. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  40. package/src/components/Item/Inventory/ItemSlot.tsx +501 -501
  41. package/src/components/Item/Inventory/itemContainerHelper.ts +156 -156
  42. package/src/components/ListMenu.tsx +63 -63
  43. package/src/components/Multitab/Tab.tsx +66 -66
  44. package/src/components/Multitab/TabBody.tsx +13 -13
  45. package/src/components/Multitab/TabsContainer.tsx +97 -97
  46. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  47. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  48. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  49. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  50. package/src/components/ProgressBar.tsx +92 -92
  51. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  52. package/src/components/QuestInfo/QuestInfo.tsx +230 -230
  53. package/src/components/QuestList.tsx +129 -129
  54. package/src/components/RPGUIContainer.tsx +47 -47
  55. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  56. package/src/components/RPGUIRoot.tsx +14 -14
  57. package/src/components/RadioButton.tsx +53 -53
  58. package/src/components/RadioInput/RadioButton.tsx +96 -96
  59. package/src/components/RadioInput/RadioInput.tsx +102 -102
  60. package/src/components/RadioInput/instruments.ts +15 -15
  61. package/src/components/RangeSlider.tsx +78 -78
  62. package/src/components/RelativeListMenu.tsx +83 -83
  63. package/src/components/ScrollList.tsx +79 -79
  64. package/src/components/Shortcuts/Shortcuts.tsx +151 -129
  65. package/src/components/Shortcuts/ShortcutsSetter.tsx +132 -132
  66. package/src/components/Shortcuts/SingleShortcut.ts +62 -61
  67. package/src/components/SimpleProgressBar.tsx +62 -62
  68. package/src/components/SkillProgressBar.tsx +133 -133
  69. package/src/components/SkillsContainer.tsx +198 -198
  70. package/src/components/Spellbook/Spell.tsx +201 -201
  71. package/src/components/Spellbook/Spellbook.tsx +150 -150
  72. package/src/components/Spellbook/constants.ts +8 -8
  73. package/src/components/Spellbook/mockSpells.ts +60 -60
  74. package/src/components/StaticBook/StaticBook.tsx +103 -103
  75. package/src/components/TextArea.tsx +11 -11
  76. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  77. package/src/components/TimeWidget/TimeWidget.tsx +63 -63
  78. package/src/components/TradingMenu/TradingItemRow.tsx +193 -193
  79. package/src/components/TradingMenu/TradingMenu.tsx +203 -203
  80. package/src/components/TradingMenu/items.mock.ts +96 -96
  81. package/src/components/Truncate.tsx +25 -25
  82. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  83. package/src/components/shared/Column.tsx +16 -16
  84. package/src/components/shared/Ellipsis.tsx +65 -65
  85. package/src/components/shared/SpriteFromAtlas.tsx +102 -102
  86. package/src/components/typography/DynamicText.tsx +49 -49
  87. package/src/constants/uiColors.ts +20 -20
  88. package/src/constants/uiDevices.ts +3 -3
  89. package/src/constants/uiFonts.ts +12 -12
  90. package/src/hooks/useEventListener.ts +21 -21
  91. package/src/hooks/useOutsideAlerter.ts +25 -25
  92. package/src/index.tsx +40 -40
  93. package/src/libs/StringHelpers.ts +3 -3
  94. package/src/mocks/atlas/entities/entities.json +20215 -20215
  95. package/src/mocks/atlas/icons/icons.json +735 -735
  96. package/src/mocks/atlas/items/items.json +12086 -12086
  97. package/src/mocks/equipmentSet.mocks.ts +393 -393
  98. package/src/mocks/itemContainer.mocks.ts +562 -562
  99. package/src/mocks/skills.mocks.ts +128 -128
  100. package/src/stories/Arrow.stories.tsx +26 -26
  101. package/src/stories/Button.stories.tsx +36 -36
  102. package/src/stories/CharacterSelection.stories.tsx +45 -45
  103. package/src/stories/CharacterStatus.stories.tsx +29 -29
  104. package/src/stories/Chat.stories.tsx +187 -187
  105. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  106. package/src/stories/CheckButton.stories.tsx +48 -48
  107. package/src/stories/CircullarController.stories.tsx +37 -37
  108. package/src/stories/CraftBook.stories.tsx +40 -40
  109. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  110. package/src/stories/DraggableContainer.stories.tsx +28 -28
  111. package/src/stories/Dropdown.stories.tsx +46 -46
  112. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  113. package/src/stories/EquipmentSet.stories.tsx +65 -65
  114. package/src/stories/HistoryDialog.stories.tsx +61 -61
  115. package/src/stories/ItemContainer.stories.tsx +198 -198
  116. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  117. package/src/stories/ItemSelector.stories.tsx +77 -77
  118. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  119. package/src/stories/ListMenu.stories.tsx +56 -56
  120. package/src/stories/Multitab.stories.tsx +51 -51
  121. package/src/stories/NPCDialog.stories.tsx +130 -130
  122. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  123. package/src/stories/ProgressBar.stories.tsx +23 -23
  124. package/src/stories/PropertySelect.stories.tsx +40 -40
  125. package/src/stories/QuestInfo.stories.tsx +107 -107
  126. package/src/stories/QuestList.stories.tsx +82 -82
  127. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  128. package/src/stories/RadioButton.stories.tsx +49 -49
  129. package/src/stories/RadioInput.stories.tsx +34 -34
  130. package/src/stories/RangeSlider.stories.tsx +64 -64
  131. package/src/stories/ScrollList.stories.tsx +85 -85
  132. package/src/stories/Shortcuts.stories.tsx +39 -39
  133. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  134. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  135. package/src/stories/SkillsContainer.stories.tsx +35 -35
  136. package/src/stories/Spellbook.stories.tsx +104 -104
  137. package/src/stories/StaticBook.stories.tsx +32 -32
  138. package/src/stories/Text.stories.tsx +42 -42
  139. package/src/stories/TimeWidget.stories.tsx +27 -27
  140. package/src/stories/TradingMenu.stories.tsx +45 -45
  141. package/src/types/eventTypes.ts +4 -4
  142. package/src/types/index.d.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  import React, { Component, useState, useEffect, useRef, useMemo, Fragment } from 'react';
2
2
  import styled from 'styled-components';
3
- import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemSubType, ItemContainerType, ItemType, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSlotType, getSPForLevel, PeriodOfDay, isMobileOrTablet } from '@rpg-engine/shared';
3
+ import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemSubType, ItemContainerType, ItemType, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSlotType, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
5
5
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
6
6
  import { RxPaperPlane } from 'react-icons/rx';
@@ -33052,7 +33052,7 @@ var CheckButton = function CheckButton(_ref) {
33052
33052
  var SingleShortcut = /*#__PURE__*/styled.button.withConfig({
33053
33053
  displayName: "SingleShortcut",
33054
33054
  componentId: "sc-vz5ev8-0"
33055
- })(["width:3rem;height:3rem;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;position:relative;span{pointer-events:none;}.mana{position:absolute;top:-5px;right:0;font-size:0.65rem;color:", ";}.qty{position:absolute;top:-5px;right:0;font-size:0.65rem;}.magicWords{margin-top:4px;}.keyboard{position:absolute;bottom:-5px;left:0;font-size:0.65rem;color:", ";}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.darkGray, uiColors.gray);
33055
+ })(["width:3rem;height:3rem;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;position:relative;span{pointer-events:none;}.mana{position:absolute;top:-5px;right:0;font-size:0.65rem;color:", ";}.qty{position:absolute;top:-5px;right:0;font-size:0.65rem;}.magicWords{margin-top:4px;}.keyboard{position:absolute;bottom:-5px;left:0;font-size:0.65rem;color:", ";}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";border-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.darkGray, uiColors.gray, uiColors.yellow);
33056
33056
 
33057
33057
  var CircularController = function CircularController(_ref) {
33058
33058
  var onActionClick = _ref.onActionClick,
@@ -33114,6 +33114,9 @@ var CircularController = function CircularController(_ref) {
33114
33114
  imgScale: 1.4,
33115
33115
  imgStyle: {
33116
33116
  left: '4px'
33117
+ },
33118
+ containerStyle: {
33119
+ pointerEvents: 'none'
33117
33120
  }
33118
33121
  }), React.createElement("span", {
33119
33122
  className: "qty"
@@ -33151,7 +33154,7 @@ var CircularController = function CircularController(_ref) {
33151
33154
  var Button$2 = /*#__PURE__*/styled.button.withConfig({
33152
33155
  displayName: "CircularController__Button",
33153
33156
  componentId: "sc-1fewf3h-0"
33154
- })(["width:4.3rem;height:4.3rem;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;position:relative;transition:background-color 0.1s;margin-top:-3rem;&.active{background-color:", ";}.sword{transform:rotate(-45deg);height:2.5rem;width:1.9rem;pointer-events:none;}"], uiColors.lightGray, uiColors.darkGray, uiColors.gray);
33157
+ })(["width:4.3rem;height:4.3rem;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;position:relative;transition:all 0.1s;margin-top:-3rem;&.active{background-color:", ";border-color:", ";}.sword{transform:rotate(-45deg);height:2.5rem;width:1.9rem;pointer-events:none;}"], uiColors.lightGray, uiColors.darkGray, uiColors.gray, uiColors.yellow);
33155
33158
  var CancelButton = /*#__PURE__*/styled(Button$2).withConfig({
33156
33159
  displayName: "CircularController__CancelButton",
33157
33160
  componentId: "sc-1fewf3h-1"
@@ -33167,7 +33170,7 @@ var ShortcutsContainer = /*#__PURE__*/styled.div.withConfig({
33167
33170
  var StyledShortcut = /*#__PURE__*/styled(SingleShortcut).withConfig({
33168
33171
  displayName: "CircularController__StyledShortcut",
33169
33172
  componentId: "sc-1fewf3h-4"
33170
- })(["width:2.5rem;height:2.5rem;transition:background-color 0.1s;.mana,.qty{font-size:0.5rem;}&:hover,&:focus,&:active{background-color:", ";}&.active{background-color:", ";}"], uiColors.lightGray, uiColors.gray);
33173
+ })(["width:2.5rem;height:2.5rem;transition:all 0.1s;.mana,.qty{font-size:0.5rem;}&:hover,&:focus,&:active{background-color:", ";}&.active{background-color:", ";border-color:", ";}"], uiColors.lightGray, uiColors.gray, uiColors.yellow);
33171
33174
 
33172
33175
  function useOutsideClick(ref, id) {
33173
33176
  useEffect(function () {
@@ -33451,6 +33454,12 @@ var CraftBook = function CraftBook(_ref) {
33451
33454
  onPointerDown: function onPointerDown() {
33452
33455
  handleClick(option.key);
33453
33456
  },
33457
+ onTouchEnd: function onTouchEnd() {
33458
+ setIsShown({
33459
+ show: true,
33460
+ index: index
33461
+ });
33462
+ },
33454
33463
  style: {
33455
33464
  display: 'flex',
33456
33465
  alignItems: 'center'
@@ -34131,262 +34140,802 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34131
34140
  componentId: "sc-1wuddg2-1"
34132
34141
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34133
34142
 
34134
- var SlotsContainer = function SlotsContainer(_ref) {
34135
- var children = _ref.children,
34136
- title = _ref.title,
34137
- onClose = _ref.onClose,
34138
- _onPositionChange = _ref.onPositionChange,
34139
- onOutsideClick = _ref.onOutsideClick,
34140
- initialPosition = _ref.initialPosition;
34141
- return React.createElement(DraggableContainer, {
34142
- title: title,
34143
- type: RPGUIContainerTypes.Framed,
34144
- onCloseButton: function onCloseButton() {
34145
- if (onClose) {
34146
- onClose();
34143
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
34144
+
34145
+ var chunkString = function chunkString(str, length) {
34146
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
34147
+ };
34148
+
34149
+ var DynamicText = function DynamicText(_ref) {
34150
+ var text = _ref.text,
34151
+ onFinish = _ref.onFinish,
34152
+ onStart = _ref.onStart;
34153
+ var _useState = useState(''),
34154
+ textState = _useState[0],
34155
+ setTextState = _useState[1];
34156
+ useEffect(function () {
34157
+ var i = 0;
34158
+ var interval = setInterval(function () {
34159
+ // on every interval, show one more character
34160
+ if (i === 0) {
34161
+ if (onStart) {
34162
+ onStart();
34163
+ }
34147
34164
  }
34148
- },
34149
- width: "400px",
34150
- cancelDrag: ".item-container-body, #shortcuts_list",
34151
- onPositionChange: function onPositionChange(_ref2) {
34152
- var x = _ref2.x,
34153
- y = _ref2.y;
34154
- if (_onPositionChange) {
34155
- _onPositionChange({
34156
- x: x,
34157
- y: y
34158
- });
34165
+ if (i < text.length) {
34166
+ setTextState(text.substring(0, i + 1));
34167
+ i++;
34168
+ } else {
34169
+ clearInterval(interval);
34170
+ if (onFinish) {
34171
+ onFinish();
34172
+ }
34159
34173
  }
34160
- },
34161
- onOutsideClick: onOutsideClick,
34162
- initialPosition: initialPosition
34163
- }, children);
34174
+ }, 50);
34175
+ return function () {
34176
+ clearInterval(interval);
34177
+ };
34178
+ }, [text]);
34179
+ return React.createElement(TextContainer, null, textState);
34164
34180
  };
34181
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
34182
+ displayName: "DynamicText__TextContainer",
34183
+ componentId: "sc-1ggl9nd-0"
34184
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34165
34185
 
34166
- var RangeSliderType;
34167
- (function (RangeSliderType) {
34168
- RangeSliderType["Slider"] = "rpgui-slider";
34169
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
34170
- })(RangeSliderType || (RangeSliderType = {}));
34171
- var RangeSlider = function RangeSlider(_ref) {
34172
- var type = _ref.type,
34173
- valueMin = _ref.valueMin,
34174
- valueMax = _ref.valueMax,
34175
- width = _ref.width,
34176
- _onChange = _ref.onChange,
34177
- value = _ref.value;
34178
- var sliderId = v4();
34179
- var containerRef = useRef(null);
34186
+ var img$6 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
34187
+
34188
+ var img$7 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
34189
+
34190
+ var NPCDialogText = function NPCDialogText(_ref) {
34191
+ var text = _ref.text,
34192
+ onClose = _ref.onClose,
34193
+ onEndStep = _ref.onEndStep,
34194
+ onStartStep = _ref.onStartStep,
34195
+ type = _ref.type;
34196
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
34197
+ function maxCharacters(width) {
34198
+ // Set the font size to 16 pixels
34199
+ var fontSize = 11.2;
34200
+ // Calculate the number of characters that can fit in one line
34201
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
34202
+ // Calculate the number of lines that can fit in the div
34203
+ var linesPerDiv = Math.floor(180 / fontSize);
34204
+ // Calculate the maximum number of characters that can fit in the div
34205
+ var maxCharacters = charactersPerLine * linesPerDiv;
34206
+ // Return the maximum number of characters
34207
+ return Math.round(maxCharacters / 5);
34208
+ }
34209
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
34180
34210
  var _useState = useState(0),
34181
- left = _useState[0],
34182
- setLeft = _useState[1];
34211
+ chunkIndex = _useState[0],
34212
+ setChunkIndex = _useState[1];
34213
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34214
+ if (event.code === 'Space') {
34215
+ goToNextStep();
34216
+ }
34217
+ };
34218
+ var goToNextStep = function goToNextStep() {
34219
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
34220
+ if (hasNextChunk) {
34221
+ setChunkIndex(function (prev) {
34222
+ return prev + 1;
34223
+ });
34224
+ } else {
34225
+ // if there's no more text chunks, close the dialog
34226
+ onClose();
34227
+ }
34228
+ };
34183
34229
  useEffect(function () {
34184
- var _containerRef$current;
34185
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
34186
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
34187
- }, [value, valueMin, valueMax]);
34188
- var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
34189
- return React.createElement("div", {
34190
- style: {
34191
- width: width,
34192
- position: 'relative'
34230
+ document.addEventListener('keydown', onHandleSpacePress);
34231
+ return function () {
34232
+ return document.removeEventListener('keydown', onHandleSpacePress);
34233
+ };
34234
+ }, [chunkIndex]);
34235
+ var _useState2 = useState(false),
34236
+ showGoNextIndicator = _useState2[0],
34237
+ setShowGoNextIndicator = _useState2[1];
34238
+ return React.createElement(Container$b, null, React.createElement(DynamicText, {
34239
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
34240
+ onFinish: function onFinish() {
34241
+ setShowGoNextIndicator(true);
34242
+ onEndStep && onEndStep();
34193
34243
  },
34194
- className: "rpgui-slider-container " + typeClass,
34195
- id: "rpgui-slider-" + sliderId,
34196
- ref: containerRef
34197
- }, React.createElement("div", {
34198
- style: {
34199
- pointerEvents: 'none'
34244
+ onStart: function onStart() {
34245
+ setShowGoNextIndicator(false);
34246
+ onStartStep && onStartStep();
34200
34247
  }
34201
- }, React.createElement("div", {
34202
- className: "rpgui-slider-track " + typeClass
34203
- }), React.createElement("div", {
34204
- className: "rpgui-slider-left-edge " + typeClass
34205
- }), React.createElement("div", {
34206
- className: "rpgui-slider-right-edge " + typeClass
34207
- }), React.createElement("div", {
34208
- className: "rpgui-slider-thumb " + typeClass,
34209
- style: {
34210
- left: left
34248
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34249
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
34250
+ src: IS_MOBILE_OR_TABLET ? img$6 : img$7,
34251
+ onPointerDown: function onPointerDown() {
34252
+ goToNextStep();
34211
34253
  }
34212
- })), React.createElement(Input$1, {
34213
- type: "range",
34214
- style: {
34215
- width: width
34216
- },
34217
- min: valueMin,
34218
- max: valueMax,
34219
- onChange: function onChange(e) {
34220
- return _onChange(Number(e.target.value));
34221
- },
34222
- value: value,
34223
- className: "rpgui-cursor-point"
34224
34254
  }));
34225
34255
  };
34226
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
34227
- displayName: "RangeSlider__Input",
34228
- componentId: "sc-v8mte9-0"
34229
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
34256
+ var Container$b = /*#__PURE__*/styled.div.withConfig({
34257
+ displayName: "NPCDialogText__Container",
34258
+ componentId: "sc-1cxkdh9-0"
34259
+ })([""]);
34260
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34261
+ displayName: "NPCDialogText__PressSpaceIndicator",
34262
+ componentId: "sc-1cxkdh9-1"
34263
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
34264
+ var right = _ref2.right;
34265
+ return right;
34266
+ });
34230
34267
 
34231
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
34232
- var quantity = _ref.quantity,
34233
- onConfirm = _ref.onConfirm,
34268
+ //@ts-ignore
34269
+ var useEventListener = function useEventListener(type, handler, el) {
34270
+ if (el === void 0) {
34271
+ el = window;
34272
+ }
34273
+ var savedHandler = React.useRef();
34274
+ React.useEffect(function () {
34275
+ savedHandler.current = handler;
34276
+ }, [handler]);
34277
+ React.useEffect(function () {
34278
+ //@ts-ignore
34279
+ var listener = function listener(e) {
34280
+ return savedHandler.current(e);
34281
+ };
34282
+ el.addEventListener(type, listener);
34283
+ return function () {
34284
+ el.removeEventListener(type, listener);
34285
+ };
34286
+ }, [type, el]);
34287
+ };
34288
+
34289
+ var QuestionDialog = function QuestionDialog(_ref) {
34290
+ var questions = _ref.questions,
34291
+ answers = _ref.answers,
34234
34292
  onClose = _ref.onClose;
34235
- var _useState = useState(quantity),
34236
- value = _useState[0],
34237
- setValue = _useState[1];
34238
- var inputRef = useRef(null);
34293
+ var _useState = useState(questions[0]),
34294
+ currentQuestion = _useState[0],
34295
+ setCurrentQuestion = _useState[1];
34296
+ var _useState2 = useState(false),
34297
+ canShowAnswers = _useState2[0],
34298
+ setCanShowAnswers = _useState2[1];
34299
+ var onGetFirstAnswer = function onGetFirstAnswer() {
34300
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34301
+ return null;
34302
+ }
34303
+ var firstAnswerId = currentQuestion.answerIds[0];
34304
+ return answers.find(function (answer) {
34305
+ return answer.id === firstAnswerId;
34306
+ });
34307
+ };
34308
+ var _useState3 = useState(onGetFirstAnswer()),
34309
+ currentAnswer = _useState3[0],
34310
+ setCurrentAnswer = _useState3[1];
34239
34311
  useEffect(function () {
34240
- if (inputRef.current) {
34241
- inputRef.current.focus();
34242
- inputRef.current.select();
34243
- var closeSelector = function closeSelector(e) {
34244
- if (e.key === 'Escape') {
34312
+ setCurrentAnswer(onGetFirstAnswer());
34313
+ }, [currentQuestion]);
34314
+ var onGetAnswers = function onGetAnswers(answerIds) {
34315
+ return answerIds.map(function (answerId) {
34316
+ return answers.find(function (answer) {
34317
+ return answer.id === answerId;
34318
+ });
34319
+ });
34320
+ };
34321
+ var onKeyPress = function onKeyPress(e) {
34322
+ switch (e.key) {
34323
+ case 'ArrowDown':
34324
+ // select next answer, if any.
34325
+ // if no next answer, select first answer
34326
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34327
+ // (answer) => answer?.id === currentAnswer!.id + 1
34328
+ // );
34329
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34330
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34331
+ });
34332
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34333
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34334
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
34335
+ });
34336
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34337
+ break;
34338
+ case 'ArrowUp':
34339
+ // select previous answer, if any.
34340
+ // if no previous answer, select last answer
34341
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34342
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34343
+ });
34344
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34345
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34346
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
34347
+ });
34348
+ if (previousAnswer) {
34349
+ setCurrentAnswer(previousAnswer);
34350
+ } else {
34351
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34352
+ }
34353
+ break;
34354
+ case 'Enter':
34355
+ setCanShowAnswers(false);
34356
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34245
34357
  onClose();
34358
+ return;
34359
+ } else {
34360
+ setCurrentQuestion(questions.find(function (question) {
34361
+ return question.id === currentAnswer.nextQuestionId;
34362
+ }));
34246
34363
  }
34247
- };
34248
- document.addEventListener('keydown', closeSelector);
34249
- return function () {
34250
- document.removeEventListener('keydown', closeSelector);
34251
- };
34364
+ break;
34252
34365
  }
34253
- return function () {};
34254
- }, []);
34255
- return React.createElement(StyledContainer, {
34256
- type: RPGUIContainerTypes.Framed,
34257
- width: "25rem"
34258
- }, React.createElement(CloseButton$2, {
34259
- className: "container-close",
34260
- onPointerDown: onClose
34261
- }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
34262
- style: {
34263
- width: '100%'
34264
- },
34265
- onSubmit: function onSubmit(e) {
34266
- e.preventDefault();
34267
- var numberValue = Number(value);
34268
- if (Number.isNaN(numberValue)) {
34269
- return;
34270
- }
34271
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
34272
- },
34273
- noValidate: true
34274
- }, React.createElement(StyledInput, {
34275
- innerRef: inputRef,
34276
- placeholder: "Enter quantity",
34277
- type: "number",
34278
- min: 1,
34279
- max: quantity,
34280
- value: value,
34281
- onChange: function onChange(e) {
34282
- if (Number(e.target.value) >= quantity) {
34283
- setValue(quantity);
34284
- return;
34366
+ };
34367
+ useEventListener('keydown', onKeyPress);
34368
+ var onAnswerClick = function onAnswerClick(answer) {
34369
+ setCanShowAnswers(false);
34370
+ if (answer.nextQuestionId) {
34371
+ // if there is a next question, go to it
34372
+ setCurrentQuestion(questions.find(function (question) {
34373
+ return question.id === answer.nextQuestionId;
34374
+ }));
34375
+ } else {
34376
+ // else, finish dialog!
34377
+ onClose();
34378
+ }
34379
+ };
34380
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34381
+ var answerIds = currentQuestion.answerIds;
34382
+ if (!answerIds) {
34383
+ return null;
34384
+ }
34385
+ var answers = onGetAnswers(answerIds);
34386
+ if (!answers) {
34387
+ return null;
34388
+ }
34389
+ return answers.map(function (answer) {
34390
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34391
+ var selectedColor = isSelected ? 'yellow' : 'white';
34392
+ if (answer) {
34393
+ return React.createElement(AnswerRow, {
34394
+ key: "answer_" + answer.id
34395
+ }, React.createElement(AnswerSelectedIcon, {
34396
+ color: selectedColor
34397
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
34398
+ key: answer.id,
34399
+ onPointerDown: function onPointerDown() {
34400
+ return onAnswerClick(answer);
34401
+ },
34402
+ color: selectedColor
34403
+ }, answer.text));
34285
34404
  }
34286
- setValue(e.target.value);
34405
+ return null;
34406
+ });
34407
+ };
34408
+ return React.createElement(Container$c, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
34409
+ text: currentQuestion.text,
34410
+ onStart: function onStart() {
34411
+ return setCanShowAnswers(false);
34287
34412
  },
34288
- onBlur: function onBlur(e) {
34289
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
34290
- setValue(newValue);
34413
+ onFinish: function onFinish() {
34414
+ return setCanShowAnswers(true);
34291
34415
  }
34292
- }), React.createElement(RangeSlider, {
34293
- type: RangeSliderType.Slider,
34294
- valueMin: 1,
34295
- valueMax: quantity,
34296
- width: "100%",
34297
- onChange: setValue,
34298
- value: value
34299
- }), React.createElement(Button, {
34300
- buttonType: ButtonTypes.RPGUIButton,
34301
- type: "submit"
34302
- }, "Confirm")));
34416
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34303
34417
  };
34304
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
34305
- displayName: "ItemQuantitySelector__StyledContainer",
34306
- componentId: "sc-yfdtpn-0"
34307
- })(["display:flex;flex-direction:column;align-items:center;"]);
34308
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
34309
- displayName: "ItemQuantitySelector__StyledForm",
34310
- componentId: "sc-yfdtpn-1"
34311
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
34312
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
34313
- displayName: "ItemQuantitySelector__StyledInput",
34314
- componentId: "sc-yfdtpn-2"
34315
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
34316
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
34317
- displayName: "ItemQuantitySelector__CloseButton",
34318
- componentId: "sc-yfdtpn-3"
34319
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
34418
+ var Container$c = /*#__PURE__*/styled.div.withConfig({
34419
+ displayName: "QuestionDialog__Container",
34420
+ componentId: "sc-bxc5u0-0"
34421
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34422
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34423
+ displayName: "QuestionDialog__QuestionContainer",
34424
+ componentId: "sc-bxc5u0-1"
34425
+ })(["flex:100%;width:100%;"]);
34426
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34427
+ displayName: "QuestionDialog__AnswersContainer",
34428
+ componentId: "sc-bxc5u0-2"
34429
+ })(["flex:100%;"]);
34430
+ var Answer = /*#__PURE__*/styled.p.withConfig({
34431
+ displayName: "QuestionDialog__Answer",
34432
+ componentId: "sc-bxc5u0-3"
34433
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34434
+ return props.color;
34435
+ });
34436
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34437
+ displayName: "QuestionDialog__AnswerSelectedIcon",
34438
+ componentId: "sc-bxc5u0-4"
34439
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
34440
+ return props.color;
34441
+ });
34442
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34443
+ displayName: "QuestionDialog__AnswerRow",
34444
+ componentId: "sc-bxc5u0-5"
34445
+ })(["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;}"]);
34320
34446
 
34321
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
34322
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
34323
- settingShortcutIndex = _ref.settingShortcutIndex,
34324
- shortcuts = _ref.shortcuts,
34325
- removeShortcut = _ref.removeShortcut,
34326
- atlasJSON = _ref.atlasJSON,
34327
- atlasIMG = _ref.atlasIMG;
34328
- var getContent = function getContent(index) {
34329
- var _shortcuts$index, _shortcuts$index3;
34330
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
34331
- var _shortcuts$index2;
34332
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
34333
- if (!_payload) return null;
34334
- return React.createElement(SpriteFromAtlas, {
34335
- atlasIMG: atlasIMG,
34336
- atlasJSON: atlasJSON,
34337
- spriteKey: getItemTextureKeyPath({
34338
- key: _payload.texturePath,
34339
- texturePath: _payload.texturePath,
34340
- stackQty: _payload.stackQty || 1
34341
- }, atlasJSON),
34342
- width: 32,
34343
- height: 32,
34344
- imgScale: 1.6,
34345
- imgStyle: {
34346
- left: '5px'
34347
- }
34348
- });
34349
- }
34350
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
34351
- return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
34352
- return word[0];
34353
- }));
34354
- };
34355
- return React.createElement(Container$b, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
34356
- id: "shortcuts_list"
34357
- }, Array.from({
34358
- length: 6
34359
- }).map(function (_, i) {
34360
- return React.createElement(Shortcut, {
34361
- key: i,
34362
- onPointerDown: function onPointerDown() {
34363
- removeShortcut(i);
34364
- if (!shortcuts[i] || shortcuts[i].type === ShortcutType.None) setSettingShortcutIndex(i);
34365
- },
34366
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
34367
- isBeingSet: settingShortcutIndex === i
34368
- }, getContent(i));
34369
- })));
34370
- };
34371
- var Container$b = /*#__PURE__*/styled.div.withConfig({
34372
- displayName: "ShortcutsSetter__Container",
34373
- componentId: "sc-xuouuf-0"
34374
- })(["p{margin:0;margin-left:0.5rem;}"]);
34375
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
34376
- displayName: "ShortcutsSetter__Shortcut",
34377
- componentId: "sc-xuouuf-1"
34378
- })(["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) {
34379
- var isBeingSet = _ref2.isBeingSet;
34380
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
34381
- }, uiColors.darkGray, uiColors.gray);
34382
- var List = /*#__PURE__*/styled.div.withConfig({
34383
- displayName: "ShortcutsSetter__List",
34384
- componentId: "sc-xuouuf-2"
34385
- })(["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;"]);
34447
+ var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34386
34448
 
34387
- var ItemContainer$1 = function ItemContainer(_ref) {
34388
- var itemContainer = _ref.itemContainer,
34389
- onClose = _ref.onClose,
34449
+ var NPCDialogType;
34450
+ (function (NPCDialogType) {
34451
+ NPCDialogType["TextOnly"] = "TextOnly";
34452
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
34453
+ })(NPCDialogType || (NPCDialogType = {}));
34454
+ var NPCDialog = function NPCDialog(_ref) {
34455
+ var text = _ref.text,
34456
+ type = _ref.type,
34457
+ _onClose = _ref.onClose,
34458
+ imagePath = _ref.imagePath,
34459
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
34460
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
34461
+ questions = _ref.questions,
34462
+ answers = _ref.answers;
34463
+ return React.createElement(RPGUIContainer, {
34464
+ type: RPGUIContainerTypes.FramedGold,
34465
+ width: isQuestionDialog ? '600px' : '80%',
34466
+ height: '180px'
34467
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
34468
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34469
+ }, React.createElement(QuestionDialog, {
34470
+ questions: questions,
34471
+ answers: answers,
34472
+ onClose: function onClose() {
34473
+ if (_onClose) {
34474
+ _onClose();
34475
+ }
34476
+ }
34477
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34478
+ src: imagePath || img$8
34479
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$d, null, React.createElement(TextContainer$1, {
34480
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34481
+ }, React.createElement(NPCDialogText, {
34482
+ type: type,
34483
+ text: text || 'No text provided.',
34484
+ onClose: function onClose() {
34485
+ if (_onClose) {
34486
+ _onClose();
34487
+ }
34488
+ }
34489
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34490
+ src: imagePath || img$8
34491
+ })))));
34492
+ };
34493
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34494
+ displayName: "NPCDialog__Container",
34495
+ componentId: "sc-1b4aw74-0"
34496
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34497
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
34498
+ displayName: "NPCDialog__TextContainer",
34499
+ componentId: "sc-1b4aw74-1"
34500
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34501
+ var flex = _ref2.flex;
34502
+ return flex;
34503
+ });
34504
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34505
+ displayName: "NPCDialog__ThumbnailContainer",
34506
+ componentId: "sc-1b4aw74-2"
34507
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34508
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34509
+ displayName: "NPCDialog__NPCThumbnail",
34510
+ componentId: "sc-1b4aw74-3"
34511
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34512
+
34513
+ var ImgSide;
34514
+ (function (ImgSide) {
34515
+ ImgSide["right"] = "right";
34516
+ ImgSide["left"] = "left";
34517
+ })(ImgSide || (ImgSide = {}));
34518
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
34519
+ var _textAndTypeArray$sli;
34520
+ var _onClose = _ref.onClose,
34521
+ textAndTypeArray = _ref.textAndTypeArray;
34522
+ var _useState = useState(false),
34523
+ showGoNextIndicator = _useState[0],
34524
+ setShowGoNextIndicator = _useState[1];
34525
+ var _useState2 = useState(0),
34526
+ slide = _useState2[0],
34527
+ setSlide = _useState2[1];
34528
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34529
+ if (event.code === 'Space') {
34530
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34531
+ setSlide(function (prev) {
34532
+ return prev + 1;
34533
+ });
34534
+ } else {
34535
+ // if there's no more text chunks, close the dialog
34536
+ _onClose();
34537
+ }
34538
+ }
34539
+ };
34540
+ useEffect(function () {
34541
+ document.addEventListener('keydown', onHandleSpacePress);
34542
+ return function () {
34543
+ return document.removeEventListener('keydown', onHandleSpacePress);
34544
+ };
34545
+ }, [slide]);
34546
+ return React.createElement(RPGUIContainer, {
34547
+ type: RPGUIContainerTypes.FramedGold,
34548
+ width: '50%',
34549
+ height: '180px'
34550
+ }, React.createElement(React.Fragment, null, React.createElement(Container$e, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
34551
+ flex: '70%'
34552
+ }, React.createElement(NPCDialogText, {
34553
+ onStartStep: function onStartStep() {
34554
+ return setShowGoNextIndicator(false);
34555
+ },
34556
+ onEndStep: function onEndStep() {
34557
+ return setShowGoNextIndicator(true);
34558
+ },
34559
+ text: textAndTypeArray[slide].text || 'No text provided.',
34560
+ onClose: function onClose() {
34561
+ if (_onClose) {
34562
+ _onClose();
34563
+ }
34564
+ }
34565
+ })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34566
+ src: textAndTypeArray[slide].imagePath || img$8
34567
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34568
+ right: '10.5rem',
34569
+ src: img$7
34570
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34571
+ src: textAndTypeArray[slide].imagePath || img$8
34572
+ })), React.createElement(TextContainer$2, {
34573
+ flex: '70%'
34574
+ }, React.createElement(NPCDialogText, {
34575
+ onStartStep: function onStartStep() {
34576
+ return setShowGoNextIndicator(false);
34577
+ },
34578
+ onEndStep: function onEndStep() {
34579
+ return setShowGoNextIndicator(true);
34580
+ },
34581
+ text: textAndTypeArray[slide].text || 'No text provided.',
34582
+ onClose: function onClose() {
34583
+ if (_onClose) {
34584
+ _onClose();
34585
+ }
34586
+ }
34587
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34588
+ right: '1rem',
34589
+ src: img$7
34590
+ }))), ")"));
34591
+ };
34592
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
34593
+ displayName: "NPCMultiDialog__Container",
34594
+ componentId: "sc-rvu5wg-0"
34595
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34596
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
34597
+ displayName: "NPCMultiDialog__TextContainer",
34598
+ componentId: "sc-rvu5wg-1"
34599
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34600
+ var flex = _ref2.flex;
34601
+ return flex;
34602
+ });
34603
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
34604
+ displayName: "NPCMultiDialog__ThumbnailContainer",
34605
+ componentId: "sc-rvu5wg-2"
34606
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34607
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
34608
+ displayName: "NPCMultiDialog__NPCThumbnail",
34609
+ componentId: "sc-rvu5wg-3"
34610
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34611
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
34612
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
34613
+ componentId: "sc-rvu5wg-4"
34614
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34615
+ var right = _ref3.right;
34616
+ return right;
34617
+ });
34618
+
34619
+ var HistoryDialog = function HistoryDialog(_ref) {
34620
+ var backgroundImgPath = _ref.backgroundImgPath,
34621
+ fullCoverBackground = _ref.fullCoverBackground,
34622
+ questions = _ref.questions,
34623
+ answers = _ref.answers,
34624
+ text = _ref.text,
34625
+ imagePath = _ref.imagePath,
34626
+ textAndTypeArray = _ref.textAndTypeArray,
34627
+ onClose = _ref.onClose;
34628
+ var _useState = useState(0),
34629
+ img = _useState[0],
34630
+ setImage = _useState[1];
34631
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34632
+ if (event.code === 'Space') {
34633
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
34634
+ setImage(function (prev) {
34635
+ return prev + 1;
34636
+ });
34637
+ } else {
34638
+ // if there's no more text chunks, close the dialog
34639
+ onClose();
34640
+ }
34641
+ }
34642
+ };
34643
+ useEffect(function () {
34644
+ document.addEventListener('keydown', onHandleSpacePress);
34645
+ return function () {
34646
+ return document.removeEventListener('keydown', onHandleSpacePress);
34647
+ };
34648
+ }, [backgroundImgPath]);
34649
+ return React.createElement(BackgroundContainer, {
34650
+ imgPath: backgroundImgPath[img],
34651
+ fullImg: fullCoverBackground
34652
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
34653
+ textAndTypeArray: textAndTypeArray,
34654
+ onClose: onClose
34655
+ }) : questions && answers ? React.createElement(QuestionDialog, {
34656
+ questions: questions,
34657
+ answers: answers,
34658
+ onClose: onClose
34659
+ }) : text && imagePath ? React.createElement(NPCDialog, {
34660
+ text: text,
34661
+ imagePath: imagePath,
34662
+ onClose: onClose,
34663
+ type: NPCDialogType.TextAndThumbnail
34664
+ }) : React.createElement(NPCDialog, {
34665
+ text: text,
34666
+ onClose: onClose,
34667
+ type: NPCDialogType.TextOnly
34668
+ })));
34669
+ };
34670
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
34671
+ displayName: "HistoryDialog__BackgroundContainer",
34672
+ componentId: "sc-u6oe75-0"
34673
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
34674
+ return props.imgPath;
34675
+ }, function (props) {
34676
+ return props.imgPath ? 'cover' : 'auto';
34677
+ });
34678
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
34679
+ displayName: "HistoryDialog__DialogContainer",
34680
+ componentId: "sc-u6oe75-1"
34681
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
34682
+
34683
+ var SlotsContainer = function SlotsContainer(_ref) {
34684
+ var children = _ref.children,
34685
+ title = _ref.title,
34686
+ onClose = _ref.onClose,
34687
+ _onPositionChange = _ref.onPositionChange,
34688
+ onOutsideClick = _ref.onOutsideClick,
34689
+ initialPosition = _ref.initialPosition;
34690
+ return React.createElement(DraggableContainer, {
34691
+ title: title,
34692
+ type: RPGUIContainerTypes.Framed,
34693
+ onCloseButton: function onCloseButton() {
34694
+ if (onClose) {
34695
+ onClose();
34696
+ }
34697
+ },
34698
+ width: "400px",
34699
+ cancelDrag: ".item-container-body, #shortcuts_list",
34700
+ onPositionChange: function onPositionChange(_ref2) {
34701
+ var x = _ref2.x,
34702
+ y = _ref2.y;
34703
+ if (_onPositionChange) {
34704
+ _onPositionChange({
34705
+ x: x,
34706
+ y: y
34707
+ });
34708
+ }
34709
+ },
34710
+ onOutsideClick: onOutsideClick,
34711
+ initialPosition: initialPosition
34712
+ }, children);
34713
+ };
34714
+
34715
+ var RangeSliderType;
34716
+ (function (RangeSliderType) {
34717
+ RangeSliderType["Slider"] = "rpgui-slider";
34718
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
34719
+ })(RangeSliderType || (RangeSliderType = {}));
34720
+ var RangeSlider = function RangeSlider(_ref) {
34721
+ var type = _ref.type,
34722
+ valueMin = _ref.valueMin,
34723
+ valueMax = _ref.valueMax,
34724
+ width = _ref.width,
34725
+ _onChange = _ref.onChange,
34726
+ value = _ref.value;
34727
+ var sliderId = v4();
34728
+ var containerRef = useRef(null);
34729
+ var _useState = useState(0),
34730
+ left = _useState[0],
34731
+ setLeft = _useState[1];
34732
+ useEffect(function () {
34733
+ var _containerRef$current;
34734
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
34735
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
34736
+ }, [value, valueMin, valueMax]);
34737
+ var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
34738
+ return React.createElement("div", {
34739
+ style: {
34740
+ width: width,
34741
+ position: 'relative'
34742
+ },
34743
+ className: "rpgui-slider-container " + typeClass,
34744
+ id: "rpgui-slider-" + sliderId,
34745
+ ref: containerRef
34746
+ }, React.createElement("div", {
34747
+ style: {
34748
+ pointerEvents: 'none'
34749
+ }
34750
+ }, React.createElement("div", {
34751
+ className: "rpgui-slider-track " + typeClass
34752
+ }), React.createElement("div", {
34753
+ className: "rpgui-slider-left-edge " + typeClass
34754
+ }), React.createElement("div", {
34755
+ className: "rpgui-slider-right-edge " + typeClass
34756
+ }), React.createElement("div", {
34757
+ className: "rpgui-slider-thumb " + typeClass,
34758
+ style: {
34759
+ left: left
34760
+ }
34761
+ })), React.createElement(Input$1, {
34762
+ type: "range",
34763
+ style: {
34764
+ width: width
34765
+ },
34766
+ min: valueMin,
34767
+ max: valueMax,
34768
+ onChange: function onChange(e) {
34769
+ return _onChange(Number(e.target.value));
34770
+ },
34771
+ value: value,
34772
+ className: "rpgui-cursor-point"
34773
+ }));
34774
+ };
34775
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
34776
+ displayName: "RangeSlider__Input",
34777
+ componentId: "sc-v8mte9-0"
34778
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
34779
+
34780
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
34781
+ var quantity = _ref.quantity,
34782
+ onConfirm = _ref.onConfirm,
34783
+ onClose = _ref.onClose;
34784
+ var _useState = useState(quantity),
34785
+ value = _useState[0],
34786
+ setValue = _useState[1];
34787
+ var inputRef = useRef(null);
34788
+ useEffect(function () {
34789
+ if (inputRef.current) {
34790
+ inputRef.current.focus();
34791
+ inputRef.current.select();
34792
+ var closeSelector = function closeSelector(e) {
34793
+ if (e.key === 'Escape') {
34794
+ onClose();
34795
+ }
34796
+ };
34797
+ document.addEventListener('keydown', closeSelector);
34798
+ return function () {
34799
+ document.removeEventListener('keydown', closeSelector);
34800
+ };
34801
+ }
34802
+ return function () {};
34803
+ }, []);
34804
+ return React.createElement(StyledContainer, {
34805
+ type: RPGUIContainerTypes.Framed,
34806
+ width: "25rem"
34807
+ }, React.createElement(CloseButton$2, {
34808
+ className: "container-close",
34809
+ onPointerDown: onClose
34810
+ }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
34811
+ style: {
34812
+ width: '100%'
34813
+ },
34814
+ onSubmit: function onSubmit(e) {
34815
+ e.preventDefault();
34816
+ var numberValue = Number(value);
34817
+ if (Number.isNaN(numberValue)) {
34818
+ return;
34819
+ }
34820
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
34821
+ },
34822
+ noValidate: true
34823
+ }, React.createElement(StyledInput, {
34824
+ innerRef: inputRef,
34825
+ placeholder: "Enter quantity",
34826
+ type: "number",
34827
+ min: 1,
34828
+ max: quantity,
34829
+ value: value,
34830
+ onChange: function onChange(e) {
34831
+ if (Number(e.target.value) >= quantity) {
34832
+ setValue(quantity);
34833
+ return;
34834
+ }
34835
+ setValue(e.target.value);
34836
+ },
34837
+ onBlur: function onBlur(e) {
34838
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
34839
+ setValue(newValue);
34840
+ }
34841
+ }), React.createElement(RangeSlider, {
34842
+ type: RangeSliderType.Slider,
34843
+ valueMin: 1,
34844
+ valueMax: quantity,
34845
+ width: "100%",
34846
+ onChange: setValue,
34847
+ value: value
34848
+ }), React.createElement(Button, {
34849
+ buttonType: ButtonTypes.RPGUIButton,
34850
+ type: "submit"
34851
+ }, "Confirm")));
34852
+ };
34853
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
34854
+ displayName: "ItemQuantitySelector__StyledContainer",
34855
+ componentId: "sc-yfdtpn-0"
34856
+ })(["display:flex;flex-direction:column;align-items:center;"]);
34857
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
34858
+ displayName: "ItemQuantitySelector__StyledForm",
34859
+ componentId: "sc-yfdtpn-1"
34860
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
34861
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
34862
+ displayName: "ItemQuantitySelector__StyledInput",
34863
+ componentId: "sc-yfdtpn-2"
34864
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
34865
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
34866
+ displayName: "ItemQuantitySelector__CloseButton",
34867
+ componentId: "sc-yfdtpn-3"
34868
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
34869
+
34870
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34871
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
34872
+ settingShortcutIndex = _ref.settingShortcutIndex,
34873
+ shortcuts = _ref.shortcuts,
34874
+ removeShortcut = _ref.removeShortcut,
34875
+ atlasJSON = _ref.atlasJSON,
34876
+ atlasIMG = _ref.atlasIMG;
34877
+ var getContent = function getContent(index) {
34878
+ var _shortcuts$index, _shortcuts$index3;
34879
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
34880
+ var _shortcuts$index2;
34881
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
34882
+ if (!_payload) return null;
34883
+ return React.createElement(SpriteFromAtlas, {
34884
+ atlasIMG: atlasIMG,
34885
+ atlasJSON: atlasJSON,
34886
+ spriteKey: getItemTextureKeyPath({
34887
+ key: _payload.texturePath,
34888
+ texturePath: _payload.texturePath,
34889
+ stackQty: _payload.stackQty || 1
34890
+ }, atlasJSON),
34891
+ width: 32,
34892
+ height: 32,
34893
+ imgScale: 1.6,
34894
+ imgStyle: {
34895
+ left: '5px'
34896
+ }
34897
+ });
34898
+ }
34899
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
34900
+ return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
34901
+ return word[0];
34902
+ }));
34903
+ };
34904
+ return React.createElement(Container$f, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
34905
+ id: "shortcuts_list"
34906
+ }, Array.from({
34907
+ length: 6
34908
+ }).map(function (_, i) {
34909
+ return React.createElement(Shortcut, {
34910
+ key: i,
34911
+ onPointerDown: function onPointerDown() {
34912
+ removeShortcut(i);
34913
+ if (!shortcuts[i] || shortcuts[i].type === ShortcutType.None) setSettingShortcutIndex(i);
34914
+ },
34915
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
34916
+ isBeingSet: settingShortcutIndex === i
34917
+ }, getContent(i));
34918
+ })));
34919
+ };
34920
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
34921
+ displayName: "ShortcutsSetter__Container",
34922
+ componentId: "sc-xuouuf-0"
34923
+ })(["p{margin:0;margin-left:0.5rem;}"]);
34924
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
34925
+ displayName: "ShortcutsSetter__Shortcut",
34926
+ componentId: "sc-xuouuf-1"
34927
+ })(["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) {
34928
+ var isBeingSet = _ref2.isBeingSet;
34929
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
34930
+ }, uiColors.darkGray, uiColors.gray);
34931
+ var List = /*#__PURE__*/styled.div.withConfig({
34932
+ displayName: "ShortcutsSetter__List",
34933
+ componentId: "sc-xuouuf-2"
34934
+ })(["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;"]);
34935
+
34936
+ var ItemContainer$1 = function ItemContainer(_ref) {
34937
+ var itemContainer = _ref.itemContainer,
34938
+ onClose = _ref.onClose,
34390
34939
  _onMouseOver = _ref.onMouseOver,
34391
34940
  _onSelected = _ref.onSelected,
34392
34941
  onItemClick = _ref.onItemClick,
@@ -34602,7 +35151,7 @@ var ListMenu = function ListMenu(_ref) {
34602
35151
  onSelected = _ref.onSelected,
34603
35152
  x = _ref.x,
34604
35153
  y = _ref.y;
34605
- return React.createElement(Container$c, {
35154
+ return React.createElement(Container$g, {
34606
35155
  x: x,
34607
35156
  y: y
34608
35157
  }, React.createElement("ul", {
@@ -34619,7 +35168,7 @@ var ListMenu = function ListMenu(_ref) {
34619
35168
  }, (params == null ? void 0 : params.text) || 'No text');
34620
35169
  })));
34621
35170
  };
34622
- var Container$c = /*#__PURE__*/styled.div.withConfig({
35171
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
34623
35172
  displayName: "ListMenu__Container",
34624
35173
  componentId: "sc-i9097t-0"
34625
35174
  })(["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) {
@@ -34632,332 +35181,6 @@ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
34632
35181
  componentId: "sc-i9097t-1"
34633
35182
  })(["margin-right:0.5rem;"]);
34634
35183
 
34635
- var img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34636
-
34637
- var img$7 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
34638
-
34639
- var ImgSide;
34640
- (function (ImgSide) {
34641
- ImgSide["right"] = "right";
34642
- ImgSide["left"] = "left";
34643
- })(ImgSide || (ImgSide = {}));
34644
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
34645
- var _textAndTypeArray$sli;
34646
- var _onClose = _ref.onClose,
34647
- textAndTypeArray = _ref.textAndTypeArray;
34648
- var _useState = useState(false),
34649
- showGoNextIndicator = _useState[0],
34650
- setShowGoNextIndicator = _useState[1];
34651
- var _useState2 = useState(0),
34652
- slide = _useState2[0],
34653
- setSlide = _useState2[1];
34654
- var onHandleSpacePress = function onHandleSpacePress(event) {
34655
- if (event.code === 'Space') {
34656
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34657
- setSlide(function (prev) {
34658
- return prev + 1;
34659
- });
34660
- } else {
34661
- // if there's no more text chunks, close the dialog
34662
- _onClose();
34663
- }
34664
- }
34665
- };
34666
- useEffect(function () {
34667
- document.addEventListener('keydown', onHandleSpacePress);
34668
- return function () {
34669
- return document.removeEventListener('keydown', onHandleSpacePress);
34670
- };
34671
- }, [slide]);
34672
- return React.createElement(RPGUIContainer, {
34673
- type: RPGUIContainerTypes.FramedGold,
34674
- width: '50%',
34675
- height: '180px'
34676
- }, React.createElement(React.Fragment, null, React.createElement(Container$d, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
34677
- flex: '70%'
34678
- }, React.createElement(NPCDialogText, {
34679
- onStartStep: function onStartStep() {
34680
- return setShowGoNextIndicator(false);
34681
- },
34682
- onEndStep: function onEndStep() {
34683
- return setShowGoNextIndicator(true);
34684
- },
34685
- text: textAndTypeArray[slide].text || 'No text provided.',
34686
- onClose: function onClose() {
34687
- if (_onClose) {
34688
- _onClose();
34689
- }
34690
- }
34691
- })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34692
- src: textAndTypeArray[slide].imagePath || img$6
34693
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34694
- right: '10.5rem',
34695
- src: img$7
34696
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34697
- src: textAndTypeArray[slide].imagePath || img$6
34698
- })), React.createElement(TextContainer, {
34699
- flex: '70%'
34700
- }, React.createElement(NPCDialogText, {
34701
- onStartStep: function onStartStep() {
34702
- return setShowGoNextIndicator(false);
34703
- },
34704
- onEndStep: function onEndStep() {
34705
- return setShowGoNextIndicator(true);
34706
- },
34707
- text: textAndTypeArray[slide].text || 'No text provided.',
34708
- onClose: function onClose() {
34709
- if (_onClose) {
34710
- _onClose();
34711
- }
34712
- }
34713
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34714
- right: '1rem',
34715
- src: img$7
34716
- }))), ")"));
34717
- };
34718
- var Container$d = /*#__PURE__*/styled.div.withConfig({
34719
- displayName: "NPCMultiDialog__Container",
34720
- componentId: "sc-rvu5wg-0"
34721
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34722
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
34723
- displayName: "NPCMultiDialog__TextContainer",
34724
- componentId: "sc-rvu5wg-1"
34725
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34726
- var flex = _ref2.flex;
34727
- return flex;
34728
- });
34729
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34730
- displayName: "NPCMultiDialog__ThumbnailContainer",
34731
- componentId: "sc-rvu5wg-2"
34732
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34733
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34734
- displayName: "NPCMultiDialog__NPCThumbnail",
34735
- componentId: "sc-rvu5wg-3"
34736
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34737
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34738
- displayName: "NPCMultiDialog__PressSpaceIndicator",
34739
- componentId: "sc-rvu5wg-4"
34740
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34741
- var right = _ref3.right;
34742
- return right;
34743
- });
34744
-
34745
- //@ts-ignore
34746
- var useEventListener = function useEventListener(type, handler, el) {
34747
- if (el === void 0) {
34748
- el = window;
34749
- }
34750
- var savedHandler = React.useRef();
34751
- React.useEffect(function () {
34752
- savedHandler.current = handler;
34753
- }, [handler]);
34754
- React.useEffect(function () {
34755
- //@ts-ignore
34756
- var listener = function listener(e) {
34757
- return savedHandler.current(e);
34758
- };
34759
- el.addEventListener(type, listener);
34760
- return function () {
34761
- el.removeEventListener(type, listener);
34762
- };
34763
- }, [type, el]);
34764
- };
34765
-
34766
- var DynamicText = function DynamicText(_ref) {
34767
- var text = _ref.text,
34768
- onFinish = _ref.onFinish,
34769
- onStart = _ref.onStart;
34770
- var _useState = useState(''),
34771
- textState = _useState[0],
34772
- setTextState = _useState[1];
34773
- useEffect(function () {
34774
- var i = 0;
34775
- var interval = setInterval(function () {
34776
- // on every interval, show one more character
34777
- if (i === 0) {
34778
- if (onStart) {
34779
- onStart();
34780
- }
34781
- }
34782
- if (i < text.length) {
34783
- setTextState(text.substring(0, i + 1));
34784
- i++;
34785
- } else {
34786
- clearInterval(interval);
34787
- if (onFinish) {
34788
- onFinish();
34789
- }
34790
- }
34791
- }, 50);
34792
- return function () {
34793
- clearInterval(interval);
34794
- };
34795
- }, [text]);
34796
- return React.createElement(TextContainer$1, null, textState);
34797
- };
34798
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
34799
- displayName: "DynamicText__TextContainer",
34800
- componentId: "sc-1ggl9nd-0"
34801
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34802
-
34803
- var QuestionDialog = function QuestionDialog(_ref) {
34804
- var questions = _ref.questions,
34805
- answers = _ref.answers,
34806
- onClose = _ref.onClose;
34807
- var _useState = useState(questions[0]),
34808
- currentQuestion = _useState[0],
34809
- setCurrentQuestion = _useState[1];
34810
- var _useState2 = useState(false),
34811
- canShowAnswers = _useState2[0],
34812
- setCanShowAnswers = _useState2[1];
34813
- var onGetFirstAnswer = function onGetFirstAnswer() {
34814
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34815
- return null;
34816
- }
34817
- var firstAnswerId = currentQuestion.answerIds[0];
34818
- return answers.find(function (answer) {
34819
- return answer.id === firstAnswerId;
34820
- });
34821
- };
34822
- var _useState3 = useState(onGetFirstAnswer()),
34823
- currentAnswer = _useState3[0],
34824
- setCurrentAnswer = _useState3[1];
34825
- useEffect(function () {
34826
- setCurrentAnswer(onGetFirstAnswer());
34827
- }, [currentQuestion]);
34828
- var onGetAnswers = function onGetAnswers(answerIds) {
34829
- return answerIds.map(function (answerId) {
34830
- return answers.find(function (answer) {
34831
- return answer.id === answerId;
34832
- });
34833
- });
34834
- };
34835
- var onKeyPress = function onKeyPress(e) {
34836
- switch (e.key) {
34837
- case 'ArrowDown':
34838
- // select next answer, if any.
34839
- // if no next answer, select first answer
34840
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34841
- // (answer) => answer?.id === currentAnswer!.id + 1
34842
- // );
34843
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34844
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34845
- });
34846
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34847
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34848
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
34849
- });
34850
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34851
- break;
34852
- case 'ArrowUp':
34853
- // select previous answer, if any.
34854
- // if no previous answer, select last answer
34855
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34856
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34857
- });
34858
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34859
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34860
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
34861
- });
34862
- if (previousAnswer) {
34863
- setCurrentAnswer(previousAnswer);
34864
- } else {
34865
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34866
- }
34867
- break;
34868
- case 'Enter':
34869
- setCanShowAnswers(false);
34870
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34871
- onClose();
34872
- return;
34873
- } else {
34874
- setCurrentQuestion(questions.find(function (question) {
34875
- return question.id === currentAnswer.nextQuestionId;
34876
- }));
34877
- }
34878
- break;
34879
- }
34880
- };
34881
- useEventListener('keydown', onKeyPress);
34882
- var onAnswerClick = function onAnswerClick(answer) {
34883
- setCanShowAnswers(false);
34884
- if (answer.nextQuestionId) {
34885
- // if there is a next question, go to it
34886
- setCurrentQuestion(questions.find(function (question) {
34887
- return question.id === answer.nextQuestionId;
34888
- }));
34889
- } else {
34890
- // else, finish dialog!
34891
- onClose();
34892
- }
34893
- };
34894
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34895
- var answerIds = currentQuestion.answerIds;
34896
- if (!answerIds) {
34897
- return null;
34898
- }
34899
- var answers = onGetAnswers(answerIds);
34900
- if (!answers) {
34901
- return null;
34902
- }
34903
- return answers.map(function (answer) {
34904
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34905
- var selectedColor = isSelected ? 'yellow' : 'white';
34906
- if (answer) {
34907
- return React.createElement(AnswerRow, {
34908
- key: "answer_" + answer.id
34909
- }, React.createElement(AnswerSelectedIcon, {
34910
- color: selectedColor
34911
- }, isSelected ? 'X' : null), React.createElement(Answer, {
34912
- key: answer.id,
34913
- onPointerDown: function onPointerDown() {
34914
- return onAnswerClick(answer);
34915
- },
34916
- color: selectedColor
34917
- }, answer.text));
34918
- }
34919
- return null;
34920
- });
34921
- };
34922
- return React.createElement(Container$e, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
34923
- text: currentQuestion.text,
34924
- onStart: function onStart() {
34925
- return setCanShowAnswers(false);
34926
- },
34927
- onFinish: function onFinish() {
34928
- return setCanShowAnswers(true);
34929
- }
34930
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34931
- };
34932
- var Container$e = /*#__PURE__*/styled.div.withConfig({
34933
- displayName: "QuestionDialog__Container",
34934
- componentId: "sc-bxc5u0-0"
34935
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34936
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34937
- displayName: "QuestionDialog__QuestionContainer",
34938
- componentId: "sc-bxc5u0-1"
34939
- })(["flex:100%;width:100%;"]);
34940
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34941
- displayName: "QuestionDialog__AnswersContainer",
34942
- componentId: "sc-bxc5u0-2"
34943
- })(["flex:100%;"]);
34944
- var Answer = /*#__PURE__*/styled.p.withConfig({
34945
- displayName: "QuestionDialog__Answer",
34946
- componentId: "sc-bxc5u0-3"
34947
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34948
- return props.color;
34949
- });
34950
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34951
- displayName: "QuestionDialog__AnswerSelectedIcon",
34952
- componentId: "sc-bxc5u0-4"
34953
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
34954
- return props.color;
34955
- });
34956
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34957
- displayName: "QuestionDialog__AnswerRow",
34958
- componentId: "sc-bxc5u0-5"
34959
- })(["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;}"]);
34960
-
34961
35184
  var ProgressBar = function ProgressBar(_ref) {
34962
35185
  var max = _ref.max,
34963
35186
  value = _ref.value,
@@ -34975,7 +35198,7 @@ var ProgressBar = function ProgressBar(_ref) {
34975
35198
  }
34976
35199
  return value * 100 / max;
34977
35200
  };
34978
- return React.createElement(Container$f, {
35201
+ return React.createElement(Container$h, {
34979
35202
  className: "rpgui-progress",
34980
35203
  "data-value": calculatePercentageValue(max, value) / 100,
34981
35204
  "data-rpguitype": "progress",
@@ -35004,7 +35227,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
35004
35227
  displayName: "ProgressBar__TextOverlay",
35005
35228
  componentId: "sc-qa6fzh-1"
35006
35229
  })(["width:100%;position:relative;"]);
35007
- var Container$f = /*#__PURE__*/styled.div.withConfig({
35230
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
35008
35231
  displayName: "ProgressBar__Container",
35009
35232
  componentId: "sc-qa6fzh-2"
35010
35233
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -35015,7 +35238,7 @@ var Container$f = /*#__PURE__*/styled.div.withConfig({
35015
35238
  return props.style;
35016
35239
  });
35017
35240
 
35018
- var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAHcSURBVHja7Ji/agJBEId/K/cCdoKFFjZCbGxCekmVOunzCil8hhS+gr3WVmIvKbQxIILFKQjXhCPkASZN5tjd27ud9SRYOKV3u/ftN7P/VESEa4gariRuIHZEkpeUUkYhEZEKbeNrG0mJJ/MlOq0m9odTKRg/W+2OaDfqRh9xkmbPbaBIMrLJfInB/R0AoN2o4+v7B3GSAkAOzAXAwW0XH59QSpEOIzLCEHanuq31Zot+r1sIYcdwNDZgahIblww2GTxrXDb02B9OAIB+r4tOqymCYXtspRQkxMZ6s82lK8SG14jPBnccYmM6W6Df62ZWSkGkNjgt59p4eXyAt1h9NvSoasMJcs5MqWqj0IjEBncuNVdmIwcSYmN/OIlSUjZTnCD2Ui7pXLqK+tKSgTCEtOikBcrAvrQAQE2HkIwwTlJj2l7CBgBERKSUUrTaHQ3lcZI6t3G2IZ0pEhvZ7ssww9E4Wym5YUi6qoQioqDZwmB6emxDtg3ej97fXv0nNN64OHQrutbpbGG8o//2/DRwpsyXFsOI9DDjCv0j+oCkNowakR6iXSks+rjURtDhWS9q+1DtMiL5eC41lar9D8w2pQMVrR1nGym7p9hA/25EcrESXchu/wbcQDzxOwDLF0pIXBCe1wAAAABJRU5ErkJggg==';
35241
+ var img$9 = 'data:image/png;base64,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';
35019
35242
 
35020
35243
  var QuestInfo = function QuestInfo(_ref) {
35021
35244
  var quests = _ref.quests,
@@ -35057,7 +35280,7 @@ var QuestInfo = function QuestInfo(_ref) {
35057
35280
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35058
35281
  className: "drag-handler"
35059
35282
  }, React.createElement(Title$3, null, React.createElement(Thumbnail, {
35060
- src: quests[currentIndex].thumbnail || img$8
35283
+ src: quests[currentIndex].thumbnail || img$9
35061
35284
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35062
35285
  className: "golden"
35063
35286
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -35076,7 +35299,7 @@ var QuestInfo = function QuestInfo(_ref) {
35076
35299
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35077
35300
  className: "drag-handler"
35078
35301
  }, React.createElement(Title$3, null, React.createElement(Thumbnail, {
35079
- src: quests[0].thumbnail || img$8
35302
+ src: quests[0].thumbnail || img$9
35080
35303
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35081
35304
  className: "golden"
35082
35305
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -35228,12 +35451,19 @@ var Shortcuts = function Shortcuts(_ref) {
35228
35451
  atlasJSON = _ref.atlasJSON,
35229
35452
  atlasIMG = _ref.atlasIMG,
35230
35453
  inventory = _ref.inventory;
35454
+ var shortcutsRefs = useRef([]);
35231
35455
  useEffect(function () {
35232
35456
  var handleKeyDown = function handleKeyDown(e) {
35233
35457
  if (isBlockedCastingByKeyboard) return;
35234
35458
  var shortcutIndex = Number(e.key) - 1;
35235
35459
  if (shortcutIndex >= 0 && shortcutIndex <= 5) {
35460
+ var _shortcutsRefs$curren;
35236
35461
  onShortcutCast(shortcutIndex);
35462
+ (_shortcutsRefs$curren = shortcutsRefs.current[shortcutIndex]) == null ? void 0 : _shortcutsRefs$curren.classList.add('active');
35463
+ setTimeout(function () {
35464
+ var _shortcutsRefs$curren2;
35465
+ (_shortcutsRefs$curren2 = shortcutsRefs.current[shortcutIndex]) == null ? void 0 : _shortcutsRefs$curren2.classList.remove('active');
35466
+ }, 150);
35237
35467
  }
35238
35468
  };
35239
35469
  window.addEventListener('keydown', handleKeyDown);
@@ -35261,10 +35491,13 @@ var Shortcuts = function Shortcuts(_ref) {
35261
35491
  var totalQty = itemsFromEquipment.reduce(function (acc, item) {
35262
35492
  return acc + ((item == null ? void 0 : item.stackQty) || 1);
35263
35493
  }, 0);
35264
- return React.createElement(SingleShortcut, {
35494
+ return React.createElement(StyledShortcut$1, {
35265
35495
  key: i,
35266
35496
  onPointerDown: onShortcutCast.bind(null, i),
35267
- disabled: false
35497
+ disabled: false,
35498
+ ref: function ref(el) {
35499
+ if (el) shortcutsRefs.current[i] = el;
35500
+ }
35268
35501
  }, _payload && React.createElement(SpriteFromAtlas, {
35269
35502
  atlasIMG: atlasIMG,
35270
35503
  atlasJSON: atlasJSON,
@@ -35282,10 +35515,13 @@ var Shortcuts = function Shortcuts(_ref) {
35282
35515
  }, i + 1));
35283
35516
  }
35284
35517
  var payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
35285
- return React.createElement(SingleShortcut, {
35518
+ return React.createElement(StyledShortcut$1, {
35286
35519
  key: i,
35287
35520
  onPointerDown: onShortcutCast.bind(null, i),
35288
- disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0)
35521
+ disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0),
35522
+ ref: function ref(el) {
35523
+ if (el) shortcutsRefs.current[i] = el;
35524
+ }
35289
35525
  }, React.createElement("span", {
35290
35526
  className: "mana"
35291
35527
  }, payload && payload.manaCost), React.createElement("span", {
@@ -35297,9 +35533,13 @@ var Shortcuts = function Shortcuts(_ref) {
35297
35533
  }, i + 1));
35298
35534
  }));
35299
35535
  };
35536
+ var StyledShortcut$1 = /*#__PURE__*/styled(SingleShortcut).withConfig({
35537
+ displayName: "Shortcuts__StyledShortcut",
35538
+ componentId: "sc-kgtsi7-0"
35539
+ })(["transition:all 0.15s;&.active{background-color:", ";border-color:", ";}"], uiColors.gray, uiColors.yellow);
35300
35540
  var List$1 = /*#__PURE__*/styled.p.withConfig({
35301
35541
  displayName: "Shortcuts__List",
35302
- componentId: "sc-kgtsi7-0"
35542
+ componentId: "sc-kgtsi7-1"
35303
35543
  })(["width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;box-sizing:border-box;margin:0 !important;"]);
35304
35544
 
35305
35545
  var SimpleProgressBar = function SimpleProgressBar(_ref) {
@@ -35308,7 +35548,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35308
35548
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
35309
35549
  _ref$margin = _ref.margin,
35310
35550
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
35311
- return React.createElement(Container$g, {
35551
+ return React.createElement(Container$i, {
35312
35552
  className: "simple-progress-bar"
35313
35553
  }, React.createElement(ProgressBarContainer, {
35314
35554
  margin: margin
@@ -35317,7 +35557,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35317
35557
  bgColor: bgColor
35318
35558
  }))));
35319
35559
  };
35320
- var Container$g = /*#__PURE__*/styled.div.withConfig({
35560
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
35321
35561
  displayName: "SimpleProgressBar__Container",
35322
35562
  componentId: "sc-mbeil3-0"
35323
35563
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -35544,7 +35784,7 @@ var Spell = function Spell(_ref) {
35544
35784
  isSettingShortcut = _ref.isSettingShortcut,
35545
35785
  minMagicLevelRequired = _ref.minMagicLevelRequired;
35546
35786
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
35547
- return React.createElement(Container$h, {
35787
+ return React.createElement(Container$j, {
35548
35788
  disabled: disabled,
35549
35789
  onPointerDown: onPointerDown == null ? void 0 : onPointerDown.bind(null, spellKey),
35550
35790
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -35557,7 +35797,7 @@ var Spell = function Spell(_ref) {
35557
35797
  className: "mana"
35558
35798
  }, manaCost)));
35559
35799
  };
35560
- var Container$h = /*#__PURE__*/styled.button.withConfig({
35800
+ var Container$j = /*#__PURE__*/styled.button.withConfig({
35561
35801
  displayName: "Spell__Container",
35562
35802
  componentId: "sc-j96fa2-0"
35563
35803
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;height:5rem;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -35642,7 +35882,7 @@ var Spellbook = function Spellbook(_ref) {
35642
35882
  width: "inherit",
35643
35883
  height: "inherit",
35644
35884
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
35645
- }, React.createElement(Container$i, null, React.createElement(Title$6, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
35885
+ }, React.createElement(Container$k, null, React.createElement(Title$6, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
35646
35886
  setSettingShortcutIndex: setSettingShortcutIndex,
35647
35887
  settingShortcutIndex: settingShortcutIndex,
35648
35888
  shortcuts: shortcuts,
@@ -35674,7 +35914,7 @@ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
35674
35914
  displayName: "Spellbook__Title",
35675
35915
  componentId: "sc-r02nfq-0"
35676
35916
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
35677
- var Container$i = /*#__PURE__*/styled.div.withConfig({
35917
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
35678
35918
  displayName: "Spellbook__Container",
35679
35919
  componentId: "sc-r02nfq-1"
35680
35920
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -35688,16 +35928,16 @@ var TextArea = function TextArea(_ref) {
35688
35928
  return React.createElement("textarea", Object.assign({}, props));
35689
35929
  };
35690
35930
 
35691
- var img$9 = 'data:image/gif;base64,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';
35931
+ var img$a = 'data:image/gif;base64,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';
35692
35932
 
35693
- var img$a = 'data:image/gif;base64,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';
35933
+ var img$b = 'data:image/gif;base64,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';
35694
35934
 
35695
- var img$b = 'data:image/gif;base64,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';
35935
+ var img$c = 'data:image/gif;base64,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';
35696
35936
 
35697
35937
  var DayNightPeriod = function DayNightPeriod(_ref) {
35698
35938
  var _periodOfDaySrcFiles;
35699
35939
  var periodOfDay = _ref.periodOfDay;
35700
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
35940
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
35701
35941
  return React.createElement(GifContainer, null, React.createElement("img", {
35702
35942
  src: periodOfDaySrcFiles[periodOfDay]
35703
35943
  }));
@@ -35707,7 +35947,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
35707
35947
  componentId: "sc-10t97fw-0"
35708
35948
  })(["width:100%;img{width:67%;}"]);
35709
35949
 
35710
- 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';
35950
+ var img$d = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
35711
35951
 
35712
35952
  var TimeWidget = function TimeWidget(_ref) {
35713
35953
  var onClose = _ref.onClose,
@@ -35722,7 +35962,7 @@ var TimeWidget = function TimeWidget(_ref) {
35722
35962
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
35723
35963
  displayName: "TimeWidget__WidgetContainer",
35724
35964
  componentId: "sc-1ja236h-0"
35725
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
35965
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
35726
35966
  var Time = /*#__PURE__*/styled.div.withConfig({
35727
35967
  displayName: "TimeWidget__Time",
35728
35968
  componentId: "sc-1ja236h-1"
@@ -35970,230 +36210,16 @@ var Truncate = function Truncate(_ref) {
35970
36210
  var _ref$maxLines = _ref.maxLines,
35971
36211
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
35972
36212
  children = _ref.children;
35973
- return React.createElement(Container$j, {
36213
+ return React.createElement(Container$l, {
35974
36214
  maxLines: maxLines
35975
36215
  }, children);
35976
36216
  };
35977
- var Container$j = /*#__PURE__*/styled.div.withConfig({
36217
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
35978
36218
  displayName: "Truncate__Container",
35979
36219
  componentId: "sc-6x00qb-0"
35980
36220
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
35981
36221
  return props.maxLines;
35982
36222
  });
35983
36223
 
35984
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
35985
-
35986
- var chunkString = function chunkString(str, length) {
35987
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
35988
- };
35989
-
35990
- var img$d = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
35991
-
35992
- var NPCDialogText = function NPCDialogText(_ref) {
35993
- var text = _ref.text,
35994
- onClose = _ref.onClose,
35995
- onEndStep = _ref.onEndStep,
35996
- onStartStep = _ref.onStartStep,
35997
- type = _ref.type;
35998
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
35999
- function maxCharacters(width) {
36000
- // Set the font size to 16 pixels
36001
- var fontSize = 11.2;
36002
- // Calculate the number of characters that can fit in one line
36003
- var charactersPerLine = Math.floor(width / 2 / fontSize);
36004
- // Calculate the number of lines that can fit in the div
36005
- var linesPerDiv = Math.floor(180 / fontSize);
36006
- // Calculate the maximum number of characters that can fit in the div
36007
- var maxCharacters = charactersPerLine * linesPerDiv;
36008
- // Return the maximum number of characters
36009
- return Math.round(maxCharacters / 5);
36010
- }
36011
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
36012
- var _useState = useState(0),
36013
- chunkIndex = _useState[0],
36014
- setChunkIndex = _useState[1];
36015
- var onHandleSpacePress = function onHandleSpacePress(event) {
36016
- if (event.code === 'Space') {
36017
- goToNextStep();
36018
- }
36019
- };
36020
- var goToNextStep = function goToNextStep() {
36021
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
36022
- if (hasNextChunk) {
36023
- setChunkIndex(function (prev) {
36024
- return prev + 1;
36025
- });
36026
- } else {
36027
- // if there's no more text chunks, close the dialog
36028
- onClose();
36029
- }
36030
- };
36031
- useEffect(function () {
36032
- document.addEventListener('keydown', onHandleSpacePress);
36033
- return function () {
36034
- return document.removeEventListener('keydown', onHandleSpacePress);
36035
- };
36036
- }, [chunkIndex]);
36037
- var _useState2 = useState(false),
36038
- showGoNextIndicator = _useState2[0],
36039
- setShowGoNextIndicator = _useState2[1];
36040
- return React.createElement(Container$k, null, React.createElement(DynamicText, {
36041
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
36042
- onFinish: function onFinish() {
36043
- setShowGoNextIndicator(true);
36044
- onEndStep && onEndStep();
36045
- },
36046
- onStart: function onStart() {
36047
- setShowGoNextIndicator(false);
36048
- onStartStep && onStartStep();
36049
- }
36050
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
36051
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
36052
- src: IS_MOBILE_OR_TABLET ? img$d : img$7,
36053
- onPointerDown: function onPointerDown() {
36054
- goToNextStep();
36055
- }
36056
- }));
36057
- };
36058
- var Container$k = /*#__PURE__*/styled.div.withConfig({
36059
- displayName: "NPCDialogText__Container",
36060
- componentId: "sc-1cxkdh9-0"
36061
- })([""]);
36062
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
36063
- displayName: "NPCDialogText__PressSpaceIndicator",
36064
- componentId: "sc-1cxkdh9-1"
36065
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
36066
- var right = _ref2.right;
36067
- return right;
36068
- });
36069
-
36070
- var NPCDialogType;
36071
- (function (NPCDialogType) {
36072
- NPCDialogType["TextOnly"] = "TextOnly";
36073
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
36074
- })(NPCDialogType || (NPCDialogType = {}));
36075
- var NPCDialog = function NPCDialog(_ref) {
36076
- var text = _ref.text,
36077
- type = _ref.type,
36078
- _onClose = _ref.onClose,
36079
- imagePath = _ref.imagePath,
36080
- _ref$isQuestionDialog = _ref.isQuestionDialog,
36081
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
36082
- questions = _ref.questions,
36083
- answers = _ref.answers;
36084
- return React.createElement(RPGUIContainer, {
36085
- type: RPGUIContainerTypes.FramedGold,
36086
- width: isQuestionDialog ? '600px' : '80%',
36087
- height: '180px'
36088
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
36089
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36090
- }, React.createElement(QuestionDialog, {
36091
- questions: questions,
36092
- answers: answers,
36093
- onClose: function onClose() {
36094
- if (_onClose) {
36095
- _onClose();
36096
- }
36097
- }
36098
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36099
- src: imagePath || img$6
36100
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$l, null, React.createElement(TextContainer$2, {
36101
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36102
- }, React.createElement(NPCDialogText, {
36103
- type: type,
36104
- text: text || 'No text provided.',
36105
- onClose: function onClose() {
36106
- if (_onClose) {
36107
- _onClose();
36108
- }
36109
- }
36110
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36111
- src: imagePath || img$6
36112
- })))));
36113
- };
36114
- var Container$l = /*#__PURE__*/styled.div.withConfig({
36115
- displayName: "NPCDialog__Container",
36116
- componentId: "sc-1b4aw74-0"
36117
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
36118
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
36119
- displayName: "NPCDialog__TextContainer",
36120
- componentId: "sc-1b4aw74-1"
36121
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
36122
- var flex = _ref2.flex;
36123
- return flex;
36124
- });
36125
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
36126
- displayName: "NPCDialog__ThumbnailContainer",
36127
- componentId: "sc-1b4aw74-2"
36128
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
36129
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
36130
- displayName: "NPCDialog__NPCThumbnail",
36131
- componentId: "sc-1b4aw74-3"
36132
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
36133
-
36134
- var HistoryDialog = function HistoryDialog(_ref) {
36135
- var backgroundImgPath = _ref.backgroundImgPath,
36136
- fullCoverBackground = _ref.fullCoverBackground,
36137
- questions = _ref.questions,
36138
- answers = _ref.answers,
36139
- text = _ref.text,
36140
- imagePath = _ref.imagePath,
36141
- textAndTypeArray = _ref.textAndTypeArray,
36142
- onClose = _ref.onClose;
36143
- var _useState = useState(0),
36144
- img = _useState[0],
36145
- setImage = _useState[1];
36146
- var onHandleSpacePress = function onHandleSpacePress(event) {
36147
- if (event.code === 'Space') {
36148
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
36149
- setImage(function (prev) {
36150
- return prev + 1;
36151
- });
36152
- } else {
36153
- // if there's no more text chunks, close the dialog
36154
- onClose();
36155
- }
36156
- }
36157
- };
36158
- useEffect(function () {
36159
- document.addEventListener('keydown', onHandleSpacePress);
36160
- return function () {
36161
- return document.removeEventListener('keydown', onHandleSpacePress);
36162
- };
36163
- }, [backgroundImgPath]);
36164
- return React.createElement(BackgroundContainer, {
36165
- imgPath: backgroundImgPath[img],
36166
- fullImg: fullCoverBackground
36167
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
36168
- textAndTypeArray: textAndTypeArray,
36169
- onClose: onClose
36170
- }) : questions && answers ? React.createElement(QuestionDialog, {
36171
- questions: questions,
36172
- answers: answers,
36173
- onClose: onClose
36174
- }) : text && imagePath ? React.createElement(NPCDialog, {
36175
- text: text,
36176
- imagePath: imagePath,
36177
- onClose: onClose,
36178
- type: NPCDialogType.TextAndThumbnail
36179
- }) : React.createElement(NPCDialog, {
36180
- text: text,
36181
- onClose: onClose,
36182
- type: NPCDialogType.TextOnly
36183
- })));
36184
- };
36185
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
36186
- displayName: "HistoryDialog__BackgroundContainer",
36187
- componentId: "sc-u6oe75-0"
36188
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
36189
- return props.imgPath;
36190
- }, function (props) {
36191
- return props.imgPath ? 'cover' : 'auto';
36192
- });
36193
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
36194
- displayName: "HistoryDialog__DialogContainer",
36195
- componentId: "sc-u6oe75-1"
36196
- })(["display:flex;justify-content:center;padding-top:200px;"]);
36197
-
36198
36224
  export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, useEventListener };
36199
36225
  //# sourceMappingURL=long-bow.esm.js.map