@rpg-engine/long-bow 0.3.61 → 0.3.62

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 +1006 -1018
  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 +727 -739
  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 -248
  27. package/src/components/CraftBook/CraftBook.tsx +227 -227
  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 -151
  65. package/src/components/Shortcuts/ShortcutsSetter.tsx +132 -132
  66. package/src/components/Shortcuts/SingleShortcut.ts +62 -62
  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 +181 -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
@@ -34145,501 +34145,533 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34145
34145
  componentId: "sc-1wuddg2-1"
34146
34146
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34147
34147
 
34148
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
34149
-
34150
- var chunkString = function chunkString(str, length) {
34151
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
34152
- };
34153
-
34154
- var DynamicText = function DynamicText(_ref) {
34155
- var text = _ref.text,
34156
- onFinish = _ref.onFinish,
34157
- onStart = _ref.onStart;
34158
- var _useState = React.useState(''),
34159
- textState = _useState[0],
34160
- setTextState = _useState[1];
34161
- React.useEffect(function () {
34162
- var i = 0;
34163
- var interval = setInterval(function () {
34164
- // on every interval, show one more character
34165
- if (i === 0) {
34166
- if (onStart) {
34167
- onStart();
34168
- }
34148
+ var SlotsContainer = function SlotsContainer(_ref) {
34149
+ var children = _ref.children,
34150
+ title = _ref.title,
34151
+ onClose = _ref.onClose,
34152
+ _onPositionChange = _ref.onPositionChange,
34153
+ onOutsideClick = _ref.onOutsideClick,
34154
+ initialPosition = _ref.initialPosition;
34155
+ return React__default.createElement(DraggableContainer, {
34156
+ title: title,
34157
+ type: exports.RPGUIContainerTypes.Framed,
34158
+ onCloseButton: function onCloseButton() {
34159
+ if (onClose) {
34160
+ onClose();
34169
34161
  }
34170
- if (i < text.length) {
34171
- setTextState(text.substring(0, i + 1));
34172
- i++;
34173
- } else {
34174
- clearInterval(interval);
34175
- if (onFinish) {
34176
- onFinish();
34177
- }
34162
+ },
34163
+ width: "400px",
34164
+ cancelDrag: ".item-container-body, #shortcuts_list",
34165
+ onPositionChange: function onPositionChange(_ref2) {
34166
+ var x = _ref2.x,
34167
+ y = _ref2.y;
34168
+ if (_onPositionChange) {
34169
+ _onPositionChange({
34170
+ x: x,
34171
+ y: y
34172
+ });
34178
34173
  }
34179
- }, 50);
34180
- return function () {
34181
- clearInterval(interval);
34182
- };
34183
- }, [text]);
34184
- return React__default.createElement(TextContainer, null, textState);
34174
+ },
34175
+ onOutsideClick: onOutsideClick,
34176
+ initialPosition: initialPosition
34177
+ }, children);
34185
34178
  };
34186
- var TextContainer = /*#__PURE__*/styled.p.withConfig({
34187
- displayName: "DynamicText__TextContainer",
34188
- componentId: "sc-1ggl9nd-0"
34189
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34190
-
34191
- var img$6 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
34192
-
34193
- 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';
34194
34179
 
34195
- var NPCDialogText = function NPCDialogText(_ref) {
34196
- var text = _ref.text,
34197
- onClose = _ref.onClose,
34198
- onEndStep = _ref.onEndStep,
34199
- onStartStep = _ref.onStartStep,
34200
- type = _ref.type;
34201
- var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
34202
- function maxCharacters(width) {
34203
- // Set the font size to 16 pixels
34204
- var fontSize = 11.2;
34205
- // Calculate the number of characters that can fit in one line
34206
- var charactersPerLine = Math.floor(width / 2 / fontSize);
34207
- // Calculate the number of lines that can fit in the div
34208
- var linesPerDiv = Math.floor(180 / fontSize);
34209
- // Calculate the maximum number of characters that can fit in the div
34210
- var maxCharacters = charactersPerLine * linesPerDiv;
34211
- // Return the maximum number of characters
34212
- return Math.round(maxCharacters / 5);
34213
- }
34214
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
34180
+ (function (RangeSliderType) {
34181
+ RangeSliderType["Slider"] = "rpgui-slider";
34182
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
34183
+ })(exports.RangeSliderType || (exports.RangeSliderType = {}));
34184
+ var RangeSlider = function RangeSlider(_ref) {
34185
+ var type = _ref.type,
34186
+ valueMin = _ref.valueMin,
34187
+ valueMax = _ref.valueMax,
34188
+ width = _ref.width,
34189
+ _onChange = _ref.onChange,
34190
+ value = _ref.value;
34191
+ var sliderId = uuid.v4();
34192
+ var containerRef = React.useRef(null);
34215
34193
  var _useState = React.useState(0),
34216
- chunkIndex = _useState[0],
34217
- setChunkIndex = _useState[1];
34218
- var onHandleSpacePress = function onHandleSpacePress(event) {
34219
- if (event.code === 'Space') {
34220
- goToNextStep();
34221
- }
34222
- };
34223
- var goToNextStep = function goToNextStep() {
34224
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
34225
- if (hasNextChunk) {
34226
- setChunkIndex(function (prev) {
34227
- return prev + 1;
34228
- });
34229
- } else {
34230
- // if there's no more text chunks, close the dialog
34231
- onClose();
34232
- }
34233
- };
34194
+ left = _useState[0],
34195
+ setLeft = _useState[1];
34234
34196
  React.useEffect(function () {
34235
- document.addEventListener('keydown', onHandleSpacePress);
34236
- return function () {
34237
- return document.removeEventListener('keydown', onHandleSpacePress);
34238
- };
34239
- }, [chunkIndex]);
34240
- var _useState2 = React.useState(false),
34241
- showGoNextIndicator = _useState2[0],
34242
- setShowGoNextIndicator = _useState2[1];
34243
- return React__default.createElement(Container$b, null, React__default.createElement(DynamicText, {
34244
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
34245
- onFinish: function onFinish() {
34246
- setShowGoNextIndicator(true);
34247
- onEndStep && onEndStep();
34197
+ var _containerRef$current;
34198
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
34199
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
34200
+ }, [value, valueMin, valueMax]);
34201
+ var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
34202
+ return React__default.createElement("div", {
34203
+ style: {
34204
+ width: width,
34205
+ position: 'relative'
34248
34206
  },
34249
- onStart: function onStart() {
34250
- setShowGoNextIndicator(false);
34251
- onStartStep && onStartStep();
34207
+ className: "rpgui-slider-container " + typeClass,
34208
+ id: "rpgui-slider-" + sliderId,
34209
+ ref: containerRef
34210
+ }, React__default.createElement("div", {
34211
+ style: {
34212
+ pointerEvents: 'none'
34252
34213
  }
34253
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
34254
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
34255
- src: IS_MOBILE_OR_TABLET ? img$6 : img$7,
34256
- onPointerDown: function onPointerDown() {
34257
- goToNextStep();
34214
+ }, React__default.createElement("div", {
34215
+ className: "rpgui-slider-track " + typeClass
34216
+ }), React__default.createElement("div", {
34217
+ className: "rpgui-slider-left-edge " + typeClass
34218
+ }), React__default.createElement("div", {
34219
+ className: "rpgui-slider-right-edge " + typeClass
34220
+ }), React__default.createElement("div", {
34221
+ className: "rpgui-slider-thumb " + typeClass,
34222
+ style: {
34223
+ left: left
34258
34224
  }
34225
+ })), React__default.createElement(Input$1, {
34226
+ type: "range",
34227
+ style: {
34228
+ width: width
34229
+ },
34230
+ min: valueMin,
34231
+ max: valueMax,
34232
+ onChange: function onChange(e) {
34233
+ return _onChange(Number(e.target.value));
34234
+ },
34235
+ value: value,
34236
+ className: "rpgui-cursor-point"
34259
34237
  }));
34260
34238
  };
34261
- var Container$b = /*#__PURE__*/styled.div.withConfig({
34262
- displayName: "NPCDialogText__Container",
34263
- componentId: "sc-1cxkdh9-0"
34264
- })([""]);
34265
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34266
- displayName: "NPCDialogText__PressSpaceIndicator",
34267
- componentId: "sc-1cxkdh9-1"
34268
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
34269
- var right = _ref2.right;
34270
- return right;
34271
- });
34272
-
34273
- //@ts-ignore
34274
- var useEventListener = function useEventListener(type, handler, el) {
34275
- if (el === void 0) {
34276
- el = window;
34277
- }
34278
- var savedHandler = React__default.useRef();
34279
- React__default.useEffect(function () {
34280
- savedHandler.current = handler;
34281
- }, [handler]);
34282
- React__default.useEffect(function () {
34283
- //@ts-ignore
34284
- var listener = function listener(e) {
34285
- return savedHandler.current(e);
34286
- };
34287
- el.addEventListener(type, listener);
34288
- return function () {
34289
- el.removeEventListener(type, listener);
34290
- };
34291
- }, [type, el]);
34292
- };
34239
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
34240
+ displayName: "RangeSlider__Input",
34241
+ componentId: "sc-v8mte9-0"
34242
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
34293
34243
 
34294
- var QuestionDialog = function QuestionDialog(_ref) {
34295
- var questions = _ref.questions,
34296
- answers = _ref.answers,
34244
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
34245
+ var quantity = _ref.quantity,
34246
+ onConfirm = _ref.onConfirm,
34297
34247
  onClose = _ref.onClose;
34298
- var _useState = React.useState(questions[0]),
34299
- currentQuestion = _useState[0],
34300
- setCurrentQuestion = _useState[1];
34301
- var _useState2 = React.useState(false),
34302
- canShowAnswers = _useState2[0],
34303
- setCanShowAnswers = _useState2[1];
34304
- var onGetFirstAnswer = function onGetFirstAnswer() {
34305
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34306
- return null;
34307
- }
34308
- var firstAnswerId = currentQuestion.answerIds[0];
34309
- return answers.find(function (answer) {
34310
- return answer.id === firstAnswerId;
34311
- });
34312
- };
34313
- var _useState3 = React.useState(onGetFirstAnswer()),
34314
- currentAnswer = _useState3[0],
34315
- setCurrentAnswer = _useState3[1];
34248
+ var _useState = React.useState(quantity),
34249
+ value = _useState[0],
34250
+ setValue = _useState[1];
34251
+ var inputRef = React.useRef(null);
34316
34252
  React.useEffect(function () {
34317
- setCurrentAnswer(onGetFirstAnswer());
34318
- }, [currentQuestion]);
34319
- var onGetAnswers = function onGetAnswers(answerIds) {
34320
- return answerIds.map(function (answerId) {
34321
- return answers.find(function (answer) {
34322
- return answer.id === answerId;
34323
- });
34324
- });
34325
- };
34326
- var onKeyPress = function onKeyPress(e) {
34327
- switch (e.key) {
34328
- case 'ArrowDown':
34329
- // select next answer, if any.
34330
- // if no next answer, select first answer
34331
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34332
- // (answer) => answer?.id === currentAnswer!.id + 1
34333
- // );
34334
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34335
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34336
- });
34337
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34338
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34339
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
34340
- });
34341
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34342
- break;
34343
- case 'ArrowUp':
34344
- // select previous answer, if any.
34345
- // if no previous answer, select last answer
34346
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34347
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34348
- });
34349
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34350
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34351
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
34352
- });
34353
- if (previousAnswer) {
34354
- setCurrentAnswer(previousAnswer);
34355
- } else {
34356
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34357
- }
34358
- break;
34359
- case 'Enter':
34360
- setCanShowAnswers(false);
34361
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34253
+ if (inputRef.current) {
34254
+ inputRef.current.focus();
34255
+ inputRef.current.select();
34256
+ var closeSelector = function closeSelector(e) {
34257
+ if (e.key === 'Escape') {
34362
34258
  onClose();
34363
- return;
34364
- } else {
34365
- setCurrentQuestion(questions.find(function (question) {
34366
- return question.id === currentAnswer.nextQuestionId;
34367
- }));
34368
34259
  }
34369
- break;
34370
- }
34371
- };
34372
- useEventListener('keydown', onKeyPress);
34373
- var onAnswerClick = function onAnswerClick(answer) {
34374
- setCanShowAnswers(false);
34375
- if (answer.nextQuestionId) {
34376
- // if there is a next question, go to it
34377
- setCurrentQuestion(questions.find(function (question) {
34378
- return question.id === answer.nextQuestionId;
34379
- }));
34380
- } else {
34381
- // else, finish dialog!
34382
- onClose();
34383
- }
34384
- };
34385
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34386
- var answerIds = currentQuestion.answerIds;
34387
- if (!answerIds) {
34388
- return null;
34389
- }
34390
- var answers = onGetAnswers(answerIds);
34391
- if (!answers) {
34392
- return null;
34260
+ };
34261
+ document.addEventListener('keydown', closeSelector);
34262
+ return function () {
34263
+ document.removeEventListener('keydown', closeSelector);
34264
+ };
34393
34265
  }
34394
- return answers.map(function (answer) {
34395
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34396
- var selectedColor = isSelected ? 'yellow' : 'white';
34397
- if (answer) {
34398
- return React__default.createElement(AnswerRow, {
34399
- key: "answer_" + answer.id
34400
- }, React__default.createElement(AnswerSelectedIcon, {
34401
- color: selectedColor
34402
- }, isSelected ? 'X' : null), React__default.createElement(Answer, {
34403
- key: answer.id,
34404
- onPointerDown: function onPointerDown() {
34405
- return onAnswerClick(answer);
34406
- },
34407
- color: selectedColor
34408
- }, answer.text));
34409
- }
34410
- return null;
34411
- });
34412
- };
34413
- return React__default.createElement(Container$c, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
34414
- text: currentQuestion.text,
34415
- onStart: function onStart() {
34416
- return setCanShowAnswers(false);
34266
+ return function () {};
34267
+ }, []);
34268
+ return React__default.createElement(StyledContainer, {
34269
+ type: exports.RPGUIContainerTypes.Framed,
34270
+ width: "25rem"
34271
+ }, React__default.createElement(CloseButton$2, {
34272
+ className: "container-close",
34273
+ onPointerDown: onClose
34274
+ }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
34275
+ style: {
34276
+ width: '100%'
34417
34277
  },
34418
- onFinish: function onFinish() {
34419
- return setCanShowAnswers(true);
34420
- }
34421
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34422
- };
34423
- var Container$c = /*#__PURE__*/styled.div.withConfig({
34424
- displayName: "QuestionDialog__Container",
34425
- componentId: "sc-bxc5u0-0"
34426
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34427
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34428
- displayName: "QuestionDialog__QuestionContainer",
34429
- componentId: "sc-bxc5u0-1"
34430
- })(["flex:100%;width:100%;"]);
34431
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34432
- displayName: "QuestionDialog__AnswersContainer",
34433
- componentId: "sc-bxc5u0-2"
34434
- })(["flex:100%;"]);
34435
- var Answer = /*#__PURE__*/styled.p.withConfig({
34436
- displayName: "QuestionDialog__Answer",
34437
- componentId: "sc-bxc5u0-3"
34438
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34439
- return props.color;
34440
- });
34441
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34442
- displayName: "QuestionDialog__AnswerSelectedIcon",
34443
- componentId: "sc-bxc5u0-4"
34444
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
34445
- return props.color;
34446
- });
34447
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34448
- displayName: "QuestionDialog__AnswerRow",
34449
- componentId: "sc-bxc5u0-5"
34450
- })(["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;}"]);
34451
-
34452
- var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34453
-
34454
- (function (NPCDialogType) {
34455
- NPCDialogType["TextOnly"] = "TextOnly";
34456
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
34457
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
34458
- var NPCDialog = function NPCDialog(_ref) {
34459
- var text = _ref.text,
34460
- type = _ref.type,
34461
- _onClose = _ref.onClose,
34462
- imagePath = _ref.imagePath,
34463
- _ref$isQuestionDialog = _ref.isQuestionDialog,
34464
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
34465
- questions = _ref.questions,
34466
- answers = _ref.answers;
34467
- return React__default.createElement(RPGUIContainer, {
34468
- type: exports.RPGUIContainerTypes.FramedGold,
34469
- width: isQuestionDialog ? '600px' : '80%',
34470
- height: '180px'
34471
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
34472
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34473
- }, React__default.createElement(QuestionDialog, {
34474
- questions: questions,
34475
- answers: answers,
34476
- onClose: function onClose() {
34477
- if (_onClose) {
34478
- _onClose();
34278
+ onSubmit: function onSubmit(e) {
34279
+ e.preventDefault();
34280
+ var numberValue = Number(value);
34281
+ if (Number.isNaN(numberValue)) {
34282
+ return;
34479
34283
  }
34480
- }
34481
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34482
- src: imagePath || img$8
34483
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$d, null, React__default.createElement(TextContainer$1, {
34484
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34485
- }, React__default.createElement(NPCDialogText, {
34486
- type: type,
34487
- text: text || 'No text provided.',
34488
- onClose: function onClose() {
34489
- if (_onClose) {
34490
- _onClose();
34284
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
34285
+ },
34286
+ noValidate: true
34287
+ }, React__default.createElement(StyledInput, {
34288
+ innerRef: inputRef,
34289
+ placeholder: "Enter quantity",
34290
+ type: "number",
34291
+ min: 1,
34292
+ max: quantity,
34293
+ value: value,
34294
+ onChange: function onChange(e) {
34295
+ if (Number(e.target.value) >= quantity) {
34296
+ setValue(quantity);
34297
+ return;
34491
34298
  }
34299
+ setValue(e.target.value);
34300
+ },
34301
+ onBlur: function onBlur(e) {
34302
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
34303
+ setValue(newValue);
34492
34304
  }
34493
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34494
- src: imagePath || img$8
34495
- })))));
34305
+ }), React__default.createElement(RangeSlider, {
34306
+ type: exports.RangeSliderType.Slider,
34307
+ valueMin: 1,
34308
+ valueMax: quantity,
34309
+ width: "100%",
34310
+ onChange: setValue,
34311
+ value: value
34312
+ }), React__default.createElement(Button, {
34313
+ buttonType: exports.ButtonTypes.RPGUIButton,
34314
+ type: "submit"
34315
+ }, "Confirm")));
34496
34316
  };
34497
- var Container$d = /*#__PURE__*/styled.div.withConfig({
34498
- displayName: "NPCDialog__Container",
34499
- componentId: "sc-1b4aw74-0"
34500
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34501
- var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
34502
- displayName: "NPCDialog__TextContainer",
34503
- componentId: "sc-1b4aw74-1"
34504
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34505
- var flex = _ref2.flex;
34506
- return flex;
34507
- });
34508
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34509
- displayName: "NPCDialog__ThumbnailContainer",
34510
- componentId: "sc-1b4aw74-2"
34511
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34512
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34513
- displayName: "NPCDialog__NPCThumbnail",
34514
- componentId: "sc-1b4aw74-3"
34515
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34317
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
34318
+ displayName: "ItemQuantitySelector__StyledContainer",
34319
+ componentId: "sc-yfdtpn-0"
34320
+ })(["display:flex;flex-direction:column;align-items:center;"]);
34321
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
34322
+ displayName: "ItemQuantitySelector__StyledForm",
34323
+ componentId: "sc-yfdtpn-1"
34324
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
34325
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
34326
+ displayName: "ItemQuantitySelector__StyledInput",
34327
+ componentId: "sc-yfdtpn-2"
34328
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
34329
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
34330
+ displayName: "ItemQuantitySelector__CloseButton",
34331
+ componentId: "sc-yfdtpn-3"
34332
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
34516
34333
 
