@rpg-engine/long-bow 0.4.6 → 0.4.7

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 (164) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/SkillProgressBar.d.ts +1 -0
  4. package/dist/long-bow.cjs.development.js +1158 -1130
  5. package/dist/long-bow.cjs.development.js.map +1 -1
  6. package/dist/long-bow.cjs.production.min.js +1 -1
  7. package/dist/long-bow.cjs.production.min.js.map +1 -1
  8. package/dist/long-bow.esm.js +1235 -1207
  9. package/dist/long-bow.esm.js.map +1 -1
  10. package/package.json +100 -100
  11. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  12. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  13. package/src/components/Arrow/SelectArrow.tsx +69 -69
  14. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  15. package/src/components/Arrow/img/arrow01-left.png +0 -0
  16. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  17. package/src/components/Arrow/img/arrow01-right.png +0 -0
  18. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  19. package/src/components/Arrow/img/arrow02-left.png +0 -0
  20. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  21. package/src/components/Arrow/img/arrow02-right.png +0 -0
  22. package/src/components/Button.tsx +40 -40
  23. package/src/components/Character/CharacterSelection.tsx +98 -98
  24. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  25. package/src/components/Chat/Chat.tsx +196 -196
  26. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  27. package/src/components/CheckButton.tsx +65 -65
  28. package/src/components/CircularController/CircularController.tsx +282 -282
  29. package/src/components/CraftBook/CraftBook.tsx +286 -286
  30. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  31. package/src/components/CraftBook/MockItems.ts +101 -101
  32. package/src/components/DraggableContainer.tsx +180 -180
  33. package/src/components/DropdownSelectorContainer.tsx +42 -42
  34. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  35. package/src/components/HistoryDialog.tsx +104 -104
  36. package/src/components/Input.tsx +15 -15
  37. package/src/components/InputRadio.tsx +41 -41
  38. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  39. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  40. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  41. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  42. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  43. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  44. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  45. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  46. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  47. package/src/components/Item/Inventory/ItemSlot.tsx +580 -580
  48. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  49. package/src/components/ListMenu.tsx +63 -63
  50. package/src/components/Marketplace/Marketplace.tsx +132 -132
  51. package/src/components/Marketplace/MarketplaceRows.tsx +171 -171
  52. package/src/components/Marketplace/__mocks__/index.tsx +65 -65
  53. package/src/components/Multitab/Tab.tsx +66 -66
  54. package/src/components/Multitab/TabBody.tsx +13 -13
  55. package/src/components/Multitab/TabsContainer.tsx +97 -97
  56. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  57. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  58. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  59. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  60. package/src/components/ProgressBar.tsx +95 -95
  61. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  62. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  63. package/src/components/QuestList.tsx +135 -135
  64. package/src/components/RPGUIContainer.tsx +47 -47
  65. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  66. package/src/components/RPGUIRoot.tsx +14 -14
  67. package/src/components/RadioButton.tsx +53 -53
  68. package/src/components/RadioInput/RadioButton.tsx +96 -96
  69. package/src/components/RadioInput/RadioInput.tsx +102 -102
  70. package/src/components/RadioInput/instruments.ts +15 -15
  71. package/src/components/RangeSlider.tsx +78 -78
  72. package/src/components/RelativeListMenu.tsx +90 -90
  73. package/src/components/ScrollList.tsx +79 -79
  74. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  75. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  76. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  77. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  78. package/src/components/SimpleProgressBar.tsx +62 -62
  79. package/src/components/SkillProgressBar.tsx +198 -133
  80. package/src/components/SkillsContainer.tsx +213 -212
  81. package/src/components/Spellbook/Spell.tsx +236 -236
  82. package/src/components/Spellbook/Spellbook.tsx +161 -161
  83. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  84. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  85. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  86. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  87. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  88. package/src/components/Spellbook/constants.ts +7 -7
  89. package/src/components/Spellbook/mockSpells.ts +84 -84
  90. package/src/components/StaticBook/StaticBook.tsx +103 -103
  91. package/src/components/TextArea.tsx +11 -11
  92. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  93. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  94. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  95. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  96. package/src/components/TradingMenu/items.mock.ts +48 -48
  97. package/src/components/Truncate.tsx +25 -25
  98. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  99. package/src/components/shared/Column.tsx +16 -16
  100. package/src/components/shared/Ellipsis.tsx +68 -68
  101. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  102. package/src/components/typography/DynamicText.tsx +49 -49
  103. package/src/constants/uiColors.ts +20 -20
  104. package/src/constants/uiDevices.ts +3 -3
  105. package/src/constants/uiFonts.ts +12 -12
  106. package/src/hooks/useEventListener.ts +21 -21
  107. package/src/hooks/useOutsideAlerter.ts +25 -25
  108. package/src/index.tsx +42 -42
  109. package/src/libs/CastingTypeHelper.ts +7 -7
  110. package/src/libs/StringHelpers.ts +3 -3
  111. package/src/libs/itemCounter.ts +21 -21
  112. package/src/mocks/atlas/entities/entities.json +20215 -20215
  113. package/src/mocks/atlas/icons/icons.json +735 -735
  114. package/src/mocks/atlas/items/items.json +12086 -12086
  115. package/src/mocks/equipmentSet.mocks.ts +391 -391
  116. package/src/mocks/itemContainer.mocks.ts +605 -605
  117. package/src/mocks/skills.mocks.ts +130 -128
  118. package/src/stories/Arrow.stories.tsx +26 -26
  119. package/src/stories/Button.stories.tsx +36 -36
  120. package/src/stories/CharacterSelection.stories.tsx +44 -44
  121. package/src/stories/CharacterStatus.stories.tsx +29 -29
  122. package/src/stories/Chat.stories.tsx +187 -187
  123. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  124. package/src/stories/CheckButton.stories.tsx +48 -48
  125. package/src/stories/CircullarController.stories.tsx +37 -37
  126. package/src/stories/CraftBook.stories.tsx +42 -42
  127. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  128. package/src/stories/DraggableContainer.stories.tsx +28 -28
  129. package/src/stories/Dropdown.stories.tsx +46 -46
  130. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  131. package/src/stories/EquipmentSet.stories.tsx +65 -65
  132. package/src/stories/HistoryDialog.stories.tsx +61 -61
  133. package/src/stories/ItemContainer.stories.tsx +201 -201
  134. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  135. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  136. package/src/stories/ItemSelector.stories.tsx +77 -77
  137. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  138. package/src/stories/ListMenu.stories.tsx +56 -56
  139. package/src/stories/Marketplace.stories.tsx +42 -42
  140. package/src/stories/MarketplaceRows.stories.tsx +28 -28
  141. package/src/stories/Multitab.stories.tsx +51 -51
  142. package/src/stories/NPCDialog.stories.tsx +130 -130
  143. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  144. package/src/stories/ProgressBar.stories.tsx +23 -23
  145. package/src/stories/PropertySelect.stories.tsx +40 -40
  146. package/src/stories/QuestInfo.stories.tsx +107 -107
  147. package/src/stories/QuestList.stories.tsx +82 -82
  148. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  149. package/src/stories/RadioButton.stories.tsx +49 -49
  150. package/src/stories/RadioInput.stories.tsx +34 -34
  151. package/src/stories/RangeSlider.stories.tsx +64 -64
  152. package/src/stories/ScrollList.stories.tsx +85 -85
  153. package/src/stories/Shortcuts.stories.tsx +39 -39
  154. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  155. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  156. package/src/stories/SkillsContainer.stories.tsx +35 -35
  157. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  158. package/src/stories/Spellbook.stories.tsx +104 -104
  159. package/src/stories/StaticBook.stories.tsx +32 -32
  160. package/src/stories/Text.stories.tsx +42 -42
  161. package/src/stories/TimeWidget.stories.tsx +27 -27
  162. package/src/stories/TradingMenu.stories.tsx +47 -47
  163. package/src/types/eventTypes.ts +4 -4
  164. package/src/types/index.d.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  import React, { Component, useState, useEffect, useRef, useMemo, Fragment } from 'react';
2
2
  import styled from 'styled-components';
3
- import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, getSPForLevel, PeriodOfDay, isMobileOrTablet } from '@rpg-engine/shared';
3
+ import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
5
5
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
6
6
  import { RxPaperPlane } from 'react-icons/rx';
@@ -14588,1026 +14588,1240 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14588
14588
  componentId: "sc-1wuddg2-1"
14589
14589
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14590
14590
 