34517
- (function (ImgSide) {
34518
- ImgSide["right"] = "right";
34519
- ImgSide["left"] = "left";
34520
- })(exports.ImgSide || (exports.ImgSide = {}));
34521
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
34522
- var _textAndTypeArray$sli;
34523
- var _onClose = _ref.onClose,
34524
- textAndTypeArray = _ref.textAndTypeArray;
34525
- var _useState = React.useState(false),
34526
- showGoNextIndicator = _useState[0],
34527
- setShowGoNextIndicator = _useState[1];
34528
- var _useState2 = React.useState(0),
34529
- slide = _useState2[0],
34530
- setSlide = _useState2[1];
34531
- var onHandleSpacePress = function onHandleSpacePress(event) {
34532
- if (event.code === 'Space') {
34533
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34534
- setSlide(function (prev) {
34535
- return prev + 1;
34536
- });
34537
- } else {
34538
- // if there's no more text chunks, close the dialog
34539
- _onClose();
34540
- }
34334
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34335
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
34336
+ settingShortcutIndex = _ref.settingShortcutIndex,
34337
+ shortcuts = _ref.shortcuts,
34338
+ removeShortcut = _ref.removeShortcut,
34339
+ atlasJSON = _ref.atlasJSON,
34340
+ atlasIMG = _ref.atlasIMG;
34341
+ var getContent = function getContent(index) {
34342
+ var _shortcuts$index, _shortcuts$index3;
34343
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
34344
+ var _shortcuts$index2;
34345
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
34346
+ if (!_payload) return null;
34347
+ return React__default.createElement(SpriteFromAtlas, {
34348
+ atlasIMG: atlasIMG,
34349
+ atlasJSON: atlasJSON,
34350
+ spriteKey: shared.getItemTextureKeyPath({
34351
+ key: _payload.texturePath,
34352
+ texturePath: _payload.texturePath,
34353
+ stackQty: _payload.stackQty || 1
34354
+ }, atlasJSON),
34355
+ width: 32,
34356
+ height: 32,
34357
+ imgScale: 1.6,
34358
+ imgStyle: {
34359
+ left: '5px'
34360
+ }
34361
+ });
34541
34362
  }
34363
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
34364
+ return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
34365
+ return word[0];
34366
+ }));
34542
34367
  };
34543
- React.useEffect(function () {
34544
- document.addEventListener('keydown', onHandleSpacePress);
34545
- return function () {
34546
- return document.removeEventListener('keydown', onHandleSpacePress);
34547
- };
34548
- }, [slide]);
34549
- return React__default.createElement(RPGUIContainer, {
34550
- type: exports.RPGUIContainerTypes.FramedGold,
34551
- width: '50%',
34552
- height: '180px'
34553
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$e, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
34554
- flex: '70%'
34555
- }, React__default.createElement(NPCDialogText, {
34556
- onStartStep: function onStartStep() {
34557
- return setShowGoNextIndicator(false);
34558
- },
34559
- onEndStep: function onEndStep() {
34560
- return setShowGoNextIndicator(true);
34561
- },
34562
- text: textAndTypeArray[slide].text || 'No text provided.',
34563
- onClose: function onClose() {
34564
- if (_onClose) {
34565
- _onClose();
34566
- }
34368
+ return React__default.createElement(Container$b, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34369
+ id: "shortcuts_list"
34370
+ }, Array.from({
34371
+ length: 6
34372
+ }).map(function (_, i) {
34373
+ return React__default.createElement(Shortcut, {
34374
+ key: i,
34375
+ onPointerDown: function onPointerDown() {
34376
+ removeShortcut(i);
34377
+ if (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None) setSettingShortcutIndex(i);
34378
+ },
34379
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
34380
+ isBeingSet: settingShortcutIndex === i
34381
+ }, getContent(i));
34382
+ })));
34383
+ };
34384
+ var Container$b = /*#__PURE__*/styled.div.withConfig({
34385
+ displayName: "ShortcutsSetter__Container",
34386
+ componentId: "sc-xuouuf-0"
34387
+ })(["p{margin:0;margin-left:0.5rem;}"]);
34388
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
34389
+ displayName: "ShortcutsSetter__Shortcut",
34390
+ componentId: "sc-xuouuf-1"
34391
+ })(["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) {
34392
+ var isBeingSet = _ref2.isBeingSet;
34393
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
34394
+ }, uiColors.darkGray, uiColors.gray);
34395
+ var List = /*#__PURE__*/styled.div.withConfig({
34396
+ displayName: "ShortcutsSetter__List",
34397
+ componentId: "sc-xuouuf-2"
34398
+ })(["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;"]);
34399
+
34400
+ var ItemContainer$1 = function ItemContainer(_ref) {
34401
+ var itemContainer = _ref.itemContainer,
34402
+ onClose = _ref.onClose,
34403
+ _onMouseOver = _ref.onMouseOver,
34404
+ _onSelected = _ref.onSelected,
34405
+ onItemClick = _ref.onItemClick,
34406
+ type = _ref.type,
34407
+ atlasJSON = _ref.atlasJSON,
34408
+ atlasIMG = _ref.atlasIMG,
34409
+ _ref$disableContextMe = _ref.disableContextMenu,
34410
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
34411
+ onItemDragEnd = _ref.onItemDragEnd,
34412
+ onItemDragStart = _ref.onItemDragStart,
34413
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
34414
+ _onOutsideDrop = _ref.onOutsideDrop,
34415
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34416
+ initialPosition = _ref.initialPosition,
34417
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34418
+ dragScale = _ref.dragScale,
34419
+ shortcuts = _ref.shortcuts,
34420
+ setItemShortcut = _ref.setItemShortcut,
34421
+ removeShortcut = _ref.removeShortcut;
34422
+ var _useState = React.useState({
34423
+ isOpen: false,
34424
+ maxQuantity: 1,
34425
+ callback: function callback(_quantity) {}
34426
+ }),
34427
+ quantitySelect = _useState[0],
34428
+ setQuantitySelect = _useState[1];
34429
+ var _useState2 = React.useState(-1),
34430
+ settingShortcutIndex = _useState2[0],
34431
+ setSettingShortcutIndex = _useState2[1];
34432
+ var onRenderSlots = function onRenderSlots() {
34433
+ var slots = [];
34434
+ for (var i = 0; i < itemContainer.slotQty; i++) {
34435
+ var _itemContainer$slots;
34436
+ slots.push(React__default.createElement(ItemSlot, {
34437
+ isContextMenuDisabled: disableContextMenu,
34438
+ key: i,
34439
+ slotIndex: i,
34440
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
34441
+ itemContainerType: type,
34442
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
34443
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34444
+ },
34445
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
34446
+ if (settingShortcutIndex !== -1) {
34447
+ setSettingShortcutIndex(-1);
34448
+ if (itemType === shared.ItemType.Consumable || itemType === shared.ItemType.Tool) {
34449
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, settingShortcutIndex);
34450
+ }
34451
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
34452
+ },
34453
+ onSelected: function onSelected(optionId, item) {
34454
+ if (_onSelected) _onSelected(optionId, item);
34455
+ },
34456
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
34457
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
34458
+ },
34459
+ onDragEnd: function onDragEnd(quantity) {
34460
+ if (onItemDragEnd) onItemDragEnd(quantity);
34461
+ },
34462
+ dragScale: dragScale,
34463
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
34464
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
34465
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
34466
+ setQuantitySelect({
34467
+ isOpen: true,
34468
+ maxQuantity: maxQuantity,
34469
+ callback: callback
34470
+ });
34471
+ },
34472
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
34473
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
34474
+ },
34475
+ onOutsideDrop: function onOutsideDrop(item, position) {
34476
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
34477
+ },
34478
+ atlasIMG: atlasIMG,
34479
+ atlasJSON: atlasJSON,
34480
+ isSelectingShortcut: settingShortcutIndex !== -1
34481
+ }));
34567
34482
  }
34568
- })), React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
34569
- src: textAndTypeArray[slide].imagePath || img$8
34570
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
34571
- right: '10.5rem',
34572
- src: img$7
34573
- })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
34574
- src: textAndTypeArray[slide].imagePath || img$8
34575
- })), React__default.createElement(TextContainer$2, {
34576
- flex: '70%'
34577
- }, React__default.createElement(NPCDialogText, {
34578
- onStartStep: function onStartStep() {
34579
- return setShowGoNextIndicator(false);
34580
- },
34581
- onEndStep: function onEndStep() {
34582
- return setShowGoNextIndicator(true);
34483
+ return slots;
34484
+ };
34485
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
34486
+ title: itemContainer.name || 'Container',
34487
+ onClose: onClose,
34488
+ initialPosition: initialPosition
34489
+ }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
34490
+ setSettingShortcutIndex: setSettingShortcutIndex,
34491
+ settingShortcutIndex: settingShortcutIndex,
34492
+ shortcuts: shortcuts,
34493
+ removeShortcut: removeShortcut,
34494
+ atlasIMG: atlasIMG,
34495
+ atlasJSON: atlasJSON
34496
+ }), React__default.createElement(ItemsContainer, {
34497
+ className: "item-container-body"
34498
+ }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
34499
+ quantity: quantitySelect.maxQuantity,
34500
+ onConfirm: function onConfirm(quantity) {
34501
+ quantitySelect.callback(quantity);
34502
+ setQuantitySelect({
34503
+ isOpen: false,
34504
+ maxQuantity: 1,
34505
+ callback: function callback() {}
34506
+ });
34583
34507
  },
34584
- text: textAndTypeArray[slide].text || 'No text provided.',
34585
34508
  onClose: function onClose() {
34586
- if (_onClose) {
34587
- _onClose();
34588
- }
34509
+ quantitySelect.callback(-1);
34510
+ setQuantitySelect({
34511
+ isOpen: false,
34512
+ maxQuantity: 1,
34513
+ callback: function callback() {}
34514
+ });
34589
34515
  }
34590
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
34591
- right: '1rem',
34592
- src: img$7
34593
- }))), ")"));
34516
+ })));
34594
34517
  };
34595
- var Container$e = /*#__PURE__*/styled.div.withConfig({
34596
- displayName: "NPCMultiDialog__Container",
34597
- componentId: "sc-rvu5wg-0"
34598
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34599
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
34600
- displayName: "NPCMultiDialog__TextContainer",
34601
- componentId: "sc-rvu5wg-1"
34602
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34603
- var flex = _ref2.flex;
34604
- return flex;
34605
- });
34606
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
34607
- displayName: "NPCMultiDialog__ThumbnailContainer",
34608
- componentId: "sc-rvu5wg-2"
34609
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34610
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
34611
- displayName: "NPCMultiDialog__NPCThumbnail",
34612
- componentId: "sc-rvu5wg-3"
34613
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34614
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
34615
- displayName: "NPCMultiDialog__PressSpaceIndicator",
34616
- componentId: "sc-rvu5wg-4"
34617
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34618
- var right = _ref3.right;
34619
- return right;
34620
- });
34518
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
34519
+ displayName: "ItemContainer__ItemsContainer",
34520
+ componentId: "sc-15y5p9l-0"
34521
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
34522
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
34523
+ displayName: "ItemContainer__QuantitySelectorContainer",
34524
+ componentId: "sc-15y5p9l-1"
34525
+ })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
34621
34526
 