14591
- var SlotsContainer = function SlotsContainer(_ref) {
14592
- var children = _ref.children,
14593
- title = _ref.title,
14594
- onClose = _ref.onClose,
14595
- _onPositionChange = _ref.onPositionChange,
14596
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
14597
- _onPositionChangeStart = _ref.onPositionChangeStart,
14598
- onOutsideClick = _ref.onOutsideClick,
14599
- initialPosition = _ref.initialPosition,
14600
- scale = _ref.scale;
14601
- return React.createElement(DraggableContainer, {
14602
- title: title,
14603
- type: RPGUIContainerTypes.Framed,
14604
- onCloseButton: function onCloseButton() {
14605
- if (onClose) {
14606
- onClose();
14607
- }
14608
- },
14609
- width: "400px",
14610
- cancelDrag: ".item-container-body, #shortcuts_list",
14611
- onPositionChange: function onPositionChange(_ref2) {
14612
- var x = _ref2.x,
14613
- y = _ref2.y;
14614
- if (_onPositionChange) {
14615
- _onPositionChange({
14616
- x: x,
14617
- y: y
14618
- });
14619
- }
14620
- },
14621
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14622
- var x = _ref3.x,
14623
- y = _ref3.y;
14624
- if (_onPositionChangeEnd) {
14625
- _onPositionChangeEnd({
14626
- x: x,
14627
- y: y
14628
- });
14591
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
14592
+
14593
+ var chunkString = function chunkString(str, length) {
14594
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
14595
+ };
14596
+
14597
+ var DynamicText = function DynamicText(_ref) {
14598
+ var text = _ref.text,
14599
+ onFinish = _ref.onFinish,
14600
+ onStart = _ref.onStart;
14601
+ var _useState = useState(''),
14602
+ textState = _useState[0],
14603
+ setTextState = _useState[1];
14604
+ useEffect(function () {
14605
+ var i = 0;
14606
+ var interval = setInterval(function () {
14607
+ // on every interval, show one more character
14608
+ if (i === 0) {
14609
+ if (onStart) {
14610
+ onStart();
14611
+ }
14629
14612
  }
14630
- },
14631
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
14632
- var x = _ref4.x,
14633
- y = _ref4.y;
14634
- if (_onPositionChangeStart) {
14635
- _onPositionChangeStart({
14636
- x: x,
14637
- y: y
14638
- });
14613
+ if (i < text.length) {
14614
+ setTextState(text.substring(0, i + 1));
14615
+ i++;
14616
+ } else {
14617
+ clearInterval(interval);
14618
+ if (onFinish) {
14619
+ onFinish();
14620
+ }
14639
14621
  }
14640
- },
14641
- onOutsideClick: onOutsideClick,
14642
- initialPosition: initialPosition,
14643
- scale: scale
14644
- }, children);
14622
+ }, 50);
14623
+ return function () {
14624
+ clearInterval(interval);
14625
+ };
14626
+ }, [text]);
14627
+ return React.createElement(TextContainer, null, textState);
14645
14628
  };
14629
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
14630
+ displayName: "DynamicText__TextContainer",
14631
+ componentId: "sc-1ggl9nd-0"
14632
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14646
14633
 
14647
- var RangeSliderType;
14648
- (function (RangeSliderType) {
14649
- RangeSliderType["Slider"] = "rpgui-slider";
14650
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14651
- })(RangeSliderType || (RangeSliderType = {}));
14652
- var RangeSlider = function RangeSlider(_ref) {
14653
- var type = _ref.type,
14654
- valueMin = _ref.valueMin,
14655
- valueMax = _ref.valueMax,
14656
- width = _ref.width,
14657
- _onChange = _ref.onChange,
14658
- value = _ref.value;
14659
- var sliderId = v4();
14660
- var containerRef = useRef(null);
14634
+ var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14635
+
14636
+ var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
14637
+
14638
+ var NPCDialogText = function NPCDialogText(_ref) {
14639
+ var text = _ref.text,
14640
+ onClose = _ref.onClose,
14641
+ onEndStep = _ref.onEndStep,
14642
+ onStartStep = _ref.onStartStep,
14643
+ type = _ref.type;
14644
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
14645
+ function maxCharacters(width) {
14646
+ // Set the font size to 16 pixels
14647
+ var fontSize = 11.2;
14648
+ // Calculate the number of characters that can fit in one line
14649
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
14650
+ // Calculate the number of lines that can fit in the div
14651
+ var linesPerDiv = Math.floor(180 / fontSize);
14652
+ // Calculate the maximum number of characters that can fit in the div
14653
+ var maxCharacters = charactersPerLine * linesPerDiv;
14654
+ // Return the maximum number of characters
14655
+ return Math.round(maxCharacters / 5);
14656
+ }
14657
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14661
14658
  var _useState = useState(0),
14662
- left = _useState[0],
14663
- setLeft = _useState[1];
14659
+ chunkIndex = _useState[0],
14660
+ setChunkIndex = _useState[1];
14661
+ var onHandleSpacePress = function onHandleSpacePress(event) {
14662
+ if (event.code === 'Space') {
14663
+ goToNextStep();
14664
+ }
14665
+ };
14666
+ var goToNextStep = function goToNextStep() {
14667
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14668
+ if (hasNextChunk) {
14669
+ setChunkIndex(function (prev) {
14670
+ return prev + 1;
14671
+ });
14672
+ } else {
14673
+ // if there's no more text chunks, close the dialog
14674
+ onClose();
14675
+ }
14676
+ };
14664
14677
  useEffect(function () {
14665
- var _containerRef$current;
14666
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14667
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14668
- }, [value, valueMin, valueMax]);
14669
- var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
14670
- return React.createElement("div", {
14671
- style: {
14672
- width: width,
14673
- position: 'relative'
14678
+ document.addEventListener('keydown', onHandleSpacePress);
14679
+ return function () {
14680
+ return document.removeEventListener('keydown', onHandleSpacePress);
14681
+ };
14682
+ }, [chunkIndex]);
14683
+ var _useState2 = useState(false),
14684
+ showGoNextIndicator = _useState2[0],
14685
+ setShowGoNextIndicator = _useState2[1];
14686
+ return React.createElement(Container$e, null, React.createElement(DynamicText, {
14687
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14688
+ onFinish: function onFinish() {
14689
+ setShowGoNextIndicator(true);
14690
+ onEndStep && onEndStep();
14674
14691
  },
14675
- className: "rpgui-slider-container " + typeClass,
14676
- id: "rpgui-slider-" + sliderId,
14677
- ref: containerRef
14678
- }, React.createElement("div", {
14679
- style: {
14680
- pointerEvents: 'none'
14692
+ onStart: function onStart() {
14693
+ setShowGoNextIndicator(false);
14694
+ onStartStep && onStartStep();
14681
14695
  }
14682
- }, React.createElement("div", {
14683
- className: "rpgui-slider-track " + typeClass
14684
- }), React.createElement("div", {
14685
- className: "rpgui-slider-left-edge " + typeClass
14686
- }), React.createElement("div", {
14687
- className: "rpgui-slider-right-edge " + typeClass
14688
- }), React.createElement("div", {
14689
- className: "rpgui-slider-thumb " + typeClass,
14690
- style: {
14691
- left: left
14696
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
14697
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14698
+ src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14699
+ onPointerDown: function onPointerDown() {
14700
+ goToNextStep();
14692
14701
  }
14693
- })), React.createElement(Input$1, {
14694
- type: "range",
14695
- style: {
14696
- width: width
14697
- },
14698
- min: valueMin,
14699
- max: valueMax,
14700
- onChange: function onChange(e) {
14701
- return _onChange(Number(e.target.value));
14702
- },
14703
- value: value,
14704
- className: "rpgui-cursor-point"
14705
14702
  }));
14706
14703
  };
14707
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
14708
- displayName: "RangeSlider__Input",
14709
- componentId: "sc-v8mte9-0"
14710
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14704
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14705
+ displayName: "NPCDialogText__Container",
14706
+ componentId: "sc-1cxkdh9-0"
14707
+ })([""]);
14708
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14709
+ displayName: "NPCDialogText__PressSpaceIndicator",
14710
+ componentId: "sc-1cxkdh9-1"
14711
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14712
+ var right = _ref2.right;
14713
+ return right;
14714
+ });
14711
14715
 
14712
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14713
- var quantity = _ref.quantity,
14714
- onConfirm = _ref.onConfirm,
14716
+ //@ts-ignore
14717
+ var useEventListener = function useEventListener(type, handler, el) {
14718
+ if (el === void 0) {
14719
+ el = window;
14720
+ }
14721
+ var savedHandler = React.useRef();
14722
+ React.useEffect(function () {
14723
+ savedHandler.current = handler;
14724
+ }, [handler]);
14725
+ React.useEffect(function () {
14726
+ //@ts-ignore
14727
+ var listener = function listener(e) {
14728
+ return savedHandler.current(e);
14729
+ };
14730
+ el.addEventListener(type, listener);
14731
+ return function () {
14732
+ el.removeEventListener(type, listener);
14733
+ };
14734
+ }, [type, el]);
14735
+ };
14736
+
14737
+ var QuestionDialog = function QuestionDialog(_ref) {
14738
+ var questions = _ref.questions,
14739
+ answers = _ref.answers,
14715
14740
  onClose = _ref.onClose;
14716
- var _useState = useState(quantity),
14717
- value = _useState[0],
14718
- setValue = _useState[1];
14719
- var inputRef = useRef(null);
14720
- useEffect(function () {
14721
- if (inputRef.current) {
14722
- inputRef.current.focus();
14723
- inputRef.current.select();
14724
- var closeSelector = function closeSelector(e) {
14725
- if (e.key === 'Escape') {
14726
- onClose();
14727
- }
14728
- };
14729
- document.addEventListener('keydown', closeSelector);
14730
- return function () {
14731
- document.removeEventListener('keydown', closeSelector);
14732
- };
14741
+ var _useState = useState(questions[0]),
14742
+ currentQuestion = _useState[0],
14743
+ setCurrentQuestion = _useState[1];
14744
+ var _useState2 = useState(false),
14745
+ canShowAnswers = _useState2[0],
14746
+ setCanShowAnswers = _useState2[1];
14747
+ var onGetFirstAnswer = function onGetFirstAnswer() {
14748
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14749
+ return null;
14733
14750
  }
14734
- return function () {};
14735
- }, []);
14736
- return React.createElement(StyledContainer, {
14737
- type: RPGUIContainerTypes.Framed,
14738
- width: "25rem"
14739
- }, React.createElement(CloseButton$2, {
14740
- className: "container-close",
14741
- onPointerDown: onClose
14742
- }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
14743
- style: {
14744
- width: '100%'
14745
- },
14746
- onSubmit: function onSubmit(e) {
14747
- e.preventDefault();
14748
- var numberValue = Number(value);
14749
- if (Number.isNaN(numberValue)) {
14750
- return;
14751
- }
14752
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14753
- },
14754
- noValidate: true
14755
- }, React.createElement(StyledInput, {
14756
- innerRef: inputRef,
14757
- placeholder: "Enter quantity",
14758
- type: "number",
14759
- min: 1,
14760
- max: quantity,
14761
- value: value,
14762
- onChange: function onChange(e) {
14763
- if (Number(e.target.value) >= quantity) {
14764
- setValue(quantity);
14765
- return;
14751
+ var firstAnswerId = currentQuestion.answerIds[0];
14752
+ return answers.find(function (answer) {
14753
+ return answer.id === firstAnswerId;
14754
+ });
14755
+ };
14756
+ var _useState3 = useState(onGetFirstAnswer()),
14757
+ currentAnswer = _useState3[0],
14758
+ setCurrentAnswer = _useState3[1];
14759
+ useEffect(function () {
14760
+ setCurrentAnswer(onGetFirstAnswer());
14761
+ }, [currentQuestion]);
14762
+ var onGetAnswers = function onGetAnswers(answerIds) {
14763
+ return answerIds.map(function (answerId) {
14764
+ return answers.find(function (answer) {
14765
+ return answer.id === answerId;
14766
+ });
14767
+ });
14768
+ };
14769
+ var onKeyPress = function onKeyPress(e) {
14770
+ switch (e.key) {
14771
+ case 'ArrowDown':
14772
+ // select next answer, if any.
14773
+ // if no next answer, select first answer
14774
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14775
+ // (answer) => answer?.id === currentAnswer!.id + 1
14776
+ // );
14777
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14778
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14779
+ });
14780
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14781
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14782
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
14783
+ });
14784
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14785
+ break;
14786
+ case 'ArrowUp':
14787
+ // select previous answer, if any.
14788
+ // if no previous answer, select last answer
14789
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14790
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14791
+ });
14792
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14793
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14794
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
14795
+ });
14796
+ if (previousAnswer) {
14797
+ setCurrentAnswer(previousAnswer);
14798
+ } else {
14799
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14800
+ }
14801
+ break;
14802
+ case 'Enter':
14803
+ setCanShowAnswers(false);
14804
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14805
+ onClose();
14806
+ return;
14807
+ } else {
14808
+ setCurrentQuestion(questions.find(function (question) {
14809
+ return question.id === currentAnswer.nextQuestionId;
14810
+ }));
14811
+ }
14812
+ break;
14813
+ }
14814
+ };
14815
+ useEventListener('keydown', onKeyPress);
14816
+ var onAnswerClick = function onAnswerClick(answer) {
14817
+ setCanShowAnswers(false);
14818
+ if (answer.nextQuestionId) {
14819
+ // if there is a next question, go to it
14820
+ setCurrentQuestion(questions.find(function (question) {
14821
+ return question.id === answer.nextQuestionId;
14822
+ }));
14823
+ } else {
14824
+ // else, finish dialog!
14825
+ onClose();
14826
+ }
14827
+ };
14828
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14829
+ var answerIds = currentQuestion.answerIds;
14830
+ if (!answerIds) {
14831
+ return null;
14832
+ }
14833
+ var answers = onGetAnswers(answerIds);
14834
+ if (!answers) {
14835
+ return null;
14836
+ }
14837
+ return answers.map(function (answer) {
14838
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14839
+ var selectedColor = isSelected ? 'yellow' : 'white';
14840
+ if (answer) {
14841
+ return React.createElement(AnswerRow, {
14842
+ key: "answer_" + answer.id
14843
+ }, React.createElement(AnswerSelectedIcon, {
14844
+ color: selectedColor
14845
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
14846
+ key: answer.id,
14847
+ onPointerDown: function onPointerDown() {
14848
+ return onAnswerClick(answer);
14849
+ },
14850
+ color: selectedColor
14851
+ }, answer.text));
14766
14852
  }
14767
- setValue(e.target.value);
14853
+ return null;
14854
+ });
14855
+ };
14856
+ return React.createElement(Container$f, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
14857
+ text: currentQuestion.text,
14858
+ onStart: function onStart() {
14859
+ return setCanShowAnswers(false);
14768
14860
  },
14769
- onBlur: function onBlur(e) {
14770
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14771
- setValue(newValue);
14861
+ onFinish: function onFinish() {
14862
+ return setCanShowAnswers(true);
14772
14863
  }
14773
- }), React.createElement(RangeSlider, {
14774
- type: RangeSliderType.Slider,
14775
- valueMin: 1,
14776
- valueMax: quantity,
14777
- width: "100%",
14778
- onChange: setValue,
14779
- value: value
14780
- }), React.createElement(Button, {
14781
- buttonType: ButtonTypes.RPGUIButton,
14782
- type: "submit"
14783
- }, "Confirm")));
14864
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14784
14865
  };
14785
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14786
- displayName: "ItemQuantitySelector__StyledContainer",
14787
- componentId: "sc-yfdtpn-0"
14788
- })(["display:flex;flex-direction:column;align-items:center;"]);
14789
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
14790
- displayName: "ItemQuantitySelector__StyledForm",
14791
- componentId: "sc-yfdtpn-1"
14792
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14793
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14794
- displayName: "ItemQuantitySelector__StyledInput",
14795
- componentId: "sc-yfdtpn-2"
14796
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14797
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14798
- displayName: "ItemQuantitySelector__CloseButton",
14799
- componentId: "sc-yfdtpn-3"
14800
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
14866
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
14867
+ displayName: "QuestionDialog__Container",
14868
+ componentId: "sc-bxc5u0-0"
14869
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14870
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14871
+ displayName: "QuestionDialog__QuestionContainer",
14872
+ componentId: "sc-bxc5u0-1"
14873
+ })(["flex:100%;width:100%;"]);
14874
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14875
+ displayName: "QuestionDialog__AnswersContainer",
14876
+ componentId: "sc-bxc5u0-2"
14877
+ })(["flex:100%;"]);
14878
+ var Answer = /*#__PURE__*/styled.p.withConfig({
14879
+ displayName: "QuestionDialog__Answer",
14880
+ componentId: "sc-bxc5u0-3"
14881
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14882
+ return props.color;
14883
+ });
14884
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14885
+ displayName: "QuestionDialog__AnswerSelectedIcon",
14886
+ componentId: "sc-bxc5u0-4"
14887
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
14888
+ return props.color;
14889
+ });
14890
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14891
+ displayName: "QuestionDialog__AnswerRow",
14892
+ componentId: "sc-bxc5u0-5"
14893
+ })(["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;}"]);
14801
14894
 
14802
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
14803
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14804
- settingShortcutIndex = _ref.settingShortcutIndex,
14805
- shortcuts = _ref.shortcuts,
14806
- removeShortcut = _ref.removeShortcut,
14807
- atlasJSON = _ref.atlasJSON,
14808
- atlasIMG = _ref.atlasIMG;
14809
- var getContent = function getContent(index) {
14810
- var _shortcuts$index, _shortcuts$index3;
14811
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
14812
- var _shortcuts$index2;
14813
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14814
- if (!_payload) return null;
14815
- return React.createElement(SpriteFromAtlas, {
14816
- atlasIMG: atlasIMG,
14817
- atlasJSON: atlasJSON,
14818
- spriteKey: getItemTextureKeyPath({
14819
- key: _payload.texturePath,
14820
- texturePath: _payload.texturePath,
14821
- stackQty: _payload.stackQty || 1,
14822
- isStackable: _payload.isStackable
14823
- }, atlasJSON),
14824
- width: 32,
14825
- height: 32,
14826
- imgScale: 1.6,
14827
- imgStyle: {
14828
- left: '5px'
14829
- }
14830
- });
14831
- }
14832
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14833
- return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14834
- return word[0];
14835
- }));
14836
- };
14837
- return React.createElement(Container$e, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
14838
- id: "shortcuts_list"
14839
- }, Array.from({
14840
- length: 6
14841
- }).map(function (_, i) {
14842
- return React.createElement(Shortcut, {
14843
- key: i,
14844
- onPointerDown: function onPointerDown() {
14845
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14846
- removeShortcut(i);
14847
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
14848
- },
14849
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14850
- isBeingSet: settingShortcutIndex === i,
14851
- id: "shortcutSetter_" + i
14852
- }, getContent(i));
14853
- })));
14854
- };
14855
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14856
- displayName: "ShortcutsSetter__Container",
14857
- componentId: "sc-xuouuf-0"
14858
- })(["p{margin:0;margin-left:0.5rem;}"]);
14859
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
14860
- displayName: "ShortcutsSetter__Shortcut",
14861
- componentId: "sc-xuouuf-1"
14862
- })(["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) {
14863
- var isBeingSet = _ref2.isBeingSet;
14864
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14865
- }, uiColors.darkGray, uiColors.gray);
14866
- var List = /*#__PURE__*/styled.div.withConfig({
14867
- displayName: "ShortcutsSetter__List",
14868
- componentId: "sc-xuouuf-2"
14869
- })(["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;"]);
14895
+ var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14870
14896
 
14871
- var ItemContainer$1 = function ItemContainer(_ref) {
14872
- var itemContainer = _ref.itemContainer,
14873
- onClose = _ref.onClose,
14874
- _onMouseOver = _ref.onMouseOver,
14875
- _onSelected = _ref.onSelected,
14876
- onItemClick = _ref.onItemClick,
14897
+ var NPCDialogType;
14898
+ (function (NPCDialogType) {
14899
+ NPCDialogType["TextOnly"] = "TextOnly";
14900
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14901
+ })(NPCDialogType || (NPCDialogType = {}));
14902
+ var NPCDialog = function NPCDialog(_ref) {
14903
+ var text = _ref.text,
14877
14904
  type = _ref.type,
14878
- atlasJSON = _ref.atlasJSON,
14879
- atlasIMG = _ref.atlasIMG,
14880
- _ref$disableContextMe = _ref.disableContextMenu,
14881
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14882
- onItemDragEnd = _ref.onItemDragEnd,
14883
- onItemDragStart = _ref.onItemDragStart,
14884
- onItemPlaceDrop = _ref.onItemPlaceDrop,
14885
- _onOutsideDrop = _ref.onOutsideDrop,
14886
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
14887
- initialPosition = _ref.initialPosition,
14888
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14889
- scale = _ref.scale,
14890
- shortcuts = _ref.shortcuts,
14891
- setItemShortcut = _ref.setItemShortcut,
14892
- removeShortcut = _ref.removeShortcut,
14893
- equipmentSet = _ref.equipmentSet,
14894
- isDepotSystem = _ref.isDepotSystem,
14895
- onPositionChangeEnd = _ref.onPositionChangeEnd,
14896
- onPositionChangeStart = _ref.onPositionChangeStart;
14897
- var _useState = useState({
14898
- isOpen: false,
14899
- maxQuantity: 1,
14900
- callback: function callback(_quantity) {}
14901
- }),
14902
- quantitySelect = _useState[0],
14903
- setQuantitySelect = _useState[1];
14904
- var _useState2 = useState(-1),
14905
- settingShortcutIndex = _useState2[0],
14906
- setSettingShortcutIndex = _useState2[1];
14907
- var handleSetShortcut = function handleSetShortcut(item, index) {
14908
- if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
14909
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
14910
- }
14911
- };
14912
- var onRenderSlots = function onRenderSlots() {
14913
- var slots = [];
14914
- for (var i = 0; i < itemContainer.slotQty; i++) {
14915
- var _itemContainer$slots;
14916
- slots.push(React.createElement(ItemSlot, {
14917
- isContextMenuDisabled: disableContextMenu,
14918
- key: i,
14919
- slotIndex: i,
14920
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14921
- itemContainerType: type,
14922
- onMouseOver: function onMouseOver(event, slotIndex, item) {
14923
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14924
- },
14925
- onPointerDown: function onPointerDown(itemType, containerType, item) {
14926
- if (settingShortcutIndex !== -1) {
14927
- setSettingShortcutIndex(-1);
14928
- handleSetShortcut(item, settingShortcutIndex);
14929
- } else if (onItemClick) onItemClick(item, itemType, containerType);
14930
- },
14931
- onSelected: function onSelected(optionId, item) {
14932
- if (_onSelected) _onSelected(optionId, item);
14933
- },
14934
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14935
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14936
- },
14937
- onDragEnd: function onDragEnd(quantity) {
14938
- if (onItemDragEnd) onItemDragEnd(quantity);
14939
- },
14940
- dragScale: scale,
14941
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14942
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14943
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14944
- setQuantitySelect({
14945
- isOpen: true,
14946
- maxQuantity: maxQuantity,
14947
- callback: callback
14948
- });
14949
- },
14950
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14951
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14952
- },
14953
- onOutsideDrop: function onOutsideDrop(item, position) {
14954
- if (_onOutsideDrop) _onOutsideDrop(item, position);
14955
- },
14956
- atlasIMG: atlasIMG,
14957
- atlasJSON: atlasJSON,
14958
- isSelectingShortcut: settingShortcutIndex !== -1,
14959
- equipmentSet: equipmentSet,
14960
- setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
14961
- isDepotSystem: isDepotSystem
14962
- }));
14905
+ _onClose = _ref.onClose,
14906
+ imagePath = _ref.imagePath,
14907
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
14908
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14909
+ questions = _ref.questions,
14910
+ answers = _ref.answers;
14911
+ return React.createElement(RPGUIContainer, {
14912
+ type: RPGUIContainerTypes.FramedGold,
14913
+ width: isQuestionDialog ? '600px' : '80%',
14914
+ height: '180px'
14915
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
14916
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14917
+ }, React.createElement(QuestionDialog, {
14918
+ questions: questions,
14919
+ answers: answers,
14920
+ onClose: function onClose() {
14921
+ if (_onClose) {
14922
+ _onClose();
14923
+ }
14963
14924
  }
14964
- return slots;
14965
- };
14966
- return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
14967
- title: itemContainer.name || 'Container',
14968
- onClose: onClose,
14969
- initialPosition: initialPosition,
14970
- scale: scale,
14971
- onPositionChangeEnd: onPositionChangeEnd,
14972
- onPositionChangeStart: onPositionChangeStart
14973
- }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
14974
- setSettingShortcutIndex: setSettingShortcutIndex,
14975
- settingShortcutIndex: settingShortcutIndex,
14976
- shortcuts: shortcuts,
14977
- removeShortcut: removeShortcut,
14978
- atlasIMG: atlasIMG,
14979
- atlasJSON: atlasJSON
14980
- }), React.createElement(ItemsContainer, {
14981
- className: "item-container-body"
14982
- }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
14983
- quantity: quantitySelect.maxQuantity,
14984
- onConfirm: function onConfirm(quantity) {
14985
- quantitySelect.callback(quantity);
14986
- setQuantitySelect({
14987
- isOpen: false,
14988
- maxQuantity: 1,
14989
- callback: function callback() {}
14990
- });
14991
- },
14925
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14926
+ src: imagePath || img$7
14927
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$g, null, React.createElement(TextContainer$1, {
14928
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14929
+ }, React.createElement(NPCDialogText, {
14930
+ type: type,
14931
+ text: text || 'No text provided.',
14992
14932
  onClose: function onClose() {
14993
- quantitySelect.callback(-1);
14994
- setQuantitySelect({
14995
- isOpen: false,
14996
- maxQuantity: 1,
14997
- callback: function callback() {}
14998
- });
14933
+ if (_onClose) {
14934
+ _onClose();
14935
+ }
14999
14936
  }
15000
- }))));
14937
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14938
+ src: imagePath || img$7
14939
+ })))));
15001
14940
  };
15002
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15003
- displayName: "ItemContainer__ItemsContainer",
15004
- componentId: "sc-15y5p9l-0"
15005
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15006
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15007
- displayName: "ItemContainer__QuantitySelectorContainer",
15008
- componentId: "sc-15y5p9l-1"
15009
- })(["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);"]);
14941
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
14942
+ displayName: "NPCDialog__Container",
14943
+ componentId: "sc-1b4aw74-0"
14944
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14945
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14946
+ displayName: "NPCDialog__TextContainer",
14947
+ componentId: "sc-1b4aw74-1"
14948
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14949
+ var flex = _ref2.flex;
14950
+ return flex;
14951
+ });
14952
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14953
+ displayName: "NPCDialog__ThumbnailContainer",
14954
+ componentId: "sc-1b4aw74-2"
14955
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14956
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14957
+ displayName: "NPCDialog__NPCThumbnail",
14958
+ componentId: "sc-1b4aw74-3"
14959
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15010
14960
 
15011
- var ItemSelector = function ItemSelector(_ref) {
15012
- var atlasIMG = _ref.atlasIMG,
15013
- atlasJSON = _ref.atlasJSON,
15014
- options = _ref.options,
15015
- onClose = _ref.onClose,
15016
- onSelect = _ref.onSelect;
15017
- var _useState = useState(),
15018
- selectedValue = _useState[0],
15019
- setSelectedValue = _useState[1];
15020
- var handleClick = function handleClick() {
15021
- var element = document.querySelector("input[name='test']:checked");
15022
- var elementValue = element.value;
15023
- setSelectedValue(elementValue);
14961
+ var ImgSide;
14962
+ (function (ImgSide) {
14963
+ ImgSide["right"] = "right";
14964
+ ImgSide["left"] = "left";
14965
+ })(ImgSide || (ImgSide = {}));
14966
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
14967
+ var _textAndTypeArray$sli;
14968
+ var _onClose = _ref.onClose,
14969
+ textAndTypeArray = _ref.textAndTypeArray;
14970
+ var _useState = useState(false),
14971
+ showGoNextIndicator = _useState[0],
14972
+ setShowGoNextIndicator = _useState[1];
14973
+ var _useState2 = useState(0),
14974
+ slide = _useState2[0],
14975
+ setSlide = _useState2[1];
14976
+ var onHandleSpacePress = function onHandleSpacePress(event) {
14977
+ if (event.code === 'Space') {
14978
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14979
+ setSlide(function (prev) {
14980
+ return prev + 1;
14981
+ });
14982
+ } else {
14983
+ // if there's no more text chunks, close the dialog
14984
+ _onClose();
14985
+ }
14986
+ }
15024
14987
  };
15025
14988
  useEffect(function () {
15026
- if (selectedValue) {
15027
- onSelect(selectedValue);
15028
- }
15029
- }, [selectedValue]);
15030
- return React.createElement(DraggableContainer, {
15031
- type: RPGUIContainerTypes.Framed,
15032
- width: "500px",
15033
- cancelDrag: ".equipment-container-body .arrow-selector",
15034
- onCloseButton: function onCloseButton() {
15035
- if (onClose) {
15036
- onClose();
14989
+ document.addEventListener('keydown', onHandleSpacePress);
14990
+ return function () {
14991
+ return document.removeEventListener('keydown', onHandleSpacePress);
14992
+ };
14993
+ }, [slide]);
14994
+ return React.createElement(RPGUIContainer, {
14995
+ type: RPGUIContainerTypes.FramedGold,
14996
+ width: '50%',
14997
+ height: '180px'
14998
+ }, React.createElement(React.Fragment, null, React.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
14999
+ flex: '70%'
15000
+ }, React.createElement(NPCDialogText, {
15001
+ onStartStep: function onStartStep() {
15002
+ return setShowGoNextIndicator(false);
15003
+ },
15004
+ onEndStep: function onEndStep() {
15005
+ return setShowGoNextIndicator(true);
15006
+ },
15007
+ text: textAndTypeArray[slide].text || 'No text provided.',
15008
+ onClose: function onClose() {
15009
+ if (_onClose) {
15010
+ _onClose();
15037
15011
  }
15038
15012
  }
15039
- }, React.createElement("div", {
15040
- style: {
15041
- width: '100%'
15042
- }
15043
- }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15044
- className: "golden"
15045
- })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15046
- return React.createElement(RadioOptionsWrapper$1, {
15047
- key: index
15048
- }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15049
- atlasIMG: atlasIMG,
15050
- atlasJSON: atlasJSON,
15051
- spriteKey: option.imageKey,
15052
- imgScale: 3
15053
- })), React.createElement("div", null, React.createElement("input", {
15054
- className: "rpgui-radio",
15055
- type: "radio",
15056
- value: option.name,
15057
- name: "test"
15058
- }), React.createElement("label", {
15059
- onPointerDown: handleClick,
15060
- style: {
15061
- display: 'flex',
15062
- alignItems: 'center'
15013
+ })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15014
+ src: textAndTypeArray[slide].imagePath || img$7
15015
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15016
+ right: '10.5rem',
15017
+ src: img$6
15018
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15019
+ src: textAndTypeArray[slide].imagePath || img$7
15020
+ })), React.createElement(TextContainer$2, {
15021
+ flex: '70%'
15022
+ }, React.createElement(NPCDialogText, {
15023
+ onStartStep: function onStartStep() {
15024
+ return setShowGoNextIndicator(false);
15025
+ },
15026
+ onEndStep: function onEndStep() {
15027
+ return setShowGoNextIndicator(true);
15028
+ },
15029
+ text: textAndTypeArray[slide].text || 'No text provided.',
15030
+ onClose: function onClose() {
15031
+ if (_onClose) {
15032
+ _onClose();
15063
15033
  }
15064
- }, option.name, " ", React.createElement("br", null), option.description)));
15065
- })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15066
- buttonType: ButtonTypes.RPGUIButton,
15067
- onPointerDown: onClose
15068
- }, "Cancel"), React.createElement(Button, {
15069
- buttonType: ButtonTypes.RPGUIButton
15070
- }, "Select")));
15034
+ }
15035
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15036
+ right: '1rem',
15037
+ src: img$6
15038
+ }))), ")"));
15071
15039
  };
15072
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15073
- displayName: "ItemSelector__Title",
15074
- componentId: "sc-gptoxp-0"
15075
- })(["font-size:0.6rem;color:yellow !important;"]);
15076
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15077
- displayName: "ItemSelector__Subtitle",
15078
- componentId: "sc-gptoxp-1"
15079
- })(["font-size:0.4rem;color:yellow !important;"]);
15080
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15081
- displayName: "ItemSelector__RadioInputScroller",
15082
- componentId: "sc-gptoxp-2"
15083
- })(["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;"]);
15084
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15085
- displayName: "ItemSelector__SpriteAtlasWrapper",
15086
- componentId: "sc-gptoxp-3"
15087
- })(["margin-right:40px;"]);
15088
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15089
- displayName: "ItemSelector__RadioOptionsWrapper",
15090
- componentId: "sc-gptoxp-4"
15091
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15092
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15093
- displayName: "ItemSelector__ButtonWrapper",
15094
- componentId: "sc-gptoxp-5"
15095
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15040
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15041
+ displayName: "NPCMultiDialog__Container",
15042
+ componentId: "sc-rvu5wg-0"
15043
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15044
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15045
+ displayName: "NPCMultiDialog__TextContainer",
15046
+ componentId: "sc-rvu5wg-1"
15047
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15048
+ var flex = _ref2.flex;
15049
+ return flex;
15050
+ });
15051
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15052
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15053
+ componentId: "sc-rvu5wg-2"
15054
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15055
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15056
+ displayName: "NPCMultiDialog__NPCThumbnail",
15057
+ componentId: "sc-rvu5wg-3"
15058
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15059
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15060
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15061
+ componentId: "sc-rvu5wg-4"
15062
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15063
+ var right = _ref3.right;
15064
+ return right;
15065
+ });
15096
15066
 