34622
- var HistoryDialog = function HistoryDialog(_ref) {
34623
- var backgroundImgPath = _ref.backgroundImgPath,
34624
- fullCoverBackground = _ref.fullCoverBackground,
34625
- questions = _ref.questions,
34626
- answers = _ref.answers,
34627
- text = _ref.text,
34628
- imagePath = _ref.imagePath,
34629
- textAndTypeArray = _ref.textAndTypeArray,
34630
- onClose = _ref.onClose;
34631
- var _useState = React.useState(0),
34632
- img = _useState[0],
34633
- setImage = _useState[1];
34527
+ var ItemSelector = function ItemSelector(_ref) {
34528
+ var atlasIMG = _ref.atlasIMG,
34529
+ atlasJSON = _ref.atlasJSON,
34530
+ options = _ref.options,
34531
+ onClose = _ref.onClose,
34532
+ onSelect = _ref.onSelect;
34533
+ var _useState = React.useState(),
34534
+ selectedValue = _useState[0],
34535
+ setSelectedValue = _useState[1];
34536
+ var handleClick = function handleClick() {
34537
+ var element = document.querySelector("input[name='test']:checked");
34538
+ var elementValue = element.value;
34539
+ setSelectedValue(elementValue);
34540
+ };
34541
+ React.useEffect(function () {
34542
+ if (selectedValue) {
34543
+ onSelect(selectedValue);
34544
+ }
34545
+ }, [selectedValue]);
34546
+ return React__default.createElement(DraggableContainer, {
34547
+ type: exports.RPGUIContainerTypes.Framed,
34548
+ width: "500px",
34549
+ cancelDrag: ".equipment-container-body .arrow-selector",
34550
+ onCloseButton: function onCloseButton() {
34551
+ if (onClose) {
34552
+ onClose();
34553
+ }
34554
+ }
34555
+ }, React__default.createElement("div", {
34556
+ style: {
34557
+ width: '100%'
34558
+ }
34559
+ }, React__default.createElement(Title$2, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
34560
+ className: "golden"
34561
+ })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
34562
+ return React__default.createElement(RadioOptionsWrapper$1, {
34563
+ key: index
34564
+ }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
34565
+ atlasIMG: atlasIMG,
34566
+ atlasJSON: atlasJSON,
34567
+ spriteKey: option.imageKey,
34568
+ imgScale: 3
34569
+ })), React__default.createElement("div", null, React__default.createElement("input", {
34570
+ className: "rpgui-radio",
34571
+ type: "radio",
34572
+ value: option.name,
34573
+ name: "test"
34574
+ }), React__default.createElement("label", {
34575
+ onPointerDown: handleClick,
34576
+ style: {
34577
+ display: 'flex',
34578
+ alignItems: 'center'
34579
+ }
34580
+ }, option.name, " ", React__default.createElement("br", null), option.description)));
34581
+ })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
34582
+ buttonType: exports.ButtonTypes.RPGUIButton,
34583
+ onPointerDown: onClose
34584
+ }, "Cancel"), React__default.createElement(Button, {
34585
+ buttonType: exports.ButtonTypes.RPGUIButton
34586
+ }, "Select")));
34587
+ };
34588
+ var Title$2 = /*#__PURE__*/styled.h1.withConfig({
34589
+ displayName: "ItemSelector__Title",
34590
+ componentId: "sc-gptoxp-0"
34591
+ })(["font-size:0.6rem;color:yellow !important;"]);
34592
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
34593
+ displayName: "ItemSelector__Subtitle",
34594
+ componentId: "sc-gptoxp-1"
34595
+ })(["font-size:0.4rem;color:yellow !important;"]);
34596
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
34597
+ displayName: "ItemSelector__RadioInputScroller",
34598
+ componentId: "sc-gptoxp-2"
34599
+ })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
34600
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34601
+ displayName: "ItemSelector__SpriteAtlasWrapper",
34602
+ componentId: "sc-gptoxp-3"
34603
+ })(["margin-right:40px;"]);
34604
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34605
+ displayName: "ItemSelector__RadioOptionsWrapper",
34606
+ componentId: "sc-gptoxp-4"
34607
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
34608
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34609
+ displayName: "ItemSelector__ButtonWrapper",
34610
+ componentId: "sc-gptoxp-5"
34611
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
34612
+
34613
+ var ListMenu = function ListMenu(_ref) {
34614
+ var options = _ref.options,
34615
+ onSelected = _ref.onSelected,
34616
+ x = _ref.x,
34617
+ y = _ref.y;
34618
+ return React__default.createElement(Container$c, {
34619
+ x: x,
34620
+ y: y
34621
+ }, React__default.createElement("ul", {
34622
+ className: "rpgui-list-imp",
34623
+ style: {
34624
+ overflow: 'hidden'
34625
+ }
34626
+ }, options.map(function (params, index) {
34627
+ return React__default.createElement(ListElement$1, {
34628
+ key: (params == null ? void 0 : params.id) || index,
34629
+ onPointerDown: function onPointerDown() {
34630
+ onSelected(params == null ? void 0 : params.id);
34631
+ }
34632
+ }, (params == null ? void 0 : params.text) || 'No text');
34633
+ })));
34634
+ };
34635
+ var Container$c = /*#__PURE__*/styled.div.withConfig({
34636
+ displayName: "ListMenu__Container",
34637
+ componentId: "sc-i9097t-0"
34638
+ })(["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) {
34639
+ return props.y || 0;
34640
+ }, function (props) {
34641
+ return props.x || 0;
34642
+ }, uiFonts.size.xsmall);
34643
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
34644
+ displayName: "ListMenu__ListElement",
34645
+ componentId: "sc-i9097t-1"
34646
+ })(["margin-right:0.5rem;"]);
34647
+
34648
+ var img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34649
+
34650
+ 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';
34651
+
34652
+ (function (ImgSide) {
34653
+ ImgSide["right"] = "right";
34654
+ ImgSide["left"] = "left";
34655
+ })(exports.ImgSide || (exports.ImgSide = {}));
34656
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
34657
+ var _textAndTypeArray$sli;
34658
+ var _onClose = _ref.onClose,
34659
+ textAndTypeArray = _ref.textAndTypeArray;
34660
+ var _useState = React.useState(false),
34661
+ showGoNextIndicator = _useState[0],
34662
+ setShowGoNextIndicator = _useState[1];
34663
+ var _useState2 = React.useState(0),
34664
+ slide = _useState2[0],
34665
+ setSlide = _useState2[1];
34634
34666
  var onHandleSpacePress = function onHandleSpacePress(event) {
34635
34667
  if (event.code === 'Space') {
34636
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
34637
- setImage(function (prev) {
34668
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34669
+ setSlide(function (prev) {
34638
34670
  return prev + 1;
34639
34671
  });
34640
34672
  } else {
34641
34673
  // if there's no more text chunks, close the dialog
34642
- onClose();
34674
+ _onClose();
34643
34675
  }
34644
34676
  }
34645
34677
  };
@@ -34648,540 +34680,295 @@ var HistoryDialog = function HistoryDialog(_ref) {
34648
34680
  return function () {
34649
34681
  return document.removeEventListener('keydown', onHandleSpacePress);
34650
34682
  };
34651
- }, [backgroundImgPath]);
34652
- return React__default.createElement(BackgroundContainer, {
34653
- imgPath: backgroundImgPath[img],
34654
- fullImg: fullCoverBackground
34655
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
34656
- textAndTypeArray: textAndTypeArray,
34657
- onClose: onClose
34658
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
34659
- questions: questions,
34660
- answers: answers,
34661
- onClose: onClose
34662
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
34663
- text: text,
34664
- imagePath: imagePath,
34665
- onClose: onClose,
34666
- type: exports.NPCDialogType.TextAndThumbnail
34667
- }) : React__default.createElement(NPCDialog, {
34668
- text: text,
34669
- onClose: onClose,
34670
- type: exports.NPCDialogType.TextOnly
34671
- })));
34672
- };
34673
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
34674
- displayName: "HistoryDialog__BackgroundContainer",
34675
- componentId: "sc-u6oe75-0"
34676
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
34677
- return props.imgPath;
34678
- }, function (props) {
34679
- return props.imgPath ? 'cover' : 'auto';
34680
- });
34681
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
34682
- displayName: "HistoryDialog__DialogContainer",
34683
- componentId: "sc-u6oe75-1"
34684
- })(["display:flex;justify-content:center;padding-top:200px;"]);
34685
-
34686
- var SlotsContainer = function SlotsContainer(_ref) {
34687
- var children = _ref.children,
34688
- title = _ref.title,
34689
- onClose = _ref.onClose,
34690
- _onPositionChange = _ref.onPositionChange,
34691
- onOutsideClick = _ref.onOutsideClick,
34692
- initialPosition = _ref.initialPosition;
34693
- return React__default.createElement(DraggableContainer, {
34694
- title: title,
34695
- type: exports.RPGUIContainerTypes.Framed,
34696
- onCloseButton: function onCloseButton() {
34697
- if (onClose) {
34698
- onClose();
34699
- }
34683
+ }, [slide]);
34684
+ return React__default.createElement(RPGUIContainer, {
34685
+ type: exports.RPGUIContainerTypes.FramedGold,
34686
+ width: '50%',
34687
+ height: '180px'
34688
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$d, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
34689
+ flex: '70%'
34690
+ }, React__default.createElement(NPCDialogText, {
34691
+ onStartStep: function onStartStep() {
34692
+ return setShowGoNextIndicator(false);
34700
34693
  },
34701
- width: "400px",
34702
- cancelDrag: ".item-container-body, #shortcuts_list",
34703
- onPositionChange: function onPositionChange(_ref2) {
34704
- var x = _ref2.x,
34705
- y = _ref2.y;
34706
- if (_onPositionChange) {
34707
- _onPositionChange({
34708
- x: x,
34709
- y: y
34710
- });
34694
+ onEndStep: function onEndStep() {
34695
+ return setShowGoNextIndicator(true);
34696
+ },
34697
+ text: textAndTypeArray[slide].text || 'No text provided.',
34698
+ onClose: function onClose() {
34699
+ if (_onClose) {
34700
+ _onClose();
34711
34701
  }
34702
+ }
34703
+ })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34704
+ src: textAndTypeArray[slide].imagePath || img$6
34705
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
34706
+ right: '10.5rem',
34707
+ src: img$7
34708
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34709
+ src: textAndTypeArray[slide].imagePath || img$6
34710
+ })), React__default.createElement(TextContainer, {
34711
+ flex: '70%'
34712
+ }, React__default.createElement(NPCDialogText, {
34713
+ onStartStep: function onStartStep() {
34714
+ return setShowGoNextIndicator(false);
34712
34715
  },
34713
- onOutsideClick: onOutsideClick,
34714
- initialPosition: initialPosition
34715
- }, children);
34716
+ onEndStep: function onEndStep() {
34717
+ return setShowGoNextIndicator(true);
34718
+ },
34719
+ text: textAndTypeArray[slide].text || 'No text provided.',
34720
+ onClose: function onClose() {
34721
+ if (_onClose) {
34722
+ _onClose();
34723
+ }
34724
+ }
34725
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
34726
+ right: '1rem',
34727
+ src: img$7
34728
+ }))), ")"));
34716
34729
  };
34730
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34731
+ displayName: "NPCMultiDialog__Container",
34732
+ componentId: "sc-rvu5wg-0"
34733
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34734
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
34735
+ displayName: "NPCMultiDialog__TextContainer",
34736
+ componentId: "sc-rvu5wg-1"
34737
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34738
+ var flex = _ref2.flex;
34739
+ return flex;
34740
+ });
34741
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34742
+ displayName: "NPCMultiDialog__ThumbnailContainer",
34743
+ componentId: "sc-rvu5wg-2"
34744
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34745
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34746
+ displayName: "NPCMultiDialog__NPCThumbnail",
34747
+ componentId: "sc-rvu5wg-3"
34748
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34749
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34750
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
34751
+ componentId: "sc-rvu5wg-4"
34752
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34753
+ var right = _ref3.right;
34754
+ return right;
34755
+ });
34717
34756
 
34718
- (function (RangeSliderType) {
34719
- RangeSliderType["Slider"] = "rpgui-slider";
34720
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
34721
- })(exports.RangeSliderType || (exports.RangeSliderType = {}));
34722
- var RangeSlider = function RangeSlider(_ref) {
34723
- var type = _ref.type,
34724
- valueMin = _ref.valueMin,
34725
- valueMax = _ref.valueMax,
34726
- width = _ref.width,
34727
- _onChange = _ref.onChange,
34728
- value = _ref.value;
34729
- var sliderId = uuid.v4();
34730
- var containerRef = React.useRef(null);
34731
- var _useState = React.useState(0),
34732
- left = _useState[0],
34733
- setLeft = _useState[1];
34734
- React.useEffect(function () {
34735
- var _containerRef$current;
34736
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
34737
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
34738
- }, [value, valueMin, valueMax]);
34739
- var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
34740
- return React__default.createElement("div", {
34741
- style: {
34742
- width: width,
34743
- position: 'relative'
34744
- },
34745
- className: "rpgui-slider-container " + typeClass,
34746
- id: "rpgui-slider-" + sliderId,
34747
- ref: containerRef
34748
- }, React__default.createElement("div", {
34749
- style: {
34750
- pointerEvents: 'none'
34751
- }
34752
- }, React__default.createElement("div", {
34753
- className: "rpgui-slider-track " + typeClass
34754
- }), React__default.createElement("div", {
34755
- className: "rpgui-slider-left-edge " + typeClass
34756
- }), React__default.createElement("div", {
34757
- className: "rpgui-slider-right-edge " + typeClass
34758
- }), React__default.createElement("div", {
34759
- className: "rpgui-slider-thumb " + typeClass,
34760
- style: {
34761
- left: left
34762
- }
34763
- })), React__default.createElement(Input$1, {
34764
- type: "range",
34765
- style: {
34766
- width: width
34767
- },
34768
- min: valueMin,
34769
- max: valueMax,
34770
- onChange: function onChange(e) {
34771
- return _onChange(Number(e.target.value));
34772
- },
34773
- value: value,
34774
- className: "rpgui-cursor-point"
34775
- }));
34776
- };
34777
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
34778
- displayName: "RangeSlider__Input",
34779
- componentId: "sc-v8mte9-0"
34780
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
34781
-
34782
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
34783
- var quantity = _ref.quantity,
34784
- onConfirm = _ref.onConfirm,
34785
- onClose = _ref.onClose;
34786
- var _useState = React.useState(quantity),
34787
- value = _useState[0],
34788
- setValue = _useState[1];
34789
- var inputRef = React.useRef(null);
34790
- React.useEffect(function () {
34791
- if (inputRef.current) {
34792
- inputRef.current.focus();
34793
- inputRef.current.select();
34794
- var closeSelector = function closeSelector(e) {
34795
- if (e.key === 'Escape') {
34796
- onClose();
34797
- }
34798
- };
34799
- document.addEventListener('keydown', closeSelector);
34800
- return function () {
34801
- document.removeEventListener('keydown', closeSelector);
34802
- };
34803
- }
34804
- return function () {};
34805
- }, []);
34806
- return React__default.createElement(StyledContainer, {
34807
- type: exports.RPGUIContainerTypes.Framed,
34808
- width: "25rem"
34809
- }, React__default.createElement(CloseButton$2, {
34810
- className: "container-close",
34811
- onPointerDown: onClose
34812
- }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
34813
- style: {
34814
- width: '100%'
34815
- },
34816
- onSubmit: function onSubmit(e) {
34817
- e.preventDefault();
34818
- var numberValue = Number(value);
34819
- if (Number.isNaN(numberValue)) {
34820
- return;
34821
- }
34822
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
34823
- },
34824
- noValidate: true
34825
- }, React__default.createElement(StyledInput, {
34826
- innerRef: inputRef,
34827
- placeholder: "Enter quantity",
34828
- type: "number",
34829
- min: 1,
34830
- max: quantity,
34831
- value: value,
34832
- onChange: function onChange(e) {
34833
- if (Number(e.target.value) >= quantity) {
34834
- setValue(quantity);
34835
- return;
34836
- }
34837
- setValue(e.target.value);
34838
- },
34839
- onBlur: function onBlur(e) {
34840
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
34841
- setValue(newValue);
34842
- }
34843
- }), React__default.createElement(RangeSlider, {
34844
- type: exports.RangeSliderType.Slider,
34845
- valueMin: 1,
34846
- valueMax: quantity,
34847
- width: "100%",
34848
- onChange: setValue,
34849
- value: value
34850
- }), React__default.createElement(Button, {
34851
- buttonType: exports.ButtonTypes.RPGUIButton,
34852
- type: "submit"
34853
- }, "Confirm")));
34854
- };
34855
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
34856
- displayName: "ItemQuantitySelector__StyledContainer",
34857
- componentId: "sc-yfdtpn-0"
34858
- })(["display:flex;flex-direction:column;align-items:center;"]);
34859
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
34860
- displayName: "ItemQuantitySelector__StyledForm",
34861
- componentId: "sc-yfdtpn-1"
34862
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
34863
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
34864
- displayName: "ItemQuantitySelector__StyledInput",
34865
- componentId: "sc-yfdtpn-2"
34866
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
34867
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
34868
- displayName: "ItemQuantitySelector__CloseButton",
34869
- componentId: "sc-yfdtpn-3"
34870
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
34871
-
34872
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
34873
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
34874
- settingShortcutIndex = _ref.settingShortcutIndex,
34875
- shortcuts = _ref.shortcuts,
34876
- removeShortcut = _ref.removeShortcut,
34877
- atlasJSON = _ref.atlasJSON,
34878
- atlasIMG = _ref.atlasIMG;
34879
- var getContent = function getContent(index) {
34880
- var _shortcuts$index, _shortcuts$index3;
34881
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
34882
- var _shortcuts$index2;
34883
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
34884
- if (!_payload) return null;
34885
- return React__default.createElement(SpriteFromAtlas, {
34886
- atlasIMG: atlasIMG,
34887
- atlasJSON: atlasJSON,
34888
- spriteKey: shared.getItemTextureKeyPath({
34889
- key: _payload.texturePath,
34890
- texturePath: _payload.texturePath,
34891
- stackQty: _payload.stackQty || 1
34892
- }, atlasJSON),
34893
- width: 32,
34894
- height: 32,
34895
- imgScale: 1.6,
34896
- imgStyle: {
34897
- left: '5px'
34898
- }
34899
- });
34900
- }
34901
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
34902
- return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
34903
- return word[0];
34904
- }));
34905
- };
34906
- return React__default.createElement(Container$f, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34907
- id: "shortcuts_list"
34908
- }, Array.from({
34909
- length: 6
34910
- }).map(function (_, i) {
34911
- return React__default.createElement(Shortcut, {
34912
- key: i,
34913
- onPointerDown: function onPointerDown() {
34914
- removeShortcut(i);
34915
- if (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None) setSettingShortcutIndex(i);
34916
- },
34917
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
34918
- isBeingSet: settingShortcutIndex === i
34919
- }, getContent(i));
34920
- })));
34757
+ //@ts-ignore
34758
+ var useEventListener = function useEventListener(type, handler, el) {
34759
+ if (el === void 0) {
34760
+ el = window;
34761
+ }
34762
+ var savedHandler = React__default.useRef();
34763
+ React__default.useEffect(function () {
34764
+ savedHandler.current = handler;
34765
+ }, [handler]);
34766
+ React__default.useEffect(function () {
34767
+ //@ts-ignore
34768
+ var listener = function listener(e) {
34769
+ return savedHandler.current(e);
34770
+ };
34771
+ el.addEventListener(type, listener);
34772
+ return function () {
34773
+ el.removeEventListener(type, listener);
34774
+ };
34775
+ }, [type, el]);
34921
34776
  };
34922
- var Container$f = /*#__PURE__*/styled.div.withConfig({
34923
- displayName: "ShortcutsSetter__Container",
34924
- componentId: "sc-xuouuf-0"
34925
- })(["p{margin:0;margin-left:0.5rem;}"]);
34926
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
34927
- displayName: "ShortcutsSetter__Shortcut",
34928
- componentId: "sc-xuouuf-1"
34929
- })(["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) {
34930
- var isBeingSet = _ref2.isBeingSet;
34931
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
34932
- }, uiColors.darkGray, uiColors.gray);
34933
- var List = /*#__PURE__*/styled.div.withConfig({
34934
- displayName: "ShortcutsSetter__List",
34935
- componentId: "sc-xuouuf-2"
34936
- })(["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;"]);
34937
34777
 