15097
- var ListMenu = function ListMenu(_ref) {
15098
- var options = _ref.options,
15099
- onSelected = _ref.onSelected,
15100
- x = _ref.x,
15101
- y = _ref.y;
15102
- return React.createElement(Container$f, {
15103
- x: x,
15104
- y: y
15105
- }, React.createElement("ul", {
15106
- className: "rpgui-list-imp",
15107
- style: {
15108
- overflow: 'hidden'
15109
- }
15110
- }, options.map(function (params, index) {
15111
- return React.createElement(ListElement$1, {
15112
- key: (params == null ? void 0 : params.id) || index,
15113
- onPointerDown: function onPointerDown() {
15114
- onSelected(params == null ? void 0 : params.id);
15067
+ var HistoryDialog = function HistoryDialog(_ref) {
15068
+ var backgroundImgPath = _ref.backgroundImgPath,
15069
+ fullCoverBackground = _ref.fullCoverBackground,
15070
+ questions = _ref.questions,
15071
+ answers = _ref.answers,
15072
+ text = _ref.text,
15073
+ imagePath = _ref.imagePath,
15074
+ textAndTypeArray = _ref.textAndTypeArray,
15075
+ onClose = _ref.onClose;
15076
+ var _useState = useState(0),
15077
+ img = _useState[0],
15078
+ setImage = _useState[1];
15079
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15080
+ if (event.code === 'Space') {
15081
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15082
+ setImage(function (prev) {
15083
+ return prev + 1;
15084
+ });
15085
+ } else {
15086
+ // if there's no more text chunks, close the dialog
15087
+ onClose();
15115
15088
  }
15116
- }, (params == null ? void 0 : params.text) || 'No text');
15089
+ }
15090
+ };
15091
+ useEffect(function () {
15092
+ document.addEventListener('keydown', onHandleSpacePress);
15093
+ return function () {
15094
+ return document.removeEventListener('keydown', onHandleSpacePress);
15095
+ };
15096
+ }, [backgroundImgPath]);
15097
+ return React.createElement(BackgroundContainer, {
15098
+ imgPath: backgroundImgPath[img],
15099
+ fullImg: fullCoverBackground
15100
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
15101
+ textAndTypeArray: textAndTypeArray,
15102
+ onClose: onClose
15103
+ }) : questions && answers ? React.createElement(QuestionDialog, {
15104
+ questions: questions,
15105
+ answers: answers,
15106
+ onClose: onClose
15107
+ }) : text && imagePath ? React.createElement(NPCDialog, {
15108
+ text: text,
15109
+ imagePath: imagePath,
15110
+ onClose: onClose,
15111
+ type: NPCDialogType.TextAndThumbnail
15112
+ }) : React.createElement(NPCDialog, {
15113
+ text: text,
15114
+ onClose: onClose,
15115
+ type: NPCDialogType.TextOnly
15117
15116
  })));
15118
15117
  };
15119
- var Container$f = /*#__PURE__*/styled.div.withConfig({
15120
- displayName: "ListMenu__Container",
15121
- componentId: "sc-i9097t-0"
15122
- })(["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) {
15123
- return props.y || 0;
15118
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15119
+ displayName: "HistoryDialog__BackgroundContainer",
15120
+ componentId: "sc-u6oe75-0"
15121
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15122
+ return props.imgPath;
15124
15123
  }, function (props) {
15125
- return props.x || 0;
15126
- }, uiFonts.size.xsmall);
15127
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15128
- displayName: "ListMenu__ListElement",
15129
- componentId: "sc-i9097t-1"
15130
- })(["margin-right:0.5rem;"]);
15124
+ return props.imgPath ? 'cover' : 'auto';
15125
+ });
15126
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15127
+ displayName: "HistoryDialog__DialogContainer",
15128
+ componentId: "sc-u6oe75-1"
15129
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
15131
15130
 
15132
- var MarketplaceRows = function MarketplaceRows(_ref) {
15133
- var atlasJSON = _ref.atlasJSON,
15134
- atlasIMG = _ref.atlasIMG,
15135
- item = _ref.item,
15136
- itemPrice = _ref.itemPrice,
15137
- equipmentSet = _ref.equipmentSet,
15138
- scale = _ref.scale,
15139
- onHandleClick = _ref.onHandleClick;
15140
- return React.createElement(MarketPlaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15141
- item: item,
15142
- atlasIMG: atlasIMG,
15143
- atlasJSON: atlasJSON,
15144
- equipmentSet: equipmentSet,
15145
- scale: scale
15146
- }, React.createElement(SpriteFromAtlas, {
15147
- atlasIMG: atlasIMG,
15148
- atlasJSON: atlasJSON,
15149
- spriteKey: getItemTextureKeyPath({
15150
- key: item.key,
15151
- stackQty: item.stackQty || 1,
15152
- texturePath: item.texturePath,
15153
- isStackable: item.isStackable
15154
- }, atlasJSON),
15155
- imgScale: 2
15156
- }))), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15157
- maxLines: 1,
15158
- maxWidth: "150px",
15159
- fontSize: "10px"
15160
- }, item.name)))), React.createElement(QuantityContainer, null, React.createElement(QuantityDisplay, null, React.createElement(TextOverlay$1, null, React.createElement(Item$1, null, React.createElement(Ellipsis, {
15161
- maxLines: 1,
15162
- maxWidth: "150px",
15163
- fontSize: "10px"
15164
- }, item.rarity))))), React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(SpriteFromAtlas, {
15165
- atlasIMG: atlasIMG,
15166
- atlasJSON: atlasJSON,
15167
- spriteKey: 'others/gold-coin-qty-4.png',
15168
- imgScale: 2
15169
- })), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15170
- maxLines: 1,
15171
- maxWidth: "150px",
15172
- fontSize: "10px"
15173
- }, "$", itemPrice)))), React.createElement(ButtonContainer$1, null, React.createElement(Button, {
15174
- buttonType: ButtonTypes.RPGUIButton,
15175
- onClick: function onClick() {
15176
- return onHandleClick(item.name);
15177
- }
15178
- }, "Buy")));
15179
- };
15180
- var MarketPlaceWrapper = /*#__PURE__*/styled.div.withConfig({
15181
- displayName: "MarketplaceRows__MarketPlaceWrapper",
15182
- componentId: "sc-wmpr1o-0"
15183
- })(["margin:auto;display:grid;grid-template-columns:35% 20% 20% 25%;&:hover{background-color:", ";}padding:0.5rem;p{font-size:0.8rem;}"], uiColors.darkGray);
15184
- var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15185
- displayName: "MarketplaceRows__ItemIconContainer",
15186
- componentId: "sc-wmpr1o-1"
15187
- })(["display:flex;justify-content:flex-start;align-items:center;"]);
15188
- var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15189
- displayName: "MarketplaceRows__SpriteContainer",
15190
- componentId: "sc-wmpr1o-2"
15191
- })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15192
- var Item$1 = /*#__PURE__*/styled.span.withConfig({
15193
- displayName: "MarketplaceRows__Item",
15194
- componentId: "sc-wmpr1o-3"
15195
- })(["color:white;text-align:center;z-index:1;width:100%;"]);
15196
- var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15197
- displayName: "MarketplaceRows__TextOverlay",
15198
- componentId: "sc-wmpr1o-4"
15199
- })(["width:100%;position:relative;"]);
15200
- var QuantityContainer = /*#__PURE__*/styled.div.withConfig({
15201
- displayName: "MarketplaceRows__QuantityContainer",
15202
- componentId: "sc-wmpr1o-5"
15203
- })(["position:relative;display:flex;min-width:100px;justify-content:center;align-items:center;"]);
15204
- var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
15205
- displayName: "MarketplaceRows__QuantityDisplay",
15206
- componentId: "sc-wmpr1o-6"
15207
- })(["font-size:", ";"], uiFonts.size.small);
15208
- var PriceValue = /*#__PURE__*/styled.div.withConfig({
15209
- displayName: "MarketplaceRows__PriceValue",
15210
- componentId: "sc-wmpr1o-7"
15211
- })(["margin-left:40px;"]);
15212
- var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15213
- displayName: "MarketplaceRows__ButtonContainer",
15214
- componentId: "sc-wmpr1o-8"
15215
- })(["margin:auto;"]);
15216
-
15217
- var Marketplace = function Marketplace(_ref) {
15218
- var items = _ref.items,
15219
- atlasIMG = _ref.atlasIMG,
15220
- atlasJSON = _ref.atlasJSON,
15131
+ var SlotsContainer = function SlotsContainer(_ref) {
15132
+ var children = _ref.children,
15133
+ title = _ref.title,
15221
15134
  onClose = _ref.onClose,
15222
- optionsType = _ref.optionsType,
15223
- optionsRarity = _ref.optionsRarity,
15224
- optionsPrice = _ref.optionsPrice,
15225
- onChangeType = _ref.onChangeType,
15226
- onChangeRarity = _ref.onChangeRarity,
15227
- onChangeOrder = _ref.onChangeOrder,
15228
- onChangeNameInput = _ref.onChangeNameInput,
15229
- scale = _ref.scale,
15230
- equipmentSet = _ref.equipmentSet,
15231
- onHandleClick = _ref.onHandleClick;
15135
+ _onPositionChange = _ref.onPositionChange,
15136
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
15137
+ _onPositionChangeStart = _ref.onPositionChangeStart,
15138
+ onOutsideClick = _ref.onOutsideClick,
15139
+ initialPosition = _ref.initialPosition,
15140
+ scale = _ref.scale;
15232
15141
  return React.createElement(DraggableContainer, {
15142
+ title: title,
15233
15143
  type: RPGUIContainerTypes.Framed,
15234
15144
  onCloseButton: function onCloseButton() {
15235
- if (onClose) onClose();
15145
+ if (onClose) {
15146
+ onClose();
15147
+ }
15236
15148
  },
15237
- width: "800px",
15238
- cancelDrag: "#MarketContainer",
15239
- scale: scale
15240
- }, React.createElement(React.Fragment, null, React.createElement(InputWrapper, null, React.createElement("p", null, " Search By Name"), React.createElement(Input, {
15241
- onChange: onChangeNameInput,
15242
- placeholder: 'Search...'
15243
- })), React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
15244
- options: optionsType,
15245
- onChange: onChangeType,
15246
- width: '220px'
15247
- }), React.createElement(StyledDropdown, {
15248
- options: optionsRarity,
15249
- onChange: onChangeRarity,
15250
- width: '220px'
15251
- }), React.createElement(StyledDropdown, {
15252
- options: optionsPrice,
15253
- onChange: onChangeOrder,
15254
- width: '220px'
15255
- })), React.createElement(ItemComponentScrollWrapper, {
15256
- id: "MarketContainer"
15257
- }, items == null ? void 0 : items.map(function (item, index) {
15258
- return React.createElement(MarketplaceRows, {
15259
- key: item.key + "_" + index,
15260
- atlasIMG: atlasIMG,
15261
- atlasJSON: atlasJSON,
15262
- item: item,
15263
- itemPrice: 10,
15264
- equipmentSet: equipmentSet,
15265
- onHandleClick: onHandleClick
15266
- });
15267
- }))));
15268
- };
15269
- var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15270
- displayName: "Marketplace__InputWrapper",
15271
- componentId: "sc-h904b1-0"
15272
- })(["width:95%;display:flex;justify-content:flex-start;align-items:center;margin:auto;margin-bottom:10px;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15273
- var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15274
- displayName: "Marketplace__WrapperContainer",
15275
- componentId: "sc-h904b1-1"
15276
- })(["display:grid;grid-template-columns:30% 30% 30%;justify-content:space-between;width:90%;margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
15277
- var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15278
- displayName: "Marketplace__ItemComponentScrollWrapper",
15279
- componentId: "sc-h904b1-2"
15280
- })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;"]);
15281
- var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15282
- displayName: "Marketplace__StyledDropdown",
15283
- componentId: "sc-h904b1-3"
15284
- })(["margin:3px !important;width:170px !important;"]);
15285
-
15286
- var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15287
-
15288
- var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
15289
-
15290
- var ImgSide;
15291
- (function (ImgSide) {
15292
- ImgSide["right"] = "right";
15293
- ImgSide["left"] = "left";
15294
- })(ImgSide || (ImgSide = {}));
15295
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
15296
- var _textAndTypeArray$sli;
15297
- var _onClose = _ref.onClose,
15298
- textAndTypeArray = _ref.textAndTypeArray;
15299
- var _useState = useState(false),
15300
- showGoNextIndicator = _useState[0],
15301
- setShowGoNextIndicator = _useState[1];
15302
- var _useState2 = useState(0),
15303
- slide = _useState2[0],
15304
- setSlide = _useState2[1];
15305
- var onHandleSpacePress = function onHandleSpacePress(event) {
15306
- if (event.code === 'Space') {
15307
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15308
- setSlide(function (prev) {
15309
- return prev + 1;
15149
+ width: "400px",
15150
+ cancelDrag: ".item-container-body, #shortcuts_list",
15151
+ onPositionChange: function onPositionChange(_ref2) {
15152
+ var x = _ref2.x,
15153
+ y = _ref2.y;
15154
+ if (_onPositionChange) {
15155
+ _onPositionChange({
15156
+ x: x,
15157
+ y: y
15310
15158
  });
15311
- } else {
15312
- // if there's no more text chunks, close the dialog
15313
- _onClose();
15314
15159
  }
15315
- }
15316
- };
15317
- useEffect(function () {
15318
- document.addEventListener('keydown', onHandleSpacePress);
15319
- return function () {
15320
- return document.removeEventListener('keydown', onHandleSpacePress);
15321
- };
15322
- }, [slide]);
15323
- return React.createElement(RPGUIContainer, {
15324
- type: RPGUIContainerTypes.FramedGold,
15325
- width: '50%',
15326
- height: '180px'
15327
- }, React.createElement(React.Fragment, null, React.createElement(Container$g, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
15328
- flex: '70%'
15329
- }, React.createElement(NPCDialogText, {
15330
- onStartStep: function onStartStep() {
15331
- return setShowGoNextIndicator(false);
15332
- },
15333
- onEndStep: function onEndStep() {
15334
- return setShowGoNextIndicator(true);
15335
15160
  },
15336
- text: textAndTypeArray[slide].text || 'No text provided.',
15337
- onClose: function onClose() {
15338
- if (_onClose) {
15339
- _onClose();
15161
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15162
+ var x = _ref3.x,
15163
+ y = _ref3.y;
15164
+ if (_onPositionChangeEnd) {
15165
+ _onPositionChangeEnd({
15166
+ x: x,
15167
+ y: y
15168
+ });
15340
15169
  }
15341
- }
15342
- })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15343
- src: textAndTypeArray[slide].imagePath || img$5
15344
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15345
- right: '10.5rem',
15346
- src: img$6
15347
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15348
- src: textAndTypeArray[slide].imagePath || img$5
15349
- })), React.createElement(TextContainer, {
15350
- flex: '70%'
15351
- }, React.createElement(NPCDialogText, {
15352
- onStartStep: function onStartStep() {
15353
- return setShowGoNextIndicator(false);
15354
- },
15355
- onEndStep: function onEndStep() {
15356
- return setShowGoNextIndicator(true);
15357
15170
  },
15358
- text: textAndTypeArray[slide].text || 'No text provided.',
15359
- onClose: function onClose() {
15360
- if (_onClose) {
15361
- _onClose();
15171
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
15172
+ var x = _ref4.x,
15173
+ y = _ref4.y;
15174
+ if (_onPositionChangeStart) {
15175
+ _onPositionChangeStart({
15176
+ x: x,
15177
+ y: y
15178
+ });
15362
15179
  }
15363
- }
15364
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15365
- right: '1rem',
15366
- src: img$6
15367
- }))), ")"));
15180
+ },
15181
+ onOutsideClick: onOutsideClick,
15182
+ initialPosition: initialPosition,
15183
+ scale: scale
15184
+ }, children);
15368
15185
  };
15369
- var Container$g = /*#__PURE__*/styled.div.withConfig({
15370
- displayName: "NPCMultiDialog__Container",
15371
- componentId: "sc-rvu5wg-0"
15372
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15373
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
15374
- displayName: "NPCMultiDialog__TextContainer",
15375
- componentId: "sc-rvu5wg-1"
15376
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15377
- var flex = _ref2.flex;
15378
- return flex;
15379
- });
15380
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15381
- displayName: "NPCMultiDialog__ThumbnailContainer",
15382
- componentId: "sc-rvu5wg-2"
15383
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15384
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15385
- displayName: "NPCMultiDialog__NPCThumbnail",
15386
- componentId: "sc-rvu5wg-3"
15387
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15388
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15389
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15390
- componentId: "sc-rvu5wg-4"
15391
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15392
- var right = _ref3.right;
15393
- return right;
15394
- });
15395
15186
 
15396
- //@ts-ignore
15397
- var useEventListener = function useEventListener(type, handler, el) {
15398
- if (el === void 0) {
15399
- el = window;
15400
- }
15401
- var savedHandler = React.useRef();
15402
- React.useEffect(function () {
15403
- savedHandler.current = handler;
15404
- }, [handler]);
15405
- React.useEffect(function () {
15406
- //@ts-ignore
15407
- var listener = function listener(e) {
15408
- return savedHandler.current(e);
15409
- };
15410
- el.addEventListener(type, listener);
15411
- return function () {
15412
- el.removeEventListener(type, listener);
15413
- };
15414
- }, [type, el]);
15415
- };
15416
-
15417
- var DynamicText = function DynamicText(_ref) {
15418
- var text = _ref.text,
15419
- onFinish = _ref.onFinish,
15420
- onStart = _ref.onStart;
15421
- var _useState = useState(''),
15422
- textState = _useState[0],
15423
- setTextState = _useState[1];
15187
+ var RangeSliderType;
15188
+ (function (RangeSliderType) {
15189
+ RangeSliderType["Slider"] = "rpgui-slider";
15190
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15191
+ })(RangeSliderType || (RangeSliderType = {}));
15192
+ var RangeSlider = function RangeSlider(_ref) {
15193
+ var type = _ref.type,
15194
+ valueMin = _ref.valueMin,
15195
+ valueMax = _ref.valueMax,
15196
+ width = _ref.width,
15197
+ _onChange = _ref.onChange,
15198
+ value = _ref.value;
15199
+ var sliderId = v4();
15200
+ var containerRef = useRef(null);
15201
+ var _useState = useState(0),
15202
+ left = _useState[0],
15203
+ setLeft = _useState[1];
15424
15204
  useEffect(function () {
15425
- var i = 0;
15426
- var interval = setInterval(function () {
15427
- // on every interval, show one more character
15428
- if (i === 0) {
15429
- if (onStart) {
15430
- onStart();
15431
- }
15432
- }
15433
- if (i < text.length) {
15434
- setTextState(text.substring(0, i + 1));
15435
- i++;
15436
- } else {
15437
- clearInterval(interval);
15438
- if (onFinish) {
15439
- onFinish();
15440
- }
15441
- }
15442
- }, 50);
15443
- return function () {
15444
- clearInterval(interval);
15445
- };
15446
- }, [text]);
15447
- return React.createElement(TextContainer$1, null, textState);
15205
+ var _containerRef$current;
15206
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15207
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15208
+ }, [value, valueMin, valueMax]);
15209
+ var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
15210
+ return React.createElement("div", {
15211
+ style: {
15212
+ width: width,
15213
+ position: 'relative'
15214
+ },
15215
+ className: "rpgui-slider-container " + typeClass,
15216
+ id: "rpgui-slider-" + sliderId,
15217
+ ref: containerRef
15218
+ }, React.createElement("div", {
15219
+ style: {
15220
+ pointerEvents: 'none'
15221
+ }
15222
+ }, React.createElement("div", {
15223
+ className: "rpgui-slider-track " + typeClass
15224
+ }), React.createElement("div", {
15225
+ className: "rpgui-slider-left-edge " + typeClass
15226
+ }), React.createElement("div", {
15227
+ className: "rpgui-slider-right-edge " + typeClass
15228
+ }), React.createElement("div", {
15229
+ className: "rpgui-slider-thumb " + typeClass,
15230
+ style: {
15231
+ left: left
15232
+ }
15233
+ })), React.createElement(Input$1, {
15234
+ type: "range",
15235
+ style: {
15236
+ width: width
15237
+ },
15238
+ min: valueMin,
15239
+ max: valueMax,
15240
+ onChange: function onChange(e) {
15241
+ return _onChange(Number(e.target.value));
15242
+ },
15243
+ value: value,
15244
+ className: "rpgui-cursor-point"
15245
+ }));
15448
15246
  };
15449
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15450
- displayName: "DynamicText__TextContainer",
15451
- componentId: "sc-1ggl9nd-0"
15452
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15247
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
15248
+ displayName: "RangeSlider__Input",
15249
+ componentId: "sc-v8mte9-0"
15250
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15453
15251
 
15454
- var QuestionDialog = function QuestionDialog(_ref) {
15455
- var questions = _ref.questions,
15456
- answers = _ref.answers,
15252
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15253
+ var quantity = _ref.quantity,
15254
+ onConfirm = _ref.onConfirm,
15457
15255
  onClose = _ref.onClose;
15458
- var _useState = useState(questions[0]),
15459
- currentQuestion = _useState[0],
15460
- setCurrentQuestion = _useState[1];
15461
- var _useState2 = useState(false),
15462
- canShowAnswers = _useState2[0],
15463
- setCanShowAnswers = _useState2[1];
15464
- var onGetFirstAnswer = function onGetFirstAnswer() {
15465
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15466
- return null;
15467
- }
15468
- var firstAnswerId = currentQuestion.answerIds[0];
15469
- return answers.find(function (answer) {
15470
- return answer.id === firstAnswerId;
15471
- });
15472
- };
15473
- var _useState3 = useState(onGetFirstAnswer()),
15474
- currentAnswer = _useState3[0],
15475
- setCurrentAnswer = _useState3[1];
15256
+ var _useState = useState(quantity),
15257
+ value = _useState[0],
15258
+ setValue = _useState[1];
15259
+ var inputRef = useRef(null);
15476
15260
  useEffect(function () {
15477
- setCurrentAnswer(onGetFirstAnswer());
15478
- }, [currentQuestion]);
15479
- var onGetAnswers = function onGetAnswers(answerIds) {
15480
- return answerIds.map(function (answerId) {
15481
- return answers.find(function (answer) {
15482
- return answer.id === answerId;
15483
- });
15484
- });
15485
- };
15486
- var onKeyPress = function onKeyPress(e) {
15487
- switch (e.key) {
15488
- case 'ArrowDown':
15489
- // select next answer, if any.
15490
- // if no next answer, select first answer
15491
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15492
- // (answer) => answer?.id === currentAnswer!.id + 1
15493
- // );
15494
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15495
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15496
- });
15497
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15498
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15499
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
15500
- });
15501
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15502
- break;
15503
- case 'ArrowUp':
15504
- // select previous answer, if any.
15505
- // if no previous answer, select last answer
15506
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15507
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15508
- });
15509
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15510
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15511
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
15512
- });
15513
- if (previousAnswer) {
15514
- setCurrentAnswer(previousAnswer);
15515
- } else {
15516
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15517
- }
15518
- break;
15519
- case 'Enter':
15520
- setCanShowAnswers(false);
15521
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15261
+ if (inputRef.current) {
15262
+ inputRef.current.focus();
15263
+ inputRef.current.select();
15264
+ var closeSelector = function closeSelector(e) {
15265
+ if (e.key === 'Escape') {
15522
15266
  onClose();
15523
- return;
15524
- } else {
15525
- setCurrentQuestion(questions.find(function (question) {
15526
- return question.id === currentAnswer.nextQuestionId;
15527
- }));
15528
15267
  }
15529
- break;
15530
- }
15531
- };
15532
- useEventListener('keydown', onKeyPress);
15533
- var onAnswerClick = function onAnswerClick(answer) {
15534
- setCanShowAnswers(false);
15535
- if (answer.nextQuestionId) {
15536
- // if there is a next question, go to it
15537
- setCurrentQuestion(questions.find(function (question) {
15538
- return question.id === answer.nextQuestionId;
15539
- }));
15540
- } else {
15541
- // else, finish dialog!
15542
- onClose();
15543
- }
15544
- };
15545
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15546
- var answerIds = currentQuestion.answerIds;
15547
- if (!answerIds) {
15548
- return null;
15549
- }
15550
- var answers = onGetAnswers(answerIds);
15551
- if (!answers) {
15552
- return null;
15268
+ };
15269
+ document.addEventListener('keydown', closeSelector);
15270
+ return function () {
15271
+ document.removeEventListener('keydown', closeSelector);
15272
+ };
15553
15273
  }