34938
- var ItemContainer$1 = function ItemContainer(_ref) {
34939
- var itemContainer = _ref.itemContainer,
34940
- onClose = _ref.onClose,
34941
- _onMouseOver = _ref.onMouseOver,
34942
- _onSelected = _ref.onSelected,
34943
- onItemClick = _ref.onItemClick,
34944
- type = _ref.type,
34945
- atlasJSON = _ref.atlasJSON,
34946
- atlasIMG = _ref.atlasIMG,
34947
- _ref$disableContextMe = _ref.disableContextMenu,
34948
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
34949
- onItemDragEnd = _ref.onItemDragEnd,
34950
- onItemDragStart = _ref.onItemDragStart,
34951
- onItemPlaceDrop = _ref.onItemPlaceDrop,
34952
- _onOutsideDrop = _ref.onOutsideDrop,
34953
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34954
- initialPosition = _ref.initialPosition,
34955
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34956
- dragScale = _ref.dragScale,
34957
- shortcuts = _ref.shortcuts,
34958
- setItemShortcut = _ref.setItemShortcut,
34959
- removeShortcut = _ref.removeShortcut;
34960
- var _useState = React.useState({
34961
- isOpen: false,
34962
- maxQuantity: 1,
34963
- callback: function callback(_quantity) {}
34964
- }),
34965
- quantitySelect = _useState[0],
34966
- setQuantitySelect = _useState[1];
34967
- var _useState2 = React.useState(-1),
34968
- settingShortcutIndex = _useState2[0],
34969
- setSettingShortcutIndex = _useState2[1];
34970
- var onRenderSlots = function onRenderSlots() {
34971
- var slots = [];
34972
- for (var i = 0; i < itemContainer.slotQty; i++) {
34973
- var _itemContainer$slots;
34974
- slots.push(React__default.createElement(ItemSlot, {
34975
- isContextMenuDisabled: disableContextMenu,
34976
- key: i,
34977
- slotIndex: i,
34978
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
34979
- itemContainerType: type,
34980
- onMouseOver: function onMouseOver(event, slotIndex, item) {
34981
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34982
- },
34983
- onPointerDown: function onPointerDown(itemType, containerType, item) {
34984
- if (settingShortcutIndex !== -1) {
34985
- setSettingShortcutIndex(-1);
34986
- if (itemType === shared.ItemType.Consumable || itemType === shared.ItemType.Tool) {
34987
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, settingShortcutIndex);
34988
- }
34989
- } else if (onItemClick) onItemClick(item, itemType, containerType);
34990
- },
34991
- onSelected: function onSelected(optionId, item) {
34992
- if (_onSelected) _onSelected(optionId, item);
34993
- },
34994
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
34995
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
34996
- },
34997
- onDragEnd: function onDragEnd(quantity) {
34998
- if (onItemDragEnd) onItemDragEnd(quantity);
34999
- },
35000
- dragScale: dragScale,
35001
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
35002
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
35003
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
35004
- setQuantitySelect({
35005
- isOpen: true,
35006
- maxQuantity: maxQuantity,
35007
- callback: callback
35008
- });
35009
- },
35010
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
35011
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
35012
- },
35013
- onOutsideDrop: function onOutsideDrop(item, position) {
35014
- if (_onOutsideDrop) _onOutsideDrop(item, position);
35015
- },
35016
- atlasIMG: atlasIMG,
35017
- atlasJSON: atlasJSON,
35018
- isSelectingShortcut: settingShortcutIndex !== -1
35019
- }));
35020
- }
35021
- return slots;
35022
- };
35023
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
35024
- title: itemContainer.name || 'Container',
35025
- onClose: onClose,
35026
- initialPosition: initialPosition
35027
- }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
35028
- setSettingShortcutIndex: setSettingShortcutIndex,
35029
- settingShortcutIndex: settingShortcutIndex,
35030
- shortcuts: shortcuts,
35031
- removeShortcut: removeShortcut,
35032
- atlasIMG: atlasIMG,
35033
- atlasJSON: atlasJSON
35034
- }), React__default.createElement(ItemsContainer, {
35035
- className: "item-container-body"
35036
- }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
35037
- quantity: quantitySelect.maxQuantity,
35038
- onConfirm: function onConfirm(quantity) {
35039
- quantitySelect.callback(quantity);
35040
- setQuantitySelect({
35041
- isOpen: false,
35042
- maxQuantity: 1,
35043
- callback: function callback() {}
35044
- });
35045
- },
35046
- onClose: function onClose() {
35047
- quantitySelect.callback(-1);
35048
- setQuantitySelect({
35049
- isOpen: false,
35050
- maxQuantity: 1,
35051
- callback: function callback() {}
35052
- });
35053
- }
35054
- })));
34778
+ var DynamicText = function DynamicText(_ref) {
34779
+ var text = _ref.text,
34780
+ onFinish = _ref.onFinish,
34781
+ onStart = _ref.onStart;
34782
+ var _useState = React.useState(''),
34783
+ textState = _useState[0],
34784
+ setTextState = _useState[1];
34785
+ React.useEffect(function () {
34786
+ var i = 0;
34787
+ var interval = setInterval(function () {
34788
+ // on every interval, show one more character
34789
+ if (i === 0) {
34790
+ if (onStart) {
34791
+ onStart();
34792
+ }
34793
+ }
34794
+ if (i < text.length) {
34795
+ setTextState(text.substring(0, i + 1));
34796
+ i++;
34797
+ } else {
34798
+ clearInterval(interval);
34799
+ if (onFinish) {
34800
+ onFinish();
34801
+ }
34802
+ }
34803
+ }, 50);
34804
+ return function () {
34805
+ clearInterval(interval);
34806
+ };
34807
+ }, [text]);
34808
+ return React__default.createElement(TextContainer$1, null, textState);
35055
34809
  };
35056
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
35057
- displayName: "ItemContainer__ItemsContainer",
35058
- componentId: "sc-15y5p9l-0"
35059
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
35060
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
35061
- displayName: "ItemContainer__QuantitySelectorContainer",
35062
- componentId: "sc-15y5p9l-1"
35063
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
34810
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
34811
+ displayName: "DynamicText__TextContainer",
34812
+ componentId: "sc-1ggl9nd-0"
34813
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
35064
34814
 
35065
- var ItemSelector = function ItemSelector(_ref) {
35066
- var atlasIMG = _ref.atlasIMG,
35067
- atlasJSON = _ref.atlasJSON,
35068
- options = _ref.options,
35069
- onClose = _ref.onClose,
35070
- onSelect = _ref.onSelect;
35071
- var _useState = React.useState(),
35072
- selectedValue = _useState[0],
35073
- setSelectedValue = _useState[1];
35074
- var handleClick = function handleClick() {
35075
- var element = document.querySelector("input[name='test']:checked");
35076
- var elementValue = element.value;
35077
- setSelectedValue(elementValue);
34815
+ var QuestionDialog = function QuestionDialog(_ref) {
34816
+ var questions = _ref.questions,
34817
+ answers = _ref.answers,
34818
+ onClose = _ref.onClose;
34819
+ var _useState = React.useState(questions[0]),
34820
+ currentQuestion = _useState[0],
34821
+ setCurrentQuestion = _useState[1];
34822
+ var _useState2 = React.useState(false),
34823
+ canShowAnswers = _useState2[0],
34824
+ setCanShowAnswers = _useState2[1];
34825
+ var onGetFirstAnswer = function onGetFirstAnswer() {
34826
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34827
+ return null;
34828
+ }
34829
+ var firstAnswerId = currentQuestion.answerIds[0];
34830
+ return answers.find(function (answer) {
34831
+ return answer.id === firstAnswerId;
34832
+ });
35078
34833
  };
34834
+ var _useState3 = React.useState(onGetFirstAnswer()),
34835
+ currentAnswer = _useState3[0],
34836
+ setCurrentAnswer = _useState3[1];
35079
34837
  React.useEffect(function () {
35080
- if (selectedValue) {
35081
- onSelect(selectedValue);
34838
+ setCurrentAnswer(onGetFirstAnswer());
34839
+ }, [currentQuestion]);
34840
+ var onGetAnswers = function onGetAnswers(answerIds) {
34841
+ return answerIds.map(function (answerId) {
34842
+ return answers.find(function (answer) {
34843
+ return answer.id === answerId;
34844
+ });
34845
+ });
34846
+ };
34847
+ var onKeyPress = function onKeyPress(e) {
34848
+ switch (e.key) {
34849
+ case 'ArrowDown':
34850
+ // select next answer, if any.
34851
+ // if no next answer, select first answer
34852
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34853
+ // (answer) => answer?.id === currentAnswer!.id + 1
34854
+ // );
34855
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34856
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34857
+ });
34858
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34859
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34860
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
34861
+ });
34862
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34863
+ break;
34864
+ case 'ArrowUp':
34865
+ // select previous answer, if any.
34866
+ // if no previous answer, select last answer
34867
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34868
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34869
+ });
34870
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34871
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34872
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
34873
+ });
34874
+ if (previousAnswer) {
34875
+ setCurrentAnswer(previousAnswer);
34876
+ } else {
34877
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34878
+ }
34879
+ break;
34880
+ case 'Enter':
34881
+ setCanShowAnswers(false);
34882
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34883
+ onClose();
34884
+ return;
34885
+ } else {
34886
+ setCurrentQuestion(questions.find(function (question) {
34887
+ return question.id === currentAnswer.nextQuestionId;
34888
+ }));
34889
+ }
34890
+ break;
35082
34891
  }
35083
- }, [selectedValue]);
35084
- return React__default.createElement(DraggableContainer, {
35085
- type: exports.RPGUIContainerTypes.Framed,
35086
- width: "500px",
35087
- cancelDrag: ".equipment-container-body .arrow-selector",
35088
- onCloseButton: function onCloseButton() {
35089
- if (onClose) {
35090
- onClose();
35091
- }
34892
+ };
34893
+ useEventListener('keydown', onKeyPress);
34894
+ var onAnswerClick = function onAnswerClick(answer) {
34895
+ setCanShowAnswers(false);
34896
+ if (answer.nextQuestionId) {
34897
+ // if there is a next question, go to it
34898
+ setCurrentQuestion(questions.find(function (question) {
34899
+ return question.id === answer.nextQuestionId;
34900
+ }));
34901
+ } else {
34902
+ // else, finish dialog!
34903
+ onClose();
35092
34904
  }
35093
- }, React__default.createElement("div", {
35094
- style: {
35095
- width: '100%'
34905
+ };
34906
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34907
+ var answerIds = currentQuestion.answerIds;
34908
+ if (!answerIds) {
34909
+ return null;
35096
34910
  }
35097
- }, React__default.createElement(Title$2, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
35098
- className: "golden"
35099
- })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
35100
- return React__default.createElement(RadioOptionsWrapper$1, {
35101
- key: index
35102
- }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
35103
- atlasIMG: atlasIMG,
35104
- atlasJSON: atlasJSON,
35105
- spriteKey: option.imageKey,
35106
- imgScale: 3
35107
- })), React__default.createElement("div", null, React__default.createElement("input", {
35108
- className: "rpgui-radio",
35109
- type: "radio",
35110
- value: option.name,
35111
- name: "test"
35112
- }), React__default.createElement("label", {
35113
- onPointerDown: handleClick,
35114
- style: {
35115
- display: 'flex',
35116
- alignItems: 'center'
35117
- }
35118
- }, option.name, " ", React__default.createElement("br", null), option.description)));
35119
- })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
35120
- buttonType: exports.ButtonTypes.RPGUIButton,
35121
- onPointerDown: onClose
35122
- }, "Cancel"), React__default.createElement(Button, {
35123
- buttonType: exports.ButtonTypes.RPGUIButton
35124
- }, "Select")));
35125
- };
35126
- var Title$2 = /*#__PURE__*/styled.h1.withConfig({
35127
- displayName: "ItemSelector__Title",
35128
- componentId: "sc-gptoxp-0"
35129
- })(["font-size:0.6rem;color:yellow !important;"]);
35130
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
35131
- displayName: "ItemSelector__Subtitle",
35132
- componentId: "sc-gptoxp-1"
35133
- })(["font-size:0.4rem;color:yellow !important;"]);
35134
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
35135
- displayName: "ItemSelector__RadioInputScroller",
35136
- componentId: "sc-gptoxp-2"
35137
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
35138
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35139
- displayName: "ItemSelector__SpriteAtlasWrapper",
35140
- componentId: "sc-gptoxp-3"
35141
- })(["margin-right:40px;"]);
35142
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35143
- displayName: "ItemSelector__RadioOptionsWrapper",
35144
- componentId: "sc-gptoxp-4"
35145
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
35146
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35147
- displayName: "ItemSelector__ButtonWrapper",
35148
- componentId: "sc-gptoxp-5"
35149
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
35150
-
35151
- var ListMenu = function ListMenu(_ref) {
35152
- var options = _ref.options,
35153
- onSelected = _ref.onSelected,
35154
- x = _ref.x,
35155
- y = _ref.y;
35156
- return React__default.createElement(Container$g, {
35157
- x: x,
35158
- y: y
35159
- }, React__default.createElement("ul", {
35160
- className: "rpgui-list-imp",
35161
- style: {
35162
- overflow: 'hidden'
34911
+ var answers = onGetAnswers(answerIds);
34912
+ if (!answers) {
34913
+ return null;
35163
34914
  }
35164
- }, options.map(function (params, index) {
35165
- return React__default.createElement(ListElement$1, {
35166
- key: (params == null ? void 0 : params.id) || index,
35167
- onPointerDown: function onPointerDown() {
35168
- onSelected(params == null ? void 0 : params.id);
34915
+ return answers.map(function (answer) {
34916
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34917
+ var selectedColor = isSelected ? 'yellow' : 'white';
34918
+ if (answer) {
34919
+ return React__default.createElement(AnswerRow, {
34920
+ key: "answer_" + answer.id
34921
+ }, React__default.createElement(AnswerSelectedIcon, {
34922
+ color: selectedColor
34923
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
34924
+ key: answer.id,
34925
+ onPointerDown: function onPointerDown() {
34926
+ return onAnswerClick(answer);
34927
+ },
34928
+ color: selectedColor
34929
+ }, answer.text));
35169
34930
  }
35170
- }, (params == null ? void 0 : params.text) || 'No text');
35171
- })));
35172
- };
35173
- var Container$g = /*#__PURE__*/styled.div.withConfig({
35174
- displayName: "ListMenu__Container",
35175
- componentId: "sc-i9097t-0"
35176
- })(["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) {
35177
- return props.y || 0;
35178
- }, function (props) {
35179
- return props.x || 0;
35180
- }, uiFonts.size.xsmall);
35181
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
35182
- displayName: "ListMenu__ListElement",
35183
- componentId: "sc-i9097t-1"
35184
- })(["margin-right:0.5rem;"]);
34931
+ return null;
34932
+ });
34933
+ };
34934
+ return React__default.createElement(Container$e, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
34935
+ text: currentQuestion.text,
34936
+ onStart: function onStart() {
34937
+ return setCanShowAnswers(false);
34938
+ },
34939
+ onFinish: function onFinish() {
34940
+ return setCanShowAnswers(true);
34941
+ }
34942
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34943
+ };
34944
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
34945
+ displayName: "QuestionDialog__Container",
34946
+ componentId: "sc-bxc5u0-0"
34947
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34948
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34949
+ displayName: "QuestionDialog__QuestionContainer",
34950
+ componentId: "sc-bxc5u0-1"
34951
+ })(["flex:100%;width:100%;"]);
34952
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34953
+ displayName: "QuestionDialog__AnswersContainer",
34954
+ componentId: "sc-bxc5u0-2"
34955
+ })(["flex:100%;"]);
34956
+ var Answer = /*#__PURE__*/styled.p.withConfig({
34957
+ displayName: "QuestionDialog__Answer",
34958
+ componentId: "sc-bxc5u0-3"
34959
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34960
+ return props.color;
34961
+ });
34962
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34963
+ displayName: "QuestionDialog__AnswerSelectedIcon",
34964
+ componentId: "sc-bxc5u0-4"
34965
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
34966
+ return props.color;
34967
+ });
34968
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34969
+ displayName: "QuestionDialog__AnswerRow",
34970
+ componentId: "sc-bxc5u0-5"
34971
+ })(["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;}"]);
35185
34972
 
35186
34973
  var ProgressBar = function ProgressBar(_ref) {
35187
34974
  var max = _ref.max,
@@ -35200,7 +34987,7 @@ var ProgressBar = function ProgressBar(_ref) {
35200
34987
  }
35201
34988
  return value * 100 / max;
35202
34989
  };
35203
- return React__default.createElement(Container$h, {
34990
+ return React__default.createElement(Container$f, {
35204
34991
  className: "rpgui-progress",
35205
34992
  "data-value": calculatePercentageValue(max, value) / 100,
35206
34993
  "data-rpguitype": "progress",
@@ -35229,7 +35016,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
35229
35016
  displayName: "ProgressBar__TextOverlay",
35230
35017
  componentId: "sc-qa6fzh-1"
35231
35018
  })(["width:100%;position:relative;"]);
35232
- var Container$h = /*#__PURE__*/styled.div.withConfig({
35019
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
35233
35020
  displayName: "ProgressBar__Container",
35234
35021
  componentId: "sc-qa6fzh-2"
35235
35022
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -35240,7 +35027,7 @@ var Container$h = /*#__PURE__*/styled.div.withConfig({
35240
35027
  return props.style;
35241
35028
  });
35242
35029
 
35243
- var img$9 = 'data:image/png;base64,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';
35030
+ var img$8 = 'data:image/png;base64,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';
35244
35031
 
35245
35032
  var QuestInfo = function QuestInfo(_ref) {
35246
35033
  var quests = _ref.quests,
@@ -35282,7 +35069,7 @@ var QuestInfo = function QuestInfo(_ref) {
35282
35069
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35283
35070
  className: "drag-handler"
35284
35071
  }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35285
- src: quests[currentIndex].thumbnail || img$9
35072
+ src: quests[currentIndex].thumbnail || img$8
35286
35073
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35287
35074
  className: "golden"
35288
35075
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -35301,7 +35088,7 @@ var QuestInfo = function QuestInfo(_ref) {
35301
35088
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35302
35089
  className: "drag-handler"
35303
35090
  }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35304
- src: quests[0].thumbnail || img$9
35091
+ src: quests[0].thumbnail || img$8
35305
35092
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35306
35093
  className: "golden"
35307
35094
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -35550,7 +35337,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35550
35337
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
35551
35338
  _ref$margin = _ref.margin,
35552
35339
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
35553
- return React__default.createElement(Container$i, {
35340
+ return React__default.createElement(Container$g, {
35554
35341
  className: "simple-progress-bar"
35555
35342
  }, React__default.createElement(ProgressBarContainer, {
35556
35343
  margin: margin
@@ -35559,7 +35346,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35559
35346
  bgColor: bgColor
35560
35347
  }))));
35561
35348
  };
35562
- var Container$i = /*#__PURE__*/styled.div.withConfig({
35349
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
35563
35350
  displayName: "SimpleProgressBar__Container",
35564
35351
  componentId: "sc-mbeil3-0"
35565
35352
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -35786,7 +35573,7 @@ var Spell = function Spell(_ref) {
35786
35573
  isSettingShortcut = _ref.isSettingShortcut,
35787
35574
  minMagicLevelRequired = _ref.minMagicLevelRequired;
35788
35575
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
35789
- return React__default.createElement(Container$j, {
35576
+ return React__default.createElement(Container$h, {
35790
35577
  disabled: disabled,
35791
35578
  onPointerDown: onPointerDown == null ? void 0 : onPointerDown.bind(null, spellKey),
35792
35579
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -35799,7 +35586,7 @@ var Spell = function Spell(_ref) {
35799
35586
  className: "mana"
35800
35587
  }, manaCost)));
35801
35588
  };
35802
- var Container$j = /*#__PURE__*/styled.button.withConfig({
35589
+ var Container$h = /*#__PURE__*/styled.button.withConfig({
35803
35590
  displayName: "Spell__Container",
35804
35591
  componentId: "sc-j96fa2-0"
35805
35592
  })(["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) {
@@ -35884,7 +35671,7 @@ var Spellbook = function Spellbook(_ref) {
35884
35671
  width: "inherit",
35885
35672
  height: "inherit",
35886
35673
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
35887
- }, React__default.createElement(Container$k, null, React__default.createElement(Title$6, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
35674
+ }, React__default.createElement(Container$i, null, React__default.createElement(Title$6, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
35888
35675
  setSettingShortcutIndex: setSettingShortcutIndex,
35889
35676
  settingShortcutIndex: settingShortcutIndex,
35890
35677
  shortcuts: shortcuts,
@@ -35916,7 +35703,7 @@ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
35916
35703
  displayName: "Spellbook__Title",
35917
35704
  componentId: "sc-r02nfq-0"
35918
35705
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
35919
- var Container$k = /*#__PURE__*/styled.div.withConfig({
35706
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
35920
35707
  displayName: "Spellbook__Container",
35921
35708
  componentId: "sc-r02nfq-1"
35922
35709
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -35930,16 +35717,16 @@ var TextArea = function TextArea(_ref) {
35930
35717
  return React__default.createElement("textarea", Object.assign({}, props));
35931
35718
  };
35932
35719
 
35933
- var img$a = 'data:image/gif;base64,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';
35720
+ var img$9 = 'data:image/gif;base64,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';
35934
35721
 
35935
- var img$b = 'data:image/gif;base64,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';
35722
+ var img$a = 'data:image/gif;base64,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';
35936
35723
 
35937
- var img$c = 'data:image/gif;base64,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';
35724
+ var img$b = 'data:image/gif;base64,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';
35938
35725
 
35939
35726
  var DayNightPeriod = function DayNightPeriod(_ref) {
35940
35727
  var _periodOfDaySrcFiles;
35941
35728
  var periodOfDay = _ref.periodOfDay;
35942
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
35729
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
35943
35730
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
35944
35731
  src: periodOfDaySrcFiles[periodOfDay]
35945
35732
  }));
@@ -35949,7 +35736,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
35949
35736
  componentId: "sc-10t97fw-0"
35950
35737
  })(["width:100%;img{width:67%;}"]);
35951
35738
 
35952
- 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';
35739
+ 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';
35953
35740
 
35954
35741
  var TimeWidget = function TimeWidget(_ref) {
35955
35742
  var onClose = _ref.onClose,
@@ -35964,7 +35751,7 @@ var TimeWidget = function TimeWidget(_ref) {
35964
35751
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
35965
35752
  displayName: "TimeWidget__WidgetContainer",
35966
35753
  componentId: "sc-1ja236h-0"
35967
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
35754
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
35968
35755
  var Time = /*#__PURE__*/styled.div.withConfig({
35969
35756
  displayName: "TimeWidget__Time",
35970
35757
  componentId: "sc-1ja236h-1"
@@ -35978,37 +35765,25 @@ var DayNightContainer = /*#__PURE__*/styled.div.withConfig({
35978
35765
  componentId: "sc-1ja236h-3"
35979
35766
  })(["margin-top:-0.3rem;margin-left:-0.3rem;"]);
35980
35767
 
35768
+ var outerQty = 10;
35981
35769
  var TradingItemRow = function TradingItemRow(_ref) {
35982
35770
  var atlasIMG = _ref.atlasIMG,
35983
35771
  atlasJSON = _ref.atlasJSON,
35984
35772
  onQuantityChange = _ref.onQuantityChange,
35985
35773
  traderItem = _ref.traderItem,
35986
35774
  selectedQty = _ref.selectedQty;
35987
- var onLeftClick = function onLeftClick() {
35988
- if (selectedQty > 0) {
35989
- var newQuantity = selectedQty - 1;
35990
- onQuantityChange(traderItem, newQuantity);
35775
+ var onLeftClick = function onLeftClick(qty) {
35776
+ if (qty === void 0) {
35777
+ qty = 1;
35991
35778
  }
35779
+ onQuantityChange(traderItem, Math.max(0, selectedQty - qty));
35992
35780
  };
35993
- var onRightClick = function onRightClick() {
35781
+ var onRightClick = function onRightClick(qty) {
35994
35782
  var _traderItem$qty;
35995
- if (selectedQty < ((_traderItem$qty = traderItem.qty) != null ? _traderItem$qty : 999)) {
35996
- var newQuantity = selectedQty + 1;
35997
- onQuantityChange(traderItem, newQuantity);
35998
- }
35999
- };
36000
- var onLeftOutClick = function onLeftOutClick() {
36001
- if (selectedQty >= 10) {
36002
- var newQuantity = selectedQty - 10;
36003
- onQuantityChange(traderItem, newQuantity);
36004
- }
36005
- };
36006
- var onRightOutClick = function onRightOutClick() {
36007
- var _traderItem$qty2;
36008
- if (selectedQty + 10 <= ((_traderItem$qty2 = traderItem.qty) != null ? _traderItem$qty2 : 999)) {
36009
- var newQuantity = selectedQty + 10;
36010
- onQuantityChange(traderItem, newQuantity);
35783
+ if (qty === void 0) {
35784
+ qty = 1;
36011
35785
  }
35786
+ onQuantityChange(traderItem, Math.min((_traderItem$qty = traderItem.qty) != null ? _traderItem$qty : 999, selectedQty + qty));
36012
35787
  };
36013
35788
  return React__default.createElement(ItemWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer$1, null, React__default.createElement(SpriteFromAtlas, {
36014
35789
  atlasIMG: atlasIMG,
@@ -36026,7 +35801,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
36026
35801
  size: 32,
36027
35802
  className: "arrow-selector",
36028
35803
  direction: "left",
36029
- onPointerDown: onLeftOutClick
35804
+ onPointerDown: onLeftClick.bind(null, outerQty)
36030
35805
  }), React__default.createElement(StyledArrow, {
36031
35806
  size: 32,
36032
35807
  className: "arrow-selector",
@@ -36041,7 +35816,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
36041
35816
  size: 32,
36042
35817
  className: "arrow-selector",
36043
35818
  direction: "right",
36044
- onPointerDown: onRightOutClick
35819
+ onPointerDown: onRightClick.bind(null, outerQty)
36045
35820
  })));
36046
35821
  };
36047
35822
  var StyledArrow = /*#__PURE__*/styled(SelectArrow).withConfig({
@@ -36212,17 +35987,230 @@ var Truncate = function Truncate(_ref) {
36212
35987
  var _ref$maxLines = _ref.maxLines,
36213
35988
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
36214
35989
  children = _ref.children;
36215
- return React__default.createElement(Container$l, {
35990
+ return React__default.createElement(Container$j, {
36216
35991
  maxLines: maxLines
36217
35992
  }, children);
36218
35993
  };
36219
- var Container$l = /*#__PURE__*/styled.div.withConfig({
35994
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
36220
35995
  displayName: "Truncate__Container",
36221
35996
  componentId: "sc-6x00qb-0"
36222
35997
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
36223
35998
  return props.maxLines;
36224
35999
  });
36225
36000
 
36001
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
36002
+
36003
+ var chunkString = function chunkString(str, length) {
36004
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
36005
+ };
36006
+
36007
+ var img$d = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
36008
+
36009
+ var NPCDialogText = function NPCDialogText(_ref) {
36010
+ var text = _ref.text,
36011
+ onClose = _ref.onClose,
36012
+ onEndStep = _ref.onEndStep,
36013
+ onStartStep = _ref.onStartStep,
36014
+ type = _ref.type;
36015
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
36016
+ function maxCharacters(width) {
36017
+ // Set the font size to 16 pixels
36018
+ var fontSize = 11.2;
36019
+ // Calculate the number of characters that can fit in one line
36020
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
36021
+ // Calculate the number of lines that can fit in the div
36022
+ var linesPerDiv = Math.floor(180 / fontSize);
36023
+ // Calculate the maximum number of characters that can fit in the div
36024
+ var maxCharacters = charactersPerLine * linesPerDiv;
36025
+ // Return the maximum number of characters
36026
+ return Math.round(maxCharacters / 5);
36027
+ }
36028
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
36029
+ var _useState = React.useState(0),
36030
+ chunkIndex = _useState[0],
36031
+ setChunkIndex = _useState[1];
36032
+ var onHandleSpacePress = function onHandleSpacePress(event) {
36033
+ if (event.code === 'Space') {
36034
+ goToNextStep();
36035
+ }
36036
+ };
36037
+ var goToNextStep = function goToNextStep() {
36038
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
36039
+ if (hasNextChunk) {
36040
+ setChunkIndex(function (prev) {
36041
+ return prev + 1;
36042
+ });
36043
+ } else {
36044
+ // if there's no more text chunks, close the dialog
36045
+ onClose();
36046
+ }
36047
+ };
36048
+ React.useEffect(function () {
36049
+ document.addEventListener('keydown', onHandleSpacePress);
36050
+ return function () {
36051
+ return document.removeEventListener('keydown', onHandleSpacePress);
36052
+ };
36053
+ }, [chunkIndex]);
36054
+ var _useState2 = React.useState(false),
36055
+ showGoNextIndicator = _useState2[0],
36056
+ setShowGoNextIndicator = _useState2[1];
36057
+ return React__default.createElement(Container$k, null, React__default.createElement(DynamicText, {
36058
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
36059
+ onFinish: function onFinish() {
36060
+ setShowGoNextIndicator(true);
36061
+ onEndStep && onEndStep();
36062
+ },
36063
+ onStart: function onStart() {
36064
+ setShowGoNextIndicator(false);
36065
+ onStartStep && onStartStep();
36066
+ }
36067
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
36068
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
36069
+ src: IS_MOBILE_OR_TABLET ? img$d : img$7,
36070
+ onPointerDown: function onPointerDown() {
36071
+ goToNextStep();
36072
+ }
36073
+ }));
36074
+ };
36075
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
36076
+ displayName: "NPCDialogText__Container",
36077
+ componentId: "sc-1cxkdh9-0"
36078
+ })([""]);
36079
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
36080
+ displayName: "NPCDialogText__PressSpaceIndicator",
36081
+ componentId: "sc-1cxkdh9-1"
36082
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
36083
+ var right = _ref2.right;
36084
+ return right;
36085
+ });
36086
+
36087
+ (function (NPCDialogType) {
36088
+ NPCDialogType["TextOnly"] = "TextOnly";
36089
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
36090
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
36091
+ var NPCDialog = function NPCDialog(_ref) {
36092
+ var text = _ref.text,
36093
+ type = _ref.type,
36094
+ _onClose = _ref.onClose,
36095
+ imagePath = _ref.imagePath,
36096
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
36097
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
36098
+ questions = _ref.questions,
36099
+ answers = _ref.answers;
36100
+ return React__default.createElement(RPGUIContainer, {
36101
+ type: exports.RPGUIContainerTypes.FramedGold,
36102
+ width: isQuestionDialog ? '600px' : '80%',
36103
+ height: '180px'
36104
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
36105
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36106
+ }, React__default.createElement(QuestionDialog, {
36107
+ questions: questions,
36108
+ answers: answers,
36109
+ onClose: function onClose() {
36110
+ if (_onClose) {
36111
+ _onClose();
36112
+ }
36113
+ }
36114
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
36115
+ src: imagePath || img$6
36116
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$l, null, React__default.createElement(TextContainer$2, {
36117
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36118
+ }, React__default.createElement(NPCDialogText, {
36119
+ type: type,
36120
+ text: text || 'No text provided.',
36121
+ onClose: function onClose() {
36122
+ if (_onClose) {
36123
+ _onClose();
36124
+ }
36125
+ }
36126
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
36127
+ src: imagePath || img$6
36128
+ })))));
36129
+ };
36130
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
36131
+ displayName: "NPCDialog__Container",
36132
+ componentId: "sc-1b4aw74-0"
36133
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
36134
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
36135
+ displayName: "NPCDialog__TextContainer",
36136
+ componentId: "sc-1b4aw74-1"
36137
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
36138
+ var flex = _ref2.flex;
36139
+ return flex;
36140
+ });
36141
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
36142
+ displayName: "NPCDialog__ThumbnailContainer",
36143
+ componentId: "sc-1b4aw74-2"
36144
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
36145
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
36146
+ displayName: "NPCDialog__NPCThumbnail",
36147
+ componentId: "sc-1b4aw74-3"
36148
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
36149
+
36150
+ var HistoryDialog = function HistoryDialog(_ref) {
36151
+ var backgroundImgPath = _ref.backgroundImgPath,
36152
+ fullCoverBackground = _ref.fullCoverBackground,
36153
+ questions = _ref.questions,
36154
+ answers = _ref.answers,
36155
+ text = _ref.text,
36156
+ imagePath = _ref.imagePath,
36157
+ textAndTypeArray = _ref.textAndTypeArray,
36158
+ onClose = _ref.onClose;
36159
+ var _useState = React.useState(0),
36160
+ img = _useState[0],
36161
+ setImage = _useState[1];
36162
+ var onHandleSpacePress = function onHandleSpacePress(event) {
36163
+ if (event.code === 'Space') {
36164
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
36165
+ setImage(function (prev) {
36166
+ return prev + 1;
36167
+ });
36168
+ } else {
36169
+ // if there's no more text chunks, close the dialog
36170
+ onClose();
36171
+ }
36172
+ }
36173
+ };
36174
+ React.useEffect(function () {
36175
+ document.addEventListener('keydown', onHandleSpacePress);
36176
+ return function () {
36177
+ return document.removeEventListener('keydown', onHandleSpacePress);
36178
+ };
36179
+ }, [backgroundImgPath]);
36180
+ return React__default.createElement(BackgroundContainer, {
36181
+ imgPath: backgroundImgPath[img],
36182
+ fullImg: fullCoverBackground
36183
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
36184
+ textAndTypeArray: textAndTypeArray,
36185
+ onClose: onClose
36186
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
36187
+ questions: questions,
36188
+ answers: answers,
36189
+ onClose: onClose
36190
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
36191
+ text: text,
36192
+ imagePath: imagePath,
36193
+ onClose: onClose,
36194
+ type: exports.NPCDialogType.TextAndThumbnail
36195
+ }) : React__default.createElement(NPCDialog, {
36196
+ text: text,
36197
+ onClose: onClose,
36198
+ type: exports.NPCDialogType.TextOnly
36199
+ })));
36200
+ };
36201
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
36202
+ displayName: "HistoryDialog__BackgroundContainer",
36203
+ componentId: "sc-u6oe75-0"
36204
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
36205
+ return props.imgPath;
36206
+ }, function (props) {
36207
+ return props.imgPath ? 'cover' : 'auto';
36208
+ });
36209
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
36210
+ displayName: "HistoryDialog__DialogContainer",
36211
+ componentId: "sc-u6oe75-1"
36212
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
36213
+
36226
36214
  exports.Button = Button;
36227
36215
  exports.CharacterSelection = CharacterSelection;
36228
36216
  exports.Chat = Chat;