15554
- return answers.map(function (answer) {
15555
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15556
- var selectedColor = isSelected ? 'yellow' : 'white';
15557
- if (answer) {
15558
- return React.createElement(AnswerRow, {
15559
- key: "answer_" + answer.id
15560
- }, React.createElement(AnswerSelectedIcon, {
15561
- color: selectedColor
15562
- }, isSelected ? 'X' : null), React.createElement(Answer, {
15563
- key: answer.id,
15564
- onPointerDown: function onPointerDown() {
15565
- return onAnswerClick(answer);
15566
- },
15567
- color: selectedColor
15568
- }, answer.text));
15274
+ return function () {};
15275
+ }, []);
15276
+ return React.createElement(StyledContainer, {
15277
+ type: RPGUIContainerTypes.Framed,
15278
+ width: "25rem"
15279
+ }, React.createElement(CloseButton$2, {
15280
+ className: "container-close",
15281
+ onPointerDown: onClose
15282
+ }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
15283
+ style: {
15284
+ width: '100%'
15285
+ },
15286
+ onSubmit: function onSubmit(e) {
15287
+ e.preventDefault();
15288
+ var numberValue = Number(value);
15289
+ if (Number.isNaN(numberValue)) {
15290
+ return;
15569
15291
  }
15570
- return null;
15571
- });
15572
- };
15573
- return React.createElement(Container$h, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
15574
- text: currentQuestion.text,
15575
- onStart: function onStart() {
15576
- return setCanShowAnswers(false);
15292
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15577
15293
  },
15578
- onFinish: function onFinish() {
15579
- return setCanShowAnswers(true);
15580
- }
15581
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15582
- };
15583
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15584
- displayName: "QuestionDialog__Container",
15585
- componentId: "sc-bxc5u0-0"
15586
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
15587
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
15588
- displayName: "QuestionDialog__QuestionContainer",
15589
- componentId: "sc-bxc5u0-1"
15590
- })(["flex:100%;width:100%;"]);
15591
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
15592
- displayName: "QuestionDialog__AnswersContainer",
15593
- componentId: "sc-bxc5u0-2"
15594
- })(["flex:100%;"]);
15595
- var Answer = /*#__PURE__*/styled.p.withConfig({
15596
- displayName: "QuestionDialog__Answer",
15597
- componentId: "sc-bxc5u0-3"
15598
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
15599
- return props.color;
15600
- });
15601
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
15602
- displayName: "QuestionDialog__AnswerSelectedIcon",
15603
- componentId: "sc-bxc5u0-4"
15604
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
15605
- return props.color;
15606
- });
15607
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
15608
- displayName: "QuestionDialog__AnswerRow",
15609
- componentId: "sc-bxc5u0-5"
15610
- })(["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;}"]);
15294
+ noValidate: true
15295
+ }, React.createElement(StyledInput, {
15296
+ innerRef: inputRef,
15297
+ placeholder: "Enter quantity",
15298
+ type: "number",
15299
+ min: 1,
15300
+ max: quantity,
15301
+ value: value,
15302
+ onChange: function onChange(e) {
15303
+ if (Number(e.target.value) >= quantity) {
15304
+ setValue(quantity);
15305
+ return;
15306
+ }
15307
+ setValue(e.target.value);
15308
+ },
15309
+ onBlur: function onBlur(e) {
15310
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15311
+ setValue(newValue);
15312
+ }
15313
+ }), React.createElement(RangeSlider, {
15314
+ type: RangeSliderType.Slider,
15315
+ valueMin: 1,
15316
+ valueMax: quantity,
15317
+ width: "100%",
15318
+ onChange: setValue,
15319
+ value: value
15320
+ }), React.createElement(Button, {
15321
+ buttonType: ButtonTypes.RPGUIButton,
15322
+ type: "submit"
15323
+ }, "Confirm")));
15324
+ };
15325
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15326
+ displayName: "ItemQuantitySelector__StyledContainer",
15327
+ componentId: "sc-yfdtpn-0"
15328
+ })(["display:flex;flex-direction:column;align-items:center;"]);
15329
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
15330
+ displayName: "ItemQuantitySelector__StyledForm",
15331
+ componentId: "sc-yfdtpn-1"
15332
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15333
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15334
+ displayName: "ItemQuantitySelector__StyledInput",
15335
+ componentId: "sc-yfdtpn-2"
15336
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15337
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15338
+ displayName: "ItemQuantitySelector__CloseButton",
15339
+ componentId: "sc-yfdtpn-3"
15340
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15341
+
15342
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
15343
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15344
+ settingShortcutIndex = _ref.settingShortcutIndex,
15345
+ shortcuts = _ref.shortcuts,
15346
+ removeShortcut = _ref.removeShortcut,
15347
+ atlasJSON = _ref.atlasJSON,
15348
+ atlasIMG = _ref.atlasIMG;
15349
+ var getContent = function getContent(index) {
15350
+ var _shortcuts$index, _shortcuts$index3;
15351
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
15352
+ var _shortcuts$index2;
15353
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15354
+ if (!_payload) return null;
15355
+ return React.createElement(SpriteFromAtlas, {
15356
+ atlasIMG: atlasIMG,
15357
+ atlasJSON: atlasJSON,
15358
+ spriteKey: getItemTextureKeyPath({
15359
+ key: _payload.texturePath,
15360
+ texturePath: _payload.texturePath,
15361
+ stackQty: _payload.stackQty || 1,
15362
+ isStackable: _payload.isStackable
15363
+ }, atlasJSON),
15364
+ width: 32,
15365
+ height: 32,
15366
+ imgScale: 1.6,
15367
+ imgStyle: {
15368
+ left: '5px'
15369
+ }
15370
+ });
15371
+ }
15372
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15373
+ return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15374
+ return word[0];
15375
+ }));
15376
+ };
15377
+ return React.createElement(Container$i, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
15378
+ id: "shortcuts_list"
15379
+ }, Array.from({
15380
+ length: 6
15381
+ }).map(function (_, i) {
15382
+ return React.createElement(Shortcut, {
15383
+ key: i,
15384
+ onPointerDown: function onPointerDown() {
15385
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15386
+ removeShortcut(i);
15387
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
15388
+ },
15389
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15390
+ isBeingSet: settingShortcutIndex === i,
15391
+ id: "shortcutSetter_" + i
15392
+ }, getContent(i));
15393
+ })));
15394
+ };
15395
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15396
+ displayName: "ShortcutsSetter__Container",
15397
+ componentId: "sc-xuouuf-0"
15398
+ })(["p{margin:0;margin-left:0.5rem;}"]);
15399
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
15400
+ displayName: "ShortcutsSetter__Shortcut",
15401
+ componentId: "sc-xuouuf-1"
15402
+ })(["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) {
15403
+ var isBeingSet = _ref2.isBeingSet;
15404
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15405
+ }, uiColors.darkGray, uiColors.gray);
15406
+ var List = /*#__PURE__*/styled.div.withConfig({
15407
+ displayName: "ShortcutsSetter__List",
15408
+ componentId: "sc-xuouuf-2"
15409
+ })(["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;"]);
15410
+
15411
+ var ItemContainer$1 = function ItemContainer(_ref) {
15412
+ var itemContainer = _ref.itemContainer,
15413
+ onClose = _ref.onClose,
15414
+ _onMouseOver = _ref.onMouseOver,
15415
+ _onSelected = _ref.onSelected,
15416
+ onItemClick = _ref.onItemClick,
15417
+ type = _ref.type,
15418
+ atlasJSON = _ref.atlasJSON,
15419
+ atlasIMG = _ref.atlasIMG,
15420
+ _ref$disableContextMe = _ref.disableContextMenu,
15421
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15422
+ onItemDragEnd = _ref.onItemDragEnd,
15423
+ onItemDragStart = _ref.onItemDragStart,
15424
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
15425
+ _onOutsideDrop = _ref.onOutsideDrop,
15426
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15427
+ initialPosition = _ref.initialPosition,
15428
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15429
+ scale = _ref.scale,
15430
+ shortcuts = _ref.shortcuts,
15431
+ setItemShortcut = _ref.setItemShortcut,
15432
+ removeShortcut = _ref.removeShortcut,
15433
+ equipmentSet = _ref.equipmentSet,
15434
+ isDepotSystem = _ref.isDepotSystem,
15435
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
15436
+ onPositionChangeStart = _ref.onPositionChangeStart;
15437
+ var _useState = useState({
15438
+ isOpen: false,
15439
+ maxQuantity: 1,
15440
+ callback: function callback(_quantity) {}
15441
+ }),
15442
+ quantitySelect = _useState[0],
15443
+ setQuantitySelect = _useState[1];
15444
+ var _useState2 = useState(-1),
15445
+ settingShortcutIndex = _useState2[0],
15446
+ setSettingShortcutIndex = _useState2[1];
15447
+ var handleSetShortcut = function handleSetShortcut(item, index) {
15448
+ if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
15449
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15450
+ }
15451
+ };
15452
+ var onRenderSlots = function onRenderSlots() {
15453
+ var slots = [];
15454
+ for (var i = 0; i < itemContainer.slotQty; i++) {
15455
+ var _itemContainer$slots;
15456
+ slots.push(React.createElement(ItemSlot, {
15457
+ isContextMenuDisabled: disableContextMenu,
15458
+ key: i,
15459
+ slotIndex: i,
15460
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15461
+ itemContainerType: type,
15462
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
15463
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15464
+ },
15465
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
15466
+ if (settingShortcutIndex !== -1) {
15467
+ setSettingShortcutIndex(-1);
15468
+ handleSetShortcut(item, settingShortcutIndex);
15469
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
15470
+ },
15471
+ onSelected: function onSelected(optionId, item) {
15472
+ if (_onSelected) _onSelected(optionId, item);
15473
+ },
15474
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15475
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15476
+ },
15477
+ onDragEnd: function onDragEnd(quantity) {
15478
+ if (onItemDragEnd) onItemDragEnd(quantity);
15479
+ },
15480
+ dragScale: scale,
15481
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15482
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15483
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15484
+ setQuantitySelect({
15485
+ isOpen: true,
15486
+ maxQuantity: maxQuantity,
15487
+ callback: callback
15488
+ });
15489
+ },
15490
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15491
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15492
+ },
15493
+ onOutsideDrop: function onOutsideDrop(item, position) {
15494
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
15495
+ },
15496
+ atlasIMG: atlasIMG,
15497
+ atlasJSON: atlasJSON,
15498
+ isSelectingShortcut: settingShortcutIndex !== -1,
15499
+ equipmentSet: equipmentSet,
15500
+ setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
15501
+ isDepotSystem: isDepotSystem
15502
+ }));
15503
+ }
15504
+ return slots;
15505
+ };
15506
+ return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
15507
+ title: itemContainer.name || 'Container',
15508
+ onClose: onClose,
15509
+ initialPosition: initialPosition,
15510
+ scale: scale,
15511
+ onPositionChangeEnd: onPositionChangeEnd,
15512
+ onPositionChangeStart: onPositionChangeStart
15513
+ }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
15514
+ setSettingShortcutIndex: setSettingShortcutIndex,
15515
+ settingShortcutIndex: settingShortcutIndex,
15516
+ shortcuts: shortcuts,
15517
+ removeShortcut: removeShortcut,
15518
+ atlasIMG: atlasIMG,
15519
+ atlasJSON: atlasJSON
15520
+ }), React.createElement(ItemsContainer, {
15521
+ className: "item-container-body"
15522
+ }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
15523
+ quantity: quantitySelect.maxQuantity,
15524
+ onConfirm: function onConfirm(quantity) {
15525
+ quantitySelect.callback(quantity);
15526
+ setQuantitySelect({
15527
+ isOpen: false,
15528
+ maxQuantity: 1,
15529
+ callback: function callback() {}
15530
+ });
15531
+ },
15532
+ onClose: function onClose() {
15533
+ quantitySelect.callback(-1);
15534
+ setQuantitySelect({
15535
+ isOpen: false,
15536
+ maxQuantity: 1,
15537
+ callback: function callback() {}
15538
+ });
15539
+ }
15540
+ }))));
15541
+ };
15542
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15543
+ displayName: "ItemContainer__ItemsContainer",
15544
+ componentId: "sc-15y5p9l-0"
15545
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15546
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15547
+ displayName: "ItemContainer__QuantitySelectorContainer",
15548
+ componentId: "sc-15y5p9l-1"
15549
+ })(["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);"]);
15550
+
15551
+ var ItemSelector = function ItemSelector(_ref) {
15552
+ var atlasIMG = _ref.atlasIMG,
15553
+ atlasJSON = _ref.atlasJSON,
15554
+ options = _ref.options,
15555
+ onClose = _ref.onClose,
15556
+ onSelect = _ref.onSelect;
15557
+ var _useState = useState(),
15558
+ selectedValue = _useState[0],
15559
+ setSelectedValue = _useState[1];
15560
+ var handleClick = function handleClick() {
15561
+ var element = document.querySelector("input[name='test']:checked");
15562
+ var elementValue = element.value;
15563
+ setSelectedValue(elementValue);
15564
+ };
15565
+ useEffect(function () {
15566
+ if (selectedValue) {
15567
+ onSelect(selectedValue);
15568
+ }
15569
+ }, [selectedValue]);
15570
+ return React.createElement(DraggableContainer, {
15571
+ type: RPGUIContainerTypes.Framed,
15572
+ width: "500px",
15573
+ cancelDrag: ".equipment-container-body .arrow-selector",
15574
+ onCloseButton: function onCloseButton() {
15575
+ if (onClose) {
15576
+ onClose();
15577
+ }
15578
+ }
15579
+ }, React.createElement("div", {
15580
+ style: {
15581
+ width: '100%'
15582
+ }
15583
+ }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15584
+ className: "golden"
15585
+ })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15586
+ return React.createElement(RadioOptionsWrapper$1, {
15587
+ key: index
15588
+ }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15589
+ atlasIMG: atlasIMG,
15590
+ atlasJSON: atlasJSON,
15591
+ spriteKey: option.imageKey,
15592
+ imgScale: 3
15593
+ })), React.createElement("div", null, React.createElement("input", {
15594
+ className: "rpgui-radio",
15595
+ type: "radio",
15596
+ value: option.name,
15597
+ name: "test"
15598
+ }), React.createElement("label", {
15599
+ onPointerDown: handleClick,
15600
+ style: {
15601
+ display: 'flex',
15602
+ alignItems: 'center'
15603
+ }
15604
+ }, option.name, " ", React.createElement("br", null), option.description)));
15605
+ })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15606
+ buttonType: ButtonTypes.RPGUIButton,
15607
+ onPointerDown: onClose
15608
+ }, "Cancel"), React.createElement(Button, {
15609
+ buttonType: ButtonTypes.RPGUIButton
15610
+ }, "Select")));
15611
+ };
15612
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15613
+ displayName: "ItemSelector__Title",
15614
+ componentId: "sc-gptoxp-0"
15615
+ })(["font-size:0.6rem;color:yellow !important;"]);
15616
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15617
+ displayName: "ItemSelector__Subtitle",
15618
+ componentId: "sc-gptoxp-1"
15619
+ })(["font-size:0.4rem;color:yellow !important;"]);
15620
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15621
+ displayName: "ItemSelector__RadioInputScroller",
15622
+ componentId: "sc-gptoxp-2"
15623
+ })(["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;"]);
15624
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15625
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15626
+ componentId: "sc-gptoxp-3"
15627
+ })(["margin-right:40px;"]);
15628
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15629
+ displayName: "ItemSelector__RadioOptionsWrapper",
15630
+ componentId: "sc-gptoxp-4"
15631
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15632
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15633
+ displayName: "ItemSelector__ButtonWrapper",
15634
+ componentId: "sc-gptoxp-5"
15635
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15636
+
15637
+ var ListMenu = function ListMenu(_ref) {
15638
+ var options = _ref.options,
15639
+ onSelected = _ref.onSelected,
15640
+ x = _ref.x,
15641
+ y = _ref.y;
15642
+ return React.createElement(Container$j, {
15643
+ x: x,
15644
+ y: y
15645
+ }, React.createElement("ul", {
15646
+ className: "rpgui-list-imp",
15647
+ style: {
15648
+ overflow: 'hidden'
15649
+ }
15650
+ }, options.map(function (params, index) {
15651
+ return React.createElement(ListElement$1, {
15652
+ key: (params == null ? void 0 : params.id) || index,
15653
+ onPointerDown: function onPointerDown() {
15654
+ onSelected(params == null ? void 0 : params.id);
15655
+ }
15656
+ }, (params == null ? void 0 : params.text) || 'No text');
15657
+ })));
15658
+ };
15659
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
15660
+ displayName: "ListMenu__Container",
15661
+ componentId: "sc-i9097t-0"
15662
+ })(["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) {
15663
+ return props.y || 0;
15664
+ }, function (props) {
15665
+ return props.x || 0;
15666
+ }, uiFonts.size.xsmall);
15667
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15668
+ displayName: "ListMenu__ListElement",
15669
+ componentId: "sc-i9097t-1"
15670
+ })(["margin-right:0.5rem;"]);
15671
+
15672
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15673
+ var atlasJSON = _ref.atlasJSON,
15674
+ atlasIMG = _ref.atlasIMG,
15675
+ item = _ref.item,
15676
+ itemPrice = _ref.itemPrice,
15677
+ equipmentSet = _ref.equipmentSet,
15678
+ scale = _ref.scale,
15679
+ onHandleClick = _ref.onHandleClick;
15680
+ return React.createElement(MarketPlaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15681
+ item: item,
15682
+ atlasIMG: atlasIMG,
15683
+ atlasJSON: atlasJSON,
15684
+ equipmentSet: equipmentSet,
15685
+ scale: scale
15686
+ }, React.createElement(SpriteFromAtlas, {
15687
+ atlasIMG: atlasIMG,
15688
+ atlasJSON: atlasJSON,
15689
+ spriteKey: getItemTextureKeyPath({
15690
+ key: item.key,
15691
+ stackQty: item.stackQty || 1,
15692
+ texturePath: item.texturePath,
15693
+ isStackable: item.isStackable
15694
+ }, atlasJSON),
15695
+ imgScale: 2
15696
+ }))), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15697
+ maxLines: 1,
15698
+ maxWidth: "150px",
15699
+ fontSize: "10px"
15700
+ }, item.name)))), React.createElement(QuantityContainer, null, React.createElement(QuantityDisplay, null, React.createElement(TextOverlay$1, null, React.createElement(Item$1, null, React.createElement(Ellipsis, {
15701
+ maxLines: 1,
15702
+ maxWidth: "150px",
15703
+ fontSize: "10px"
15704
+ }, item.rarity))))), React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(SpriteFromAtlas, {
15705
+ atlasIMG: atlasIMG,
15706
+ atlasJSON: atlasJSON,
15707
+ spriteKey: 'others/gold-coin-qty-4.png',
15708
+ imgScale: 2
15709
+ })), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15710
+ maxLines: 1,
15711
+ maxWidth: "150px",
15712
+ fontSize: "10px"
15713
+ }, "$", itemPrice)))), React.createElement(ButtonContainer$1, null, React.createElement(Button, {
15714
+ buttonType: ButtonTypes.RPGUIButton,
15715
+ onClick: function onClick() {
15716
+ return onHandleClick(item.name);
15717
+ }
15718
+ }, "Buy")));
15719
+ };
15720
+ var MarketPlaceWrapper = /*#__PURE__*/styled.div.withConfig({
15721
+ displayName: "MarketplaceRows__MarketPlaceWrapper",
15722
+ componentId: "sc-wmpr1o-0"
15723
+ })(["margin:auto;display:grid;grid-template-columns:35% 20% 20% 25%;&:hover{background-color:", ";}padding:0.5rem;p{font-size:0.8rem;}"], uiColors.darkGray);
15724
+ var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15725
+ displayName: "MarketplaceRows__ItemIconContainer",
15726
+ componentId: "sc-wmpr1o-1"
15727
+ })(["display:flex;justify-content:flex-start;align-items:center;"]);
15728
+ var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15729
+ displayName: "MarketplaceRows__SpriteContainer",
15730
+ componentId: "sc-wmpr1o-2"
15731
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15732
+ var Item$1 = /*#__PURE__*/styled.span.withConfig({
15733
+ displayName: "MarketplaceRows__Item",
15734
+ componentId: "sc-wmpr1o-3"
15735
+ })(["color:white;text-align:center;z-index:1;width:100%;"]);
15736
+ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
15737
+ displayName: "MarketplaceRows__TextOverlay",
15738
+ componentId: "sc-wmpr1o-4"
15739
+ })(["width:100%;position:relative;"]);
15740
+ var QuantityContainer = /*#__PURE__*/styled.div.withConfig({
15741
+ displayName: "MarketplaceRows__QuantityContainer",
15742
+ componentId: "sc-wmpr1o-5"
15743
+ })(["position:relative;display:flex;min-width:100px;justify-content:center;align-items:center;"]);
15744
+ var QuantityDisplay = /*#__PURE__*/styled.div.withConfig({
15745
+ displayName: "MarketplaceRows__QuantityDisplay",
15746
+ componentId: "sc-wmpr1o-6"
15747
+ })(["font-size:", ";"], uiFonts.size.small);
15748
+ var PriceValue = /*#__PURE__*/styled.div.withConfig({
15749
+ displayName: "MarketplaceRows__PriceValue",
15750
+ componentId: "sc-wmpr1o-7"
15751
+ })(["margin-left:40px;"]);
15752
+ var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15753
+ displayName: "MarketplaceRows__ButtonContainer",
15754
+ componentId: "sc-wmpr1o-8"
15755
+ })(["margin:auto;"]);
15756
+
15757
+ var Marketplace = function Marketplace(_ref) {
15758
+ var items = _ref.items,
15759
+ atlasIMG = _ref.atlasIMG,
15760
+ atlasJSON = _ref.atlasJSON,
15761
+ onClose = _ref.onClose,
15762
+ optionsType = _ref.optionsType,
15763
+ optionsRarity = _ref.optionsRarity,
15764
+ optionsPrice = _ref.optionsPrice,
15765
+ onChangeType = _ref.onChangeType,
15766
+ onChangeRarity = _ref.onChangeRarity,
15767
+ onChangeOrder = _ref.onChangeOrder,
15768
+ onChangeNameInput = _ref.onChangeNameInput,
15769
+ scale = _ref.scale,
15770
+ equipmentSet = _ref.equipmentSet,
15771
+ onHandleClick = _ref.onHandleClick;
15772
+ return React.createElement(DraggableContainer, {
15773
+ type: RPGUIContainerTypes.Framed,
15774
+ onCloseButton: function onCloseButton() {
15775
+ if (onClose) onClose();
15776
+ },
15777
+ width: "800px",
15778
+ cancelDrag: "#MarketContainer",
15779
+ scale: scale
15780
+ }, React.createElement(React.Fragment, null, React.createElement(InputWrapper, null, React.createElement("p", null, " Search By Name"), React.createElement(Input, {
15781
+ onChange: onChangeNameInput,
15782
+ placeholder: 'Search...'
15783
+ })), React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
15784
+ options: optionsType,
15785
+ onChange: onChangeType,
15786
+ width: '220px'
15787
+ }), React.createElement(StyledDropdown, {
15788
+ options: optionsRarity,
15789
+ onChange: onChangeRarity,
15790
+ width: '220px'
15791
+ }), React.createElement(StyledDropdown, {
15792
+ options: optionsPrice,
15793
+ onChange: onChangeOrder,
15794
+ width: '220px'
15795
+ })), React.createElement(ItemComponentScrollWrapper, {
15796
+ id: "MarketContainer"
15797
+ }, items == null ? void 0 : items.map(function (item, index) {
15798
+ return React.createElement(MarketplaceRows, {
15799
+ key: item.key + "_" + index,
15800
+ atlasIMG: atlasIMG,
15801
+ atlasJSON: atlasJSON,
15802
+ item: item,
15803
+ itemPrice: 10,
15804
+ equipmentSet: equipmentSet,
15805
+ onHandleClick: onHandleClick
15806
+ });
15807
+ }))));
15808
+ };
15809
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15810
+ displayName: "Marketplace__InputWrapper",
15811
+ componentId: "sc-h904b1-0"
15812
+ })(["width:95%;display:flex;justify-content:flex-start;align-items:center;margin:auto;margin-bottom:10px;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15813
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15814
+ displayName: "Marketplace__WrapperContainer",
15815
+ componentId: "sc-h904b1-1"
15816
+ })(["display:grid;grid-template-columns:30% 30% 30%;justify-content:space-between;width:90%;margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
15817
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15818
+ displayName: "Marketplace__ItemComponentScrollWrapper",
15819
+ componentId: "sc-h904b1-2"
15820
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;"]);
15821
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15822
+ displayName: "Marketplace__StyledDropdown",
15823
+ componentId: "sc-h904b1-3"
15824
+ })(["margin:3px !important;width:170px !important;"]);
15611
15825
 
15612
15826
  var ProgressBar = function ProgressBar(_ref) {
15613
15827
  var max = _ref.max,
@@ -15628,7 +15842,7 @@ var ProgressBar = function ProgressBar(_ref) {
15628
15842
  }
15629
15843
  return value * 100 / max;
15630
15844
  };
15631
- return React.createElement(Container$i, {
15845
+ return React.createElement(Container$k, {
15632
15846
  className: "rpgui-progress",
15633
15847
  "data-value": calculatePercentageValue(max, value) / 100,
15634
15848
  "data-rpguitype": "progress",
@@ -15657,7 +15871,7 @@ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
15657
15871
  displayName: "ProgressBar__TextOverlay",
15658
15872
  componentId: "sc-qa6fzh-1"
15659
15873
  })(["width:100%;position:relative;"]);
15660
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15874
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
15661
15875
  displayName: "ProgressBar__Container",
15662
15876
  componentId: "sc-qa6fzh-2"
15663
15877
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -15668,7 +15882,7 @@ var Container$i = /*#__PURE__*/styled.div.withConfig({
15668
15882
  return props.style;
15669
15883
  });
15670
15884
 
15671
- var img$7 = 'data:image/png;base64,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';
15885
+ var img$8 = 'data:image/png;base64,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';
15672
15886
 
15673
15887
  var QuestInfo = function QuestInfo(_ref) {
15674
15888
  var quests = _ref.quests,
@@ -15712,7 +15926,7 @@ var QuestInfo = function QuestInfo(_ref) {
15712
15926
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15713
15927
  className: "drag-handler"
15714
15928
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15715
- src: quests[currentIndex].thumbnail || img$7
15929
+ src: quests[currentIndex].thumbnail || img$8
15716
15930
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15717
15931
  className: "golden"
15718
15932
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -15731,7 +15945,7 @@ var QuestInfo = function QuestInfo(_ref) {
15731
15945
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15732
15946
  className: "drag-handler"
15733
15947
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15734
- src: quests[0].thumbnail || img$7
15948
+ src: quests[0].thumbnail || img$8
15735
15949
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15736
15950
  className: "golden"
15737
15951
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -15996,7 +16210,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
15996
16210
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
15997
16211
  _ref$margin = _ref.margin,
15998
16212
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
15999
- return React.createElement(Container$j, {
16213
+ return React.createElement(Container$l, {
16000
16214
  className: "simple-progress-bar"
16001
16215
  }, React.createElement(ProgressBarContainer, {
16002
16216
  margin: margin
@@ -16005,7 +16219,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16005
16219
  bgColor: bgColor
16006
16220
  }))));
16007
16221
  };
16008
- var Container$j = /*#__PURE__*/styled.div.withConfig({
16222
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
16009
16223
  displayName: "SimpleProgressBar__Container",
16010
16224
  componentId: "sc-mbeil3-0"
16011
16225
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16038,13 +16252,20 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
16038
16252
  _ref$showSkillPoints = _ref.showSkillPoints,
16039
16253
  showSkillPoints = _ref$showSkillPoints === void 0 ? true : _ref$showSkillPoints,
16040
16254
  atlasIMG = _ref.atlasIMG,
16041
- atlasJSON = _ref.atlasJSON;
16255
+ atlasJSON = _ref.atlasJSON,
16256
+ buffAndDebuff = _ref.buffAndDebuff;
16042
16257
  if (!skillPointsToNextLevel) {
16043
16258
  skillPointsToNextLevel = getSPForLevel(level + 1);
16044
16259
  }
16045
16260
  var nextLevelSPWillbe = skillPoints + skillPointsToNextLevel;
16046
16261
  var ratio = skillPoints / nextLevelSPWillbe * 100;
16047
- return React.createElement(React.Fragment, null, React.createElement(ProgressTitle, null, React.createElement(TitleName, null, skillName), React.createElement(ValueDisplay, null, "lv ", level)), React.createElement(ProgressBody, null, React.createElement(ProgressIconContainer, null, atlasIMG && atlasJSON ? React.createElement(SpriteContainer$1, null, React.createElement(ErrorBoundary, null, React.createElement(SpriteFromAtlas, {
16262
+ var skillsBuffsCalc = function skillsBuffsCalc() {
16263
+ if (buffAndDebuff) {
16264
+ return 1 + buffAndDebuff / 100;
16265
+ }
16266
+ return;
16267
+ };
16268
+ return React.createElement(React.Fragment, null, React.createElement(ProgressTitle, null, buffAndDebuff !== undefined && React.createElement(React.Fragment, null, buffAndDebuff > 0 ? React.createElement(BuffAndDebuffContainer, null, React.createElement(TitleNameContainer, null, React.createElement(TitleNameBuff, null, skillName), React.createElement(TitleNameBuff, null, "lv ", level, " (", skillsBuffsCalc(), ")")), React.createElement(TitleNameBuffContainer, null, React.createElement(TitleNameBuff, null, "(+", buffAndDebuff, "%)"))) : buffAndDebuff < 0 ? React.createElement(React.Fragment, null, React.createElement(TitleNameContainer, null, React.createElement(TitleNameDebuff, null, skillName), React.createElement(TitleNameDebuff, null, "lv ", level, " (", skillsBuffsCalc(), ")")), React.createElement("div", null, React.createElement(TitleNameDebuff, null, "(", buffAndDebuff, "%)"))) : React.createElement(TitleName, null, skillName)), !buffAndDebuff && React.createElement(TitleNameContainer, null, React.createElement(TitleName, null, skillName), React.createElement(ValueDisplay, null, "lv ", level))), React.createElement(ProgressBody, null, React.createElement(ProgressIconContainer, null, atlasIMG && atlasJSON ? React.createElement(SpriteContainer$1, null, React.createElement(ErrorBoundary, null, React.createElement(SpriteFromAtlas, {
16048
16269
  atlasIMG: atlasIMG,
16049
16270
  atlasJSON: atlasJSON,
16050
16271
  spriteKey: texturePath,
@@ -16076,22 +16297,42 @@ var TitleName = /*#__PURE__*/styled.span.withConfig({
16076
16297
  displayName: "SkillProgressBar__TitleName",
16077
16298
  componentId: "sc-5vuroc-4"
16078
16299
  })(["margin-left:5px;"]);
16300
+ var TitleNameBuff = /*#__PURE__*/styled.span.withConfig({
16301
+ displayName: "SkillProgressBar__TitleNameBuff",
16302
+ componentId: "sc-5vuroc-5"
16303
+ })(["margin-left:5px;color:", " !important;"], uiColors.lightGreen);
16304
+ var TitleNameDebuff = /*#__PURE__*/styled.span.withConfig({
16305
+ displayName: "SkillProgressBar__TitleNameDebuff",
16306
+ componentId: "sc-5vuroc-6"
16307
+ })(["margin-left:5px;color:", " !important;"], uiColors.red);
16079
16308
  var ValueDisplay = /*#__PURE__*/styled.span.withConfig({
16080
16309
  displayName: "SkillProgressBar__ValueDisplay",
16081
- componentId: "sc-5vuroc-5"
16310
+ componentId: "sc-5vuroc-7"
16082
16311
  })([""]);
16083
16312
  var ProgressIconContainer = /*#__PURE__*/styled.div.withConfig({
16084
16313
  displayName: "SkillProgressBar__ProgressIconContainer",
16085
- componentId: "sc-5vuroc-6"
16314
+ componentId: "sc-5vuroc-8"
16086
16315
  })(["display:flex;justify-content:center;align-items:center;"]);
16087
16316
  var ProgressBody = /*#__PURE__*/styled.div.withConfig({
16088
16317
  displayName: "SkillProgressBar__ProgressBody",
16089
- componentId: "sc-5vuroc-7"
16318
+ componentId: "sc-5vuroc-9"
16090
16319
  })(["display:flex;flex-direction:row;width:100%;"]);
16091
16320
  var ProgressTitle = /*#__PURE__*/styled.div.withConfig({
16092
16321
  displayName: "SkillProgressBar__ProgressTitle",
16093
- componentId: "sc-5vuroc-8"
16094
- })(["width:100%;display:flex;flex-direction:row;justify-content:space-between;span{font-size:0.6rem;}"]);
16322
+ componentId: "sc-5vuroc-10"
16323
+ })(["width:100%;display:flex;flex-direction:column;justify-content:space-between;span{font-size:0.6rem;}"]);
16324
+ var BuffAndDebuffContainer = /*#__PURE__*/styled.div.withConfig({
16325
+ displayName: "SkillProgressBar__BuffAndDebuffContainer",
16326
+ componentId: "sc-5vuroc-11"
16327
+ })([""]);
16328
+ var TitleNameBuffContainer = /*#__PURE__*/styled.div.withConfig({
16329
+ displayName: "SkillProgressBar__TitleNameBuffContainer",
16330
+ componentId: "sc-5vuroc-12"
16331
+ })([""]);
16332
+ var TitleNameContainer = /*#__PURE__*/styled.div.withConfig({
16333
+ displayName: "SkillProgressBar__TitleNameContainer",
16334
+ componentId: "sc-5vuroc-13"
16335
+ })(["display:flex;justify-content:space-between;"]);
16095
16336
 
16096
16337
  var skillProps = {
16097
16338
  attributes: {
@@ -16178,7 +16419,8 @@ var SkillsContainer = function SkillsContainer(_ref) {
16178
16419
  skillPointsToNextLevel: Math.round(skillDetails.skillPointsToNextLevel) || 0,
16179
16420
  texturePath: value,
16180
16421
  atlasIMG: atlasIMG,
16181
- atlasJSON: atlasJSON
16422
+ atlasJSON: atlasJSON,
16423
+ buffAndDebuff: skillDetails.buffAndDebuff
16182
16424
  }));
16183
16425
  }
16184
16426
  return output;
@@ -16245,7 +16487,7 @@ var SpellInfo = function SpellInfo(_ref) {
16245
16487
  castingType = spell.castingType,
16246
16488
  cooldown = spell.cooldown,
16247
16489
  maxDistanceGrid = spell.maxDistanceGrid;
16248
- return React.createElement(Container$k, null, React.createElement(Header$1, null, React.createElement("div", null, React.createElement(Title$6, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
16490
+ return React.createElement(Container$m, null, React.createElement(Header$1, null, React.createElement("div", null, React.createElement(Title$6, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
16249
16491
  className: "label"
16250
16492
  }, "Casting Type:"), React.createElement("div", {
16251
16493
  className: "value"
@@ -16271,7 +16513,7 @@ var SpellInfo = function SpellInfo(_ref) {
16271
16513
  className: "value"
16272
16514
  }, requiredItem))), React.createElement(Description$1, null, description));
16273
16515
  };
16274
- var Container$k = /*#__PURE__*/styled.div.withConfig({
16516
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16275
16517
  displayName: "SpellInfo__Container",
16276
16518
  componentId: "sc-4hbw3q-0"
16277
16519
  })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:30rem;@media (max-width:580px){width:80vw;}"], uiFonts.size.small, uiColors.lightGray);
@@ -16325,7 +16567,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16325
16567
  var _ref$current;
16326
16568
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16327
16569
  };
16328
- return React.createElement(ModalPortal, null, React.createElement(Container$l, {
16570
+ return React.createElement(ModalPortal, null, React.createElement(Container$n, {
16329
16571
  ref: ref,
16330
16572
  onTouchEnd: function onTouchEnd() {
16331
16573
  handleFadeOut();
@@ -16350,7 +16592,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16350
16592
  }, option.text);
16351
16593
  }))));
16352
16594
  };
16353
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16595
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
16354
16596
  displayName: "MobileSpellTooltip__Container",
16355
16597
  componentId: "sc-6p7uvr-0"
16356
16598
  })(["position:absolute;z-index:100;left:0;top:0;width:100vw;height:100vh;background-color:rgba(0 0 0 / 0.5);display:flex;justify-content:center;align-items:center;gap:0.5rem;transition:opacity 0.08s;animation:fadeIn 0.1s forwards;@keyframes fadeIn{0%{opacity:0;}100%{opacity:0.92;}}@keyframes fadeOut{0%{opacity:0.92;}100%{opacity:0;}}&.fadeOut{animation:fadeOut 0.1s forwards;}@media (max-width:580px){flex-direction:column;}"]);
@@ -16391,13 +16633,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
16391
16633
  }
16392
16634
  return;
16393
16635
  }, []);
16394
- return React.createElement(ModalPortal, null, React.createElement(Container$m, {
16636
+ return React.createElement(ModalPortal, null, React.createElement(Container$o, {
16395
16637
  ref: ref
16396
16638
  }, React.createElement(SpellInfoDisplay, {
16397
16639
  spell: spell
16398
16640
  })));
16399
16641
  };
16400
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16642
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16401
16643
  displayName: "SpellTooltip__Container",
16402
16644
  componentId: "sc-1go0gwg-0"
16403
16645
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -16449,7 +16691,7 @@ var Spell = function Spell(_ref) {
16449
16691
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16450
16692
  return React.createElement(SpellInfoWrapper, {
16451
16693
  spell: spell
16452
- }, React.createElement(Container$n, {
16694
+ }, React.createElement(Container$p, {
16453
16695
  disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16454
16696
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16455
16697
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -16464,7 +16706,7 @@ var Spell = function Spell(_ref) {
16464
16706
  className: "mana"
16465
16707
  }, manaCost))));
16466
16708
  };
16467
- var Container$n = /*#__PURE__*/styled.button.withConfig({
16709
+ var Container$p = /*#__PURE__*/styled.button.withConfig({
16468
16710
  displayName: "Spell__Container",
16469
16711
  componentId: "sc-j96fa2-0"
16470
16712
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -16552,7 +16794,7 @@ var Spellbook = function Spellbook(_ref) {
16552
16794
  height: "inherit",
16553
16795
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
16554
16796
  scale: scale
16555
- }, React.createElement(Container$o, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
16797
+ }, React.createElement(Container$q, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
16556
16798
  setSettingShortcutIndex: setSettingShortcutIndex,
16557
16799
  settingShortcutIndex: settingShortcutIndex,
16558
16800
  shortcuts: shortcuts,
@@ -16586,7 +16828,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
16586
16828
  displayName: "Spellbook__Title",
16587
16829
  componentId: "sc-r02nfq-0"
16588
16830
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
16589
- var Container$o = /*#__PURE__*/styled.div.withConfig({
16831
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16590
16832
  displayName: "Spellbook__Container",
16591
16833
  componentId: "sc-r02nfq-1"
16592
16834
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -16600,16 +16842,16 @@ var TextArea = function TextArea(_ref) {
16600
16842
  return React.createElement("textarea", Object.assign({}, props));
16601
16843
  };
16602
16844
 
16603
- var img$8 = 'data:image/gif;base64,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';
16845
+ var img$9 = 'data:image/gif;base64,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';
16604
16846
 
16605
- var img$9 = 'data:image/gif;base64,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';
16847
+ var img$a = 'data:image/gif;base64,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';
16606
16848
 
16607
- var img$a = 'data:image/gif;base64,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';
16849
+ var img$b = 'data:image/gif;base64,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';
16608
16850
 
16609
16851
  var DayNightPeriod = function DayNightPeriod(_ref) {
16610
16852
  var _periodOfDaySrcFiles;
16611
16853
  var periodOfDay = _ref.periodOfDay;
16612
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16854
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
16613
16855
  return React.createElement(GifContainer, null, React.createElement("img", {
16614
16856
  src: periodOfDaySrcFiles[periodOfDay]
16615
16857
  }));
@@ -16619,7 +16861,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16619
16861
  componentId: "sc-10t97fw-0"
16620
16862
  })(["width:100%;img{width:67%;}"]);
16621
16863
 
16622
- var img$b = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
16864
+ 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';
16623
16865
 
16624
16866
  var TimeWidget = function TimeWidget(_ref) {
16625
16867
  var onClose = _ref.onClose,
@@ -16637,7 +16879,7 @@ var TimeWidget = function TimeWidget(_ref) {
16637
16879
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16638
16880
  displayName: "TimeWidget__WidgetContainer",
16639
16881
  componentId: "sc-1ja236h-0"
16640
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16882
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
16641
16883
  var Time = /*#__PURE__*/styled.div.withConfig({
16642
16884
  displayName: "TimeWidget__Time",
16643
16885
  componentId: "sc-1ja236h-1"
@@ -16887,230 +17129,16 @@ var Truncate = function Truncate(_ref) {
16887
17129
  var _ref$maxLines = _ref.maxLines,
16888
17130
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
16889
17131
  children = _ref.children;
16890
- return React.createElement(Container$p, {
17132
+ return React.createElement(Container$r, {
16891
17133
  maxLines: maxLines
16892
17134
  }, children);
16893
17135
  };
16894
- var Container$p = /*#__PURE__*/styled.div.withConfig({
17136
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
16895
17137
  displayName: "Truncate__Container",
16896
17138
  componentId: "sc-6x00qb-0"
16897
17139
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
16898
17140
  return props.maxLines;
16899
17141
  });
16900
17142
 
16901
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
16902
-
16903
- var chunkString = function chunkString(str, length) {
16904
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
16905
- };
16906
-
16907
- var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
16908
-
16909
- var NPCDialogText = function NPCDialogText(_ref) {
16910
- var text = _ref.text,
16911
- onClose = _ref.onClose,
16912
- onEndStep = _ref.onEndStep,
16913
- onStartStep = _ref.onStartStep,
16914
- type = _ref.type;
16915
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
16916
- function maxCharacters(width) {
16917
- // Set the font size to 16 pixels
16918
- var fontSize = 11.2;
16919
- // Calculate the number of characters that can fit in one line
16920
- var charactersPerLine = Math.floor(width / 2 / fontSize);
16921
- // Calculate the number of lines that can fit in the div
16922
- var linesPerDiv = Math.floor(180 / fontSize);
16923
- // Calculate the maximum number of characters that can fit in the div
16924
- var maxCharacters = charactersPerLine * linesPerDiv;
16925
- // Return the maximum number of characters
16926
- return Math.round(maxCharacters / 5);
16927
- }
16928
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
16929
- var _useState = useState(0),
16930
- chunkIndex = _useState[0],
16931
- setChunkIndex = _useState[1];
16932
- var onHandleSpacePress = function onHandleSpacePress(event) {
16933
- if (event.code === 'Space') {
16934
- goToNextStep();
16935
- }
16936
- };
16937
- var goToNextStep = function goToNextStep() {
16938
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
16939
- if (hasNextChunk) {
16940
- setChunkIndex(function (prev) {
16941
- return prev + 1;
16942
- });
16943
- } else {
16944
- // if there's no more text chunks, close the dialog
16945
- onClose();
16946
- }
16947
- };
16948
- useEffect(function () {
16949
- document.addEventListener('keydown', onHandleSpacePress);
16950
- return function () {
16951
- return document.removeEventListener('keydown', onHandleSpacePress);
16952
- };
16953
- }, [chunkIndex]);
16954
- var _useState2 = useState(false),
16955
- showGoNextIndicator = _useState2[0],
16956
- setShowGoNextIndicator = _useState2[1];
16957
- return React.createElement(Container$q, null, React.createElement(DynamicText, {
16958
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
16959
- onFinish: function onFinish() {
16960
- setShowGoNextIndicator(true);
16961
- onEndStep && onEndStep();
16962
- },
16963
- onStart: function onStart() {
16964
- setShowGoNextIndicator(false);
16965
- onStartStep && onStartStep();
16966
- }
16967
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
16968
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
16969
- src: IS_MOBILE_OR_TABLET ? img$c : img$6,
16970
- onPointerDown: function onPointerDown() {
16971
- goToNextStep();
16972
- }
16973
- }));
16974
- };
16975
- var Container$q = /*#__PURE__*/styled.div.withConfig({
16976
- displayName: "NPCDialogText__Container",
16977
- componentId: "sc-1cxkdh9-0"
16978
- })([""]);
16979
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
16980
- displayName: "NPCDialogText__PressSpaceIndicator",
16981
- componentId: "sc-1cxkdh9-1"
16982
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
16983
- var right = _ref2.right;
16984
- return right;
16985
- });
16986
-
16987
- var NPCDialogType;
16988
- (function (NPCDialogType) {
16989
- NPCDialogType["TextOnly"] = "TextOnly";
16990
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
16991
- })(NPCDialogType || (NPCDialogType = {}));
16992
- var NPCDialog = function NPCDialog(_ref) {
16993
- var text = _ref.text,
16994
- type = _ref.type,
16995
- _onClose = _ref.onClose,
16996
- imagePath = _ref.imagePath,
16997
- _ref$isQuestionDialog = _ref.isQuestionDialog,
16998
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
16999
- questions = _ref.questions,
17000
- answers = _ref.answers;
17001
- return React.createElement(RPGUIContainer, {
17002
- type: RPGUIContainerTypes.FramedGold,
17003
- width: isQuestionDialog ? '600px' : '80%',
17004
- height: '180px'
17005
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
17006
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17007
- }, React.createElement(QuestionDialog, {
17008
- questions: questions,
17009
- answers: answers,
17010
- onClose: function onClose() {
17011
- if (_onClose) {
17012
- _onClose();
17013
- }
17014
- }
17015
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17016
- src: imagePath || img$5
17017
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$r, null, React.createElement(TextContainer$2, {
17018
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17019
- }, React.createElement(NPCDialogText, {
17020
- type: type,
17021
- text: text || 'No text provided.',
17022
- onClose: function onClose() {
17023
- if (_onClose) {
17024
- _onClose();
17025
- }
17026
- }
17027
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17028
- src: imagePath || img$5
17029
- })))));
17030
- };
17031
- var Container$r = /*#__PURE__*/styled.div.withConfig({
17032
- displayName: "NPCDialog__Container",
17033
- componentId: "sc-1b4aw74-0"
17034
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17035
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17036
- displayName: "NPCDialog__TextContainer",
17037
- componentId: "sc-1b4aw74-1"
17038
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17039
- var flex = _ref2.flex;
17040
- return flex;
17041
- });
17042
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17043
- displayName: "NPCDialog__ThumbnailContainer",
17044
- componentId: "sc-1b4aw74-2"
17045
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17046
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17047
- displayName: "NPCDialog__NPCThumbnail",
17048
- componentId: "sc-1b4aw74-3"
17049
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
17050
-
17051
- var HistoryDialog = function HistoryDialog(_ref) {
17052
- var backgroundImgPath = _ref.backgroundImgPath,
17053
- fullCoverBackground = _ref.fullCoverBackground,
17054
- questions = _ref.questions,
17055
- answers = _ref.answers,
17056
- text = _ref.text,
17057
- imagePath = _ref.imagePath,
17058
- textAndTypeArray = _ref.textAndTypeArray,
17059
- onClose = _ref.onClose;
17060
- var _useState = useState(0),
17061
- img = _useState[0],
17062
- setImage = _useState[1];
17063
- var onHandleSpacePress = function onHandleSpacePress(event) {
17064
- if (event.code === 'Space') {
17065
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17066
- setImage(function (prev) {
17067
- return prev + 1;
17068
- });
17069
- } else {
17070
- // if there's no more text chunks, close the dialog
17071
- onClose();
17072
- }
17073
- }
17074
- };
17075
- useEffect(function () {
17076
- document.addEventListener('keydown', onHandleSpacePress);
17077
- return function () {
17078
- return document.removeEventListener('keydown', onHandleSpacePress);
17079
- };
17080
- }, [backgroundImgPath]);
17081
- return React.createElement(BackgroundContainer, {
17082
- imgPath: backgroundImgPath[img],
17083
- fullImg: fullCoverBackground
17084
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
17085
- textAndTypeArray: textAndTypeArray,
17086
- onClose: onClose
17087
- }) : questions && answers ? React.createElement(QuestionDialog, {
17088
- questions: questions,
17089
- answers: answers,
17090
- onClose: onClose
17091
- }) : text && imagePath ? React.createElement(NPCDialog, {
17092
- text: text,
17093
- imagePath: imagePath,
17094
- onClose: onClose,
17095
- type: NPCDialogType.TextAndThumbnail
17096
- }) : React.createElement(NPCDialog, {
17097
- text: text,
17098
- onClose: onClose,
17099
- type: NPCDialogType.TextOnly
17100
- })));
17101
- };
17102
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17103
- displayName: "HistoryDialog__BackgroundContainer",
17104
- componentId: "sc-u6oe75-0"
17105
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17106
- return props.imgPath;
17107
- }, function (props) {
17108
- return props.imgPath ? 'cover' : 'auto';
17109
- });
17110
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17111
- displayName: "HistoryDialog__DialogContainer",
17112
- componentId: "sc-u6oe75-1"
17113
- })(["display:flex;justify-content:center;padding-top:200px;"]);
17114
-
17115
17143
  export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio$1 as InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, Marketplace, MarketplaceRows, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, rarityColor, useEventListener };
17116
17144
  //# sourceMappingURL=long-bow.esm.js.map