@rpg-engine/long-bow 0.3.97 → 0.3.98

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 (179) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/Spellbook/Spell.d.ts +4 -4
  4. package/dist/components/Spellbook/Spellbook.d.ts +2 -2
  5. package/dist/components/Spellbook/cards/MobileSpellTooltip.d.ts +15 -0
  6. package/dist/components/Spellbook/cards/SpellInfo.d.ts +7 -0
  7. package/dist/components/Spellbook/cards/SpellInfoDisplay.d.ts +7 -0
  8. package/dist/components/Spellbook/cards/SpellInfoWrapper.d.ts +9 -0
  9. package/dist/components/Spellbook/cards/SpellTooltip.d.ts +6 -0
  10. package/dist/components/Spellbook/mockSpells.d.ts +2 -2
  11. package/dist/libs/CastingTypeHelper.d.ts +1 -0
  12. package/dist/long-bow.cjs.development.js +1438 -1229
  13. package/dist/long-bow.cjs.development.js.map +1 -1
  14. package/dist/long-bow.cjs.production.min.js +1 -1
  15. package/dist/long-bow.cjs.production.min.js.map +1 -1
  16. package/dist/long-bow.esm.js +1439 -1230
  17. package/dist/long-bow.esm.js.map +1 -1
  18. package/dist/stories/SpellInfoDisplay.stories.d.ts +8 -0
  19. package/package.json +100 -100
  20. package/src/.DS_Store +0 -0
  21. package/src/components/.DS_Store +0 -0
  22. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  23. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  24. package/src/components/Arrow/SelectArrow.tsx +69 -69
  25. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  26. package/src/components/Arrow/img/arrow01-left.png +0 -0
  27. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  28. package/src/components/Arrow/img/arrow01-right.png +0 -0
  29. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  30. package/src/components/Arrow/img/arrow02-left.png +0 -0
  31. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  32. package/src/components/Arrow/img/arrow02-right.png +0 -0
  33. package/src/components/Button.tsx +40 -40
  34. package/src/components/Character/CharacterSelection.tsx +98 -98
  35. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  36. package/src/components/Chat/Chat.tsx +196 -196
  37. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  38. package/src/components/CheckButton.tsx +65 -65
  39. package/src/components/CircularController/CircularController.tsx +282 -282
  40. package/src/components/CraftBook/CraftBook.tsx +286 -286
  41. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  42. package/src/components/CraftBook/MockItems.ts +101 -101
  43. package/src/components/DraggableContainer.tsx +180 -180
  44. package/src/components/DropdownSelectorContainer.tsx +42 -42
  45. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  46. package/src/components/HistoryDialog.tsx +104 -104
  47. package/src/components/Input.tsx +15 -15
  48. package/src/components/InputRadio.tsx +41 -41
  49. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  50. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  51. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  52. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  53. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  54. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  55. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  56. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  57. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  58. package/src/components/Item/Inventory/ItemSlot.tsx +580 -580
  59. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  60. package/src/components/ListMenu.tsx +63 -63
  61. package/src/components/Marketplace/Marketplace.tsx +132 -132
  62. package/src/components/Marketplace/MarketplaceRows.tsx +171 -171
  63. package/src/components/Marketplace/__mocks__/index.tsx +65 -65
  64. package/src/components/Multitab/Tab.tsx +66 -66
  65. package/src/components/Multitab/TabBody.tsx +13 -13
  66. package/src/components/Multitab/TabsContainer.tsx +97 -97
  67. package/src/components/NPCDialog/.DS_Store +0 -0
  68. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  69. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  70. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  71. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  72. package/src/components/NPCDialog/img/.DS_Store +0 -0
  73. package/src/components/ProgressBar.tsx +92 -92
  74. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  75. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  76. package/src/components/QuestList.tsx +135 -135
  77. package/src/components/RPGUIContainer.tsx +47 -47
  78. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  79. package/src/components/RPGUIRoot.tsx +14 -14
  80. package/src/components/RadioButton.tsx +53 -53
  81. package/src/components/RadioInput/RadioButton.tsx +96 -96
  82. package/src/components/RadioInput/RadioInput.tsx +102 -102
  83. package/src/components/RadioInput/instruments.ts +15 -15
  84. package/src/components/RangeSlider.tsx +78 -78
  85. package/src/components/RelativeListMenu.tsx +90 -90
  86. package/src/components/ScrollList.tsx +79 -79
  87. package/src/components/Shortcuts/Shortcuts.tsx +192 -192
  88. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  89. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  90. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  91. package/src/components/SimpleProgressBar.tsx +62 -62
  92. package/src/components/SkillProgressBar.tsx +133 -133
  93. package/src/components/SkillsContainer.tsx +206 -206
  94. package/src/components/Spellbook/Spell.tsx +236 -226
  95. package/src/components/Spellbook/Spellbook.tsx +159 -158
  96. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -0
  97. package/src/components/Spellbook/cards/SpellInfo.tsx +132 -0
  98. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -0
  99. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -0
  100. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -0
  101. package/src/components/Spellbook/constants.ts +8 -8
  102. package/src/components/Spellbook/mockSpells.ts +85 -60
  103. package/src/components/StaticBook/StaticBook.tsx +103 -103
  104. package/src/components/TextArea.tsx +11 -11
  105. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  106. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  107. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  108. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  109. package/src/components/TradingMenu/items.mock.ts +48 -48
  110. package/src/components/Truncate.tsx +25 -25
  111. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  112. package/src/components/shared/Column.tsx +16 -16
  113. package/src/components/shared/Ellipsis.tsx +68 -68
  114. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  115. package/src/components/typography/DynamicText.tsx +49 -49
  116. package/src/constants/uiColors.ts +20 -20
  117. package/src/constants/uiDevices.ts +3 -3
  118. package/src/constants/uiFonts.ts +12 -12
  119. package/src/hooks/useEventListener.ts +21 -21
  120. package/src/hooks/useOutsideAlerter.ts +25 -25
  121. package/src/index.tsx +42 -42
  122. package/src/libs/CastingTypeHelper.ts +8 -0
  123. package/src/libs/StringHelpers.ts +3 -3
  124. package/src/libs/itemCounter.ts +21 -21
  125. package/src/mocks/.DS_Store +0 -0
  126. package/src/mocks/atlas/.DS_Store +0 -0
  127. package/src/mocks/atlas/entities/entities.json +20215 -20215
  128. package/src/mocks/atlas/icons/icons.json +735 -735
  129. package/src/mocks/atlas/items/items.json +12086 -12086
  130. package/src/mocks/equipmentSet.mocks.ts +391 -391
  131. package/src/mocks/itemContainer.mocks.ts +605 -605
  132. package/src/mocks/skills.mocks.ts +128 -128
  133. package/src/stories/Arrow.stories.tsx +26 -26
  134. package/src/stories/Button.stories.tsx +36 -36
  135. package/src/stories/CharacterSelection.stories.tsx +44 -44
  136. package/src/stories/CharacterStatus.stories.tsx +29 -29
  137. package/src/stories/Chat.stories.tsx +187 -187
  138. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  139. package/src/stories/CheckButton.stories.tsx +48 -48
  140. package/src/stories/CircullarController.stories.tsx +37 -37
  141. package/src/stories/CraftBook.stories.tsx +42 -42
  142. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  143. package/src/stories/DraggableContainer.stories.tsx +28 -28
  144. package/src/stories/Dropdown.stories.tsx +46 -46
  145. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  146. package/src/stories/EquipmentSet.stories.tsx +65 -65
  147. package/src/stories/HistoryDialog.stories.tsx +61 -61
  148. package/src/stories/ItemContainer.stories.tsx +201 -201
  149. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  150. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  151. package/src/stories/ItemSelector.stories.tsx +77 -77
  152. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  153. package/src/stories/ListMenu.stories.tsx +56 -56
  154. package/src/stories/Marketplace.stories.tsx +42 -42
  155. package/src/stories/MarketplaceRows.stories.tsx +28 -28
  156. package/src/stories/Multitab.stories.tsx +51 -51
  157. package/src/stories/NPCDialog.stories.tsx +130 -130
  158. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  159. package/src/stories/ProgressBar.stories.tsx +23 -23
  160. package/src/stories/PropertySelect.stories.tsx +40 -40
  161. package/src/stories/QuestInfo.stories.tsx +107 -107
  162. package/src/stories/QuestList.stories.tsx +82 -82
  163. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  164. package/src/stories/RadioButton.stories.tsx +49 -49
  165. package/src/stories/RadioInput.stories.tsx +34 -34
  166. package/src/stories/RangeSlider.stories.tsx +64 -64
  167. package/src/stories/ScrollList.stories.tsx +85 -85
  168. package/src/stories/Shortcuts.stories.tsx +39 -39
  169. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  170. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  171. package/src/stories/SkillsContainer.stories.tsx +35 -35
  172. package/src/stories/SpellInfoDisplay.stories.tsx +27 -0
  173. package/src/stories/Spellbook.stories.tsx +104 -104
  174. package/src/stories/StaticBook.stories.tsx +32 -32
  175. package/src/stories/Text.stories.tsx +42 -42
  176. package/src/stories/TimeWidget.stories.tsx +27 -27
  177. package/src/stories/TradingMenu.stories.tsx +47 -47
  178. package/src/types/eventTypes.ts +4 -4
  179. 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,704 +14588,375 @@ 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
- };
14733
- }
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;
14766
- }
14767
- setValue(e.target.value);
14768
- },
14769
- onBlur: function onBlur(e) {
14770
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14771
- setValue(newValue);
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;
14772
14750
  }
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")));
14784
- };
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;"]);
14801
-
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
- }
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;
14830
14766
  });
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
- }));
14767
+ });
14836
14768
  };
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;"]);
14870
-
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,
14877
- 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);
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;
14910
14813
  }
14911
14814
  };
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
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;
14962
14822
  }));
14823
+ } else {
14824
+ // else, finish dialog!
14825
+ onClose();
14963
14826
  }
14964
- return slots;
14965
14827
  };
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
- },
14992
- onClose: function onClose() {
14993
- quantitySelect.callback(-1);
14994
- setQuantitySelect({
14995
- isOpen: false,
14996
- maxQuantity: 1,
14997
- callback: function callback() {}
14998
- });
14999
- }
15000
- }))));
15001
- };
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);"]);
15010
-
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);
15024
- };
15025
- 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();
15037
- }
14828
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14829
+ var answerIds = currentQuestion.answerIds;
14830
+ if (!answerIds) {
14831
+ return null;
15038
14832
  }
15039
- }, React.createElement("div", {
15040
- style: {
15041
- width: '100%'
14833
+ var answers = onGetAnswers(answerIds);
14834
+ if (!answers) {
14835
+ return null;
15042
14836
  }
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'
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));
15063
14852
  }
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")));
15071
- };
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%;"]);
15096
-
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'
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);
14860
+ },
14861
+ onFinish: function onFinish() {
14862
+ return setCanShowAnswers(true);
15109
14863
  }
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);
15115
- }
15116
- }, (params == null ? void 0 : params.text) || 'No text');
15117
- })));
14864
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15118
14865
  };
15119
14866
  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;
15124
- }, 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;"]);
15131
-
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,
15221
- 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;
15232
- return React.createElement(DraggableContainer, {
15233
- type: RPGUIContainerTypes.Framed,
15234
- onCloseButton: function onCloseButton() {
15235
- if (onClose) onClose();
15236
- },
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;"]);
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;}"]);
15285
14894
 
15286
- var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14895
+ var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15287
14896
 
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';
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,
14904
+ type = _ref.type,
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
+ }
14924
+ }
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.',
14932
+ onClose: function onClose() {
14933
+ if (_onClose) {
14934
+ _onClose();
14935
+ }
14936
+ }
14937
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14938
+ src: imagePath || img$7
14939
+ })))));
14940
+ };
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;"]);
15289
14960
 
15290
14961
  var ImgSide;
15291
14962
  (function (ImgSide) {
@@ -15308,306 +14979,849 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
15308
14979
  setSlide(function (prev) {
15309
14980
  return prev + 1;
15310
14981
  });
15311
- } else {
15312
- // if there's no more text chunks, close the dialog
15313
- _onClose();
14982
+ } else {
14983
+ // if there's no more text chunks, close the dialog
14984
+ _onClose();
14985
+ }
14986
+ }
14987
+ };
14988
+ useEffect(function () {
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();
15011
+ }
15012
+ }
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();
15033
+ }
15034
+ }
15035
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15036
+ right: '1rem',
15037
+ src: img$6
15038
+ }))), ")"));
15039
+ };
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
+ });
15066
+
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();
15088
+ }
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
15116
+ })));
15117
+ };
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;
15123
+ }, function (props) {
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;"]);
15130
+
15131
+ var SlotsContainer = function SlotsContainer(_ref) {
15132
+ var children = _ref.children,
15133
+ title = _ref.title,
15134
+ onClose = _ref.onClose,
15135
+ _onPositionChange = _ref.onPositionChange,
15136
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
15137
+ _onPositionChangeStart = _ref.onPositionChangeStart,
15138
+ onOutsideClick = _ref.onOutsideClick,
15139
+ initialPosition = _ref.initialPosition,
15140
+ scale = _ref.scale;
15141
+ return React.createElement(DraggableContainer, {
15142
+ title: title,
15143
+ type: RPGUIContainerTypes.Framed,
15144
+ onCloseButton: function onCloseButton() {
15145
+ if (onClose) {
15146
+ onClose();
15147
+ }
15148
+ },
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
15158
+ });
15159
+ }
15160
+ },
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
+ });
15169
+ }
15170
+ },
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
+ });
15314
15179
  }
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
15180
  },
15333
- onEndStep: function onEndStep() {
15334
- return setShowGoNextIndicator(true);
15181
+ onOutsideClick: onOutsideClick,
15182
+ initialPosition: initialPosition,
15183
+ scale: scale
15184
+ }, children);
15185
+ };
15186
+
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];
15204
+ useEffect(function () {
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'
15335
15214
  },
15336
- text: textAndTypeArray[slide].text || 'No text provided.',
15337
- onClose: function onClose() {
15338
- if (_onClose) {
15339
- _onClose();
15340
- }
15215
+ className: "rpgui-slider-container " + typeClass,
15216
+ id: "rpgui-slider-" + sliderId,
15217
+ ref: containerRef
15218
+ }, React.createElement("div", {
15219
+ style: {
15220
+ pointerEvents: 'none'
15341
15221
  }
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);
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
15354
15237
  },
15355
- onEndStep: function onEndStep() {
15356
- return setShowGoNextIndicator(true);
15238
+ min: valueMin,
15239
+ max: valueMax,
15240
+ onChange: function onChange(e) {
15241
+ return _onChange(Number(e.target.value));
15357
15242
  },
15358
- text: textAndTypeArray[slide].text || 'No text provided.',
15359
- onClose: function onClose() {
15360
- if (_onClose) {
15361
- _onClose();
15362
- }
15363
- }
15364
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15365
- right: '1rem',
15366
- src: img$6
15367
- }))), ")"));
15368
- };
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
-
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]);
15243
+ value: value,
15244
+ className: "rpgui-cursor-point"
15245
+ }));
15415
15246
  };
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;"]);
15416
15251
 
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];
15252
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15253
+ var quantity = _ref.quantity,
15254
+ onConfirm = _ref.onConfirm,
15255
+ onClose = _ref.onClose;
15256
+ var _useState = useState(quantity),
15257
+ value = _useState[0],
15258
+ setValue = _useState[1];
15259
+ var inputRef = useRef(null);
15424
15260
  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();
15261
+ if (inputRef.current) {
15262
+ inputRef.current.focus();
15263
+ inputRef.current.select();
15264
+ var closeSelector = function closeSelector(e) {
15265
+ if (e.key === 'Escape') {
15266
+ onClose();
15431
15267
  }
15268
+ };
15269
+ document.addEventListener('keydown', closeSelector);
15270
+ return function () {
15271
+ document.removeEventListener('keydown', closeSelector);
15272
+ };
15273
+ }
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;
15432
15291
  }
15433
- if (i < text.length) {
15434
- setTextState(text.substring(0, i + 1));
15435
- i++;
15436
- } else {
15437
- clearInterval(interval);
15438
- if (onFinish) {
15439
- onFinish();
15292
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15293
+ },
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'
15440
15369
  }
15441
- }
15442
- }, 50);
15443
- return function () {
15444
- clearInterval(interval);
15445
- };
15446
- }, [text]);
15447
- return React.createElement(TextContainer$1, null, textState);
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
+ })));
15448
15394
  };
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;"]);
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;"]);
15453
15410
 
15454
- var QuestionDialog = function QuestionDialog(_ref) {
15455
- var questions = _ref.questions,
15456
- answers = _ref.answers,
15457
- 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;
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);
15467
15450
  }
15468
- var firstAnswerId = currentQuestion.answerIds[0];
15469
- return answers.find(function (answer) {
15470
- return answer.id === firstAnswerId;
15471
- });
15472
15451
  };
15473
- var _useState3 = useState(onGetFirstAnswer()),
15474
- currentAnswer = _useState3[0],
15475
- setCurrentAnswer = _useState3[1];
15476
- 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
- });
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;
15485
15505
  };
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)) {
15522
- onClose();
15523
- return;
15524
- } else {
15525
- setCurrentQuestion(questions.find(function (question) {
15526
- return question.id === currentAnswer.nextQuestionId;
15527
- }));
15528
- }
15529
- break;
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
+ });
15530
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);
15531
15564
  };
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();
15565
+ useEffect(function () {
15566
+ if (selectedValue) {
15567
+ onSelect(selectedValue);
15543
15568
  }
15544
- };
15545
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15546
- var answerIds = currentQuestion.answerIds;
15547
- if (!answerIds) {
15548
- return null;
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
+ }
15549
15578
  }
15550
- var answers = onGetAnswers(answerIds);
15551
- if (!answers) {
15552
- return null;
15579
+ }, React.createElement("div", {
15580
+ style: {
15581
+ width: '100%'
15553
15582
  }
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));
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'
15569
15603
  }
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);
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();
15577
15776
  },
15578
- onFinish: function onFinish() {
15579
- return setCanShowAnswers(true);
15580
- }
15581
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
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
+ }))));
15582
15808
  };
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;}"]);
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,
@@ -15626,7 +15840,7 @@ var ProgressBar = function ProgressBar(_ref) {
15626
15840
  }
15627
15841
  return value * 100 / max;
15628
15842
  };
15629
- return React.createElement(Container$i, {
15843
+ return React.createElement(Container$k, {
15630
15844
  className: "rpgui-progress",
15631
15845
  "data-value": calculatePercentageValue(max, value) / 100,
15632
15846
  "data-rpguitype": "progress",
@@ -15655,7 +15869,7 @@ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
15655
15869
  displayName: "ProgressBar__TextOverlay",
15656
15870
  componentId: "sc-qa6fzh-1"
15657
15871
  })(["width:100%;position:relative;"]);
15658
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15872
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
15659
15873
  displayName: "ProgressBar__Container",
15660
15874
  componentId: "sc-qa6fzh-2"
15661
15875
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -15666,7 +15880,7 @@ var Container$i = /*#__PURE__*/styled.div.withConfig({
15666
15880
  return props.style;
15667
15881
  });
15668
15882
 
15669
- var img$7 = 'data:image/png;base64,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';
15883
+ var img$8 = 'data:image/png;base64,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';
15670
15884
 
15671
15885
  var QuestInfo = function QuestInfo(_ref) {
15672
15886
  var quests = _ref.quests,
@@ -15710,7 +15924,7 @@ var QuestInfo = function QuestInfo(_ref) {
15710
15924
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15711
15925
  className: "drag-handler"
15712
15926
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15713
- src: quests[currentIndex].thumbnail || img$7
15927
+ src: quests[currentIndex].thumbnail || img$8
15714
15928
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15715
15929
  className: "golden"
15716
15930
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -15729,7 +15943,7 @@ var QuestInfo = function QuestInfo(_ref) {
15729
15943
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15730
15944
  className: "drag-handler"
15731
15945
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15732
- src: quests[0].thumbnail || img$7
15946
+ src: quests[0].thumbnail || img$8
15733
15947
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15734
15948
  className: "golden"
15735
15949
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -15994,7 +16208,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
15994
16208
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
15995
16209
  _ref$margin = _ref.margin,
15996
16210
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
15997
- return React.createElement(Container$j, {
16211
+ return React.createElement(Container$l, {
15998
16212
  className: "simple-progress-bar"
15999
16213
  }, React.createElement(ProgressBarContainer, {
16000
16214
  margin: margin
@@ -16003,7 +16217,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16003
16217
  bgColor: bgColor
16004
16218
  }))));
16005
16219
  };
16006
- var Container$j = /*#__PURE__*/styled.div.withConfig({
16220
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
16007
16221
  displayName: "SimpleProgressBar__Container",
16008
16222
  componentId: "sc-mbeil3-0"
16009
16223
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16182,60 +16396,268 @@ var SkillsContainer = function SkillsContainer(_ref) {
16182
16396
  title: "Skills",
16183
16397
  cancelDrag: "#skillsDiv",
16184
16398
  scale: scale
16185
- }, onCloseButton && React.createElement(CloseButton$3, {
16186
- onPointerDown: onCloseButton
16187
- }, "X"), React.createElement(SkillsContainerDiv, {
16188
- id: "skillsDiv"
16189
- }, React.createElement(SkillSplitDiv, null, React.createElement("p", null, "General"), React.createElement("hr", {
16190
- className: "golden"
16191
- }), React.createElement(SkillProgressBar, {
16192
- skillName: 'Level',
16193
- bgColor: uiColors.navyBlue,
16194
- level: Math.round(skill.level) || 0,
16195
- skillPoints: Math.round(skill.experience) || 0,
16196
- skillPointsToNextLevel: Math.round(skill.xpToNextLevel) || 0,
16197
- texturePath: 'swords/broad-sword.png',
16198
- atlasIMG: atlasIMG,
16199
- atlasJSON: atlasJSON
16200
- }), React.createElement("p", null, "Combat Skills"), React.createElement("hr", {
16201
- className: "golden"
16202
- })), onRenderSkillCategory('combat'), React.createElement(SkillSplitDiv, null, React.createElement("p", null, "Crafting Skills"), React.createElement("hr", {
16203
- className: "golden"
16204
- })), onRenderSkillCategory('crafting'), React.createElement(SkillSplitDiv, null, React.createElement("p", null, "Basic Attributes"), React.createElement("hr", {
16205
- className: "golden"
16206
- })), onRenderSkillCategory('attributes')));
16399
+ }, onCloseButton && React.createElement(CloseButton$3, {
16400
+ onPointerDown: onCloseButton
16401
+ }, "X"), React.createElement(SkillsContainerDiv, {
16402
+ id: "skillsDiv"
16403
+ }, React.createElement(SkillSplitDiv, null, React.createElement("p", null, "General"), React.createElement("hr", {
16404
+ className: "golden"
16405
+ }), React.createElement(SkillProgressBar, {
16406
+ skillName: 'Level',
16407
+ bgColor: uiColors.navyBlue,
16408
+ level: Math.round(skill.level) || 0,
16409
+ skillPoints: Math.round(skill.experience) || 0,
16410
+ skillPointsToNextLevel: Math.round(skill.xpToNextLevel) || 0,
16411
+ texturePath: 'swords/broad-sword.png',
16412
+ atlasIMG: atlasIMG,
16413
+ atlasJSON: atlasJSON
16414
+ }), React.createElement("p", null, "Combat Skills"), React.createElement("hr", {
16415
+ className: "golden"
16416
+ })), onRenderSkillCategory('combat'), React.createElement(SkillSplitDiv, null, React.createElement("p", null, "Crafting Skills"), React.createElement("hr", {
16417
+ className: "golden"
16418
+ })), onRenderSkillCategory('crafting'), React.createElement(SkillSplitDiv, null, React.createElement("p", null, "Basic Attributes"), React.createElement("hr", {
16419
+ className: "golden"
16420
+ })), onRenderSkillCategory('attributes')));
16421
+ };
16422
+ var SkillsDraggableContainer = /*#__PURE__*/styled(DraggableContainer).withConfig({
16423
+ displayName: "SkillsContainer__SkillsDraggableContainer",
16424
+ componentId: "sc-1g0c67q-0"
16425
+ })(["border:1px solid black;width:400px;height:90%;.DraggableContainer__TitleContainer-sc-184mpyl-2{width:auto;height:auto;}"]);
16426
+ var SkillsContainerDiv = /*#__PURE__*/styled.div.withConfig({
16427
+ displayName: "SkillsContainer__SkillsContainerDiv",
16428
+ componentId: "sc-1g0c67q-1"
16429
+ })(["width:100%;-webkit-overflow-y:scroll;overflow-y:scroll;height:90%;padding-right:10px;"]);
16430
+ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
16431
+ displayName: "SkillsContainer__SkillSplitDiv",
16432
+ componentId: "sc-1g0c67q-2"
16433
+ })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
16434
+ var CloseButton$3 = /*#__PURE__*/styled.div.withConfig({
16435
+ displayName: "SkillsContainer__CloseButton",
16436
+ componentId: "sc-1g0c67q-3"
16437
+ })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
16438
+
16439
+ var formatSpellCastingType = function formatSpellCastingType(castingType) {
16440
+ var formattedCastingType = castingType.split("-").map(function (word) {
16441
+ return word.charAt(0).toUpperCase() + word.slice(1);
16442
+ }).join(" ");
16443
+ return formattedCastingType;
16444
+ };
16445
+
16446
+ var SpellInfo = function SpellInfo(_ref) {
16447
+ var spell = _ref.spell;
16448
+ var magicWords = spell.magicWords,
16449
+ name = spell.name,
16450
+ manaCost = spell.manaCost,
16451
+ requiredItem = spell.requiredItem,
16452
+ description = spell.description,
16453
+ castingType = spell.castingType,
16454
+ cooldown = spell.cooldown,
16455
+ maxDistanceGrid = spell.maxDistanceGrid;
16456
+ 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", {
16457
+ className: "label"
16458
+ }, "Casting Type:"), React.createElement("div", {
16459
+ className: "value"
16460
+ }, formatSpellCastingType(castingType))), React.createElement(Statistic$1, null, React.createElement("div", {
16461
+ className: "label"
16462
+ }, "Magic words:"), React.createElement("div", {
16463
+ className: "value"
16464
+ }, magicWords)), React.createElement(Statistic$1, null, React.createElement("div", {
16465
+ className: "label"
16466
+ }, "Mana cost:"), React.createElement("div", {
16467
+ className: "value"
16468
+ }, manaCost)), React.createElement(Statistic$1, null, React.createElement("div", {
16469
+ className: "label"
16470
+ }, "Cooldown:"), React.createElement("div", {
16471
+ className: "value"
16472
+ }, cooldown)), React.createElement(Statistic$1, null, React.createElement("div", {
16473
+ className: "label"
16474
+ }, "Max Distance Grid:"), React.createElement("div", {
16475
+ className: "value"
16476
+ }, maxDistanceGrid)), React.createElement(Statistic$1, null, requiredItem && React.createElement(React.Fragment, null, React.createElement("div", {
16477
+ className: "label"
16478
+ }, "Required Item:"), React.createElement("div", {
16479
+ className: "value"
16480
+ }, requiredItem))), React.createElement(Description$1, null, description));
16481
+ };
16482
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16483
+ displayName: "SpellInfo__Container",
16484
+ componentId: "sc-4hbw3q-0"
16485
+ })(["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);
16486
+ var Title$6 = /*#__PURE__*/styled.div.withConfig({
16487
+ displayName: "SpellInfo__Title",
16488
+ componentId: "sc-4hbw3q-1"
16489
+ })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
16490
+ var Type$1 = /*#__PURE__*/styled.div.withConfig({
16491
+ displayName: "SpellInfo__Type",
16492
+ componentId: "sc-4hbw3q-2"
16493
+ })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
16494
+ var Description$1 = /*#__PURE__*/styled.div.withConfig({
16495
+ displayName: "SpellInfo__Description",
16496
+ componentId: "sc-4hbw3q-3"
16497
+ })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
16498
+ var Header$1 = /*#__PURE__*/styled.div.withConfig({
16499
+ displayName: "SpellInfo__Header",
16500
+ componentId: "sc-4hbw3q-4"
16501
+ })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
16502
+ var Statistic$1 = /*#__PURE__*/styled.div.withConfig({
16503
+ displayName: "SpellInfo__Statistic",
16504
+ componentId: "sc-4hbw3q-5"
16505
+ })(["margin-bottom:0.4rem;width:max-content;.label{display:inline-block;margin-right:0.5rem;color:inherit;}.value{display:inline-block;color:inherit;}&.better,.better{color:", ";}&.worse,.worse{color:", ";}"], uiColors.lightGreen, uiColors.cardinal);
16506
+
16507
+ var SpellInfoDisplay = function SpellInfoDisplay(_ref) {
16508
+ var spell = _ref.spell,
16509
+ isMobile = _ref.isMobile;
16510
+ return React.createElement(Flex$1, {
16511
+ "$isMobile": isMobile
16512
+ }, React.createElement(SpellInfo, {
16513
+ spell: spell
16514
+ }));
16515
+ };
16516
+ var Flex$1 = /*#__PURE__*/styled.div.withConfig({
16517
+ displayName: "SpellInfoDisplay__Flex",
16518
+ componentId: "sc-1htnsmm-0"
16519
+ })(["display:flex;gap:0.5rem;flex-direction:", ";@media (max-width:580px){flex-direction:column-reverse;align-items:center;}"], function (_ref2) {
16520
+ var $isMobile = _ref2.$isMobile;
16521
+ return $isMobile ? 'row-reverse' : 'row';
16522
+ });
16523
+
16524
+ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16525
+ var spell = _ref.spell,
16526
+ closeTooltip = _ref.closeTooltip,
16527
+ _ref$scale = _ref.scale,
16528
+ scale = _ref$scale === void 0 ? 1 : _ref$scale,
16529
+ options = _ref.options,
16530
+ onSelected = _ref.onSelected;
16531
+ var ref = useRef(null);
16532
+ var handleFadeOut = function handleFadeOut() {
16533
+ var _ref$current;
16534
+ (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16535
+ };
16536
+ return React.createElement(ModalPortal, null, React.createElement(Container$n, {
16537
+ ref: ref,
16538
+ onTouchEnd: function onTouchEnd() {
16539
+ handleFadeOut();
16540
+ setTimeout(function () {
16541
+ closeTooltip();
16542
+ }, 100);
16543
+ },
16544
+ scale: scale
16545
+ }, React.createElement(SpellInfoDisplay, {
16546
+ spell: spell,
16547
+ isMobile: true
16548
+ }), React.createElement(OptionsContainer$1, null, options == null ? void 0 : options.map(function (option) {
16549
+ return React.createElement(Option$1, {
16550
+ key: option.id,
16551
+ onTouchEnd: function onTouchEnd() {
16552
+ handleFadeOut();
16553
+ setTimeout(function () {
16554
+ onSelected == null ? void 0 : onSelected(option.id);
16555
+ closeTooltip();
16556
+ }, 100);
16557
+ }
16558
+ }, option.text);
16559
+ }))));
16560
+ };
16561
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
16562
+ displayName: "MobileSpellTooltip__Container",
16563
+ componentId: "sc-6p7uvr-0"
16564
+ })(["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;}"]);
16565
+ var OptionsContainer$1 = /*#__PURE__*/styled.div.withConfig({
16566
+ displayName: "MobileSpellTooltip__OptionsContainer",
16567
+ componentId: "sc-6p7uvr-1"
16568
+ })(["display:flex;flex-direction:column;gap:0.5rem;flex-wrap:wrap;@media (max-width:580px){flex-direction:row;justify-content:center;}"]);
16569
+ var Option$1 = /*#__PURE__*/styled.button.withConfig({
16570
+ displayName: "MobileSpellTooltip__Option",
16571
+ componentId: "sc-6p7uvr-2"
16572
+ })(["padding:1rem;background-color:#333;color:white;border:none;border-radius:3px;width:8rem;transition:background-color 0.1s;&:hover{background-color:#555;}@media (max-width:580px){padding:1rem 0.5rem;}"]);
16573
+
16574
+ var offset$1 = 20;
16575
+ var MagicTooltip = function MagicTooltip(_ref) {
16576
+ var spell = _ref.spell;
16577
+ var ref = useRef(null);
16578
+ useEffect(function () {
16579
+ var current = ref.current;
16580
+ if (current) {
16581
+ var handleMouseMove = function handleMouseMove(event) {
16582
+ var clientX = event.clientX,
16583
+ clientY = event.clientY;
16584
+ // Adjust the position of the tooltip based on the mouse position
16585
+ var rect = current.getBoundingClientRect();
16586
+ var tooltipWidth = rect.width;
16587
+ var tooltipHeight = rect.height;
16588
+ var isOffScreenRight = clientX + tooltipWidth + offset$1 > window.innerWidth;
16589
+ var isOffScreenBottom = clientY + tooltipHeight + offset$1 > window.innerHeight;
16590
+ var x = isOffScreenRight ? clientX - tooltipWidth - offset$1 : clientX + offset$1;
16591
+ var y = isOffScreenBottom ? clientY - tooltipHeight - offset$1 : clientY + offset$1;
16592
+ current.style.transform = "translate(" + x + "px, " + y + "px)";
16593
+ current.style.opacity = '1';
16594
+ };
16595
+ window.addEventListener('mousemove', handleMouseMove);
16596
+ return function () {
16597
+ window.removeEventListener('mousemove', handleMouseMove);
16598
+ };
16599
+ }
16600
+ return;
16601
+ }, []);
16602
+ return React.createElement(ModalPortal, null, React.createElement(Container$o, {
16603
+ ref: ref
16604
+ }, React.createElement(SpellInfoDisplay, {
16605
+ spell: spell
16606
+ })));
16607
+ };
16608
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16609
+ displayName: "SpellTooltip__Container",
16610
+ componentId: "sc-1go0gwg-0"
16611
+ })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
16612
+
16613
+ var SpellInfoWrapper = function SpellInfoWrapper(_ref) {
16614
+ var children = _ref.children,
16615
+ spell = _ref.spell,
16616
+ scale = _ref.scale;
16617
+ var _useState = useState(false),
16618
+ isTooltipVisible = _useState[0],
16619
+ setIsTooltipVisible = _useState[1];
16620
+ var _useState2 = useState(false),
16621
+ isTooltipMobileVisible = _useState2[0],
16622
+ setIsTooltipMobileVisible = _useState2[1];
16623
+ return React.createElement("div", {
16624
+ onMouseEnter: function onMouseEnter() {
16625
+ if (!isTooltipMobileVisible) setIsTooltipVisible(true);
16626
+ },
16627
+ onMouseLeave: setIsTooltipVisible.bind(null, false),
16628
+ onTouchEnd: function onTouchEnd() {
16629
+ setIsTooltipMobileVisible(true);
16630
+ setIsTooltipVisible(false);
16631
+ }
16632
+ }, children, isTooltipVisible && !isTooltipMobileVisible && React.createElement(MagicTooltip, {
16633
+ spell: spell
16634
+ }), isTooltipMobileVisible && React.createElement(MobileSpellTooltip, {
16635
+ closeTooltip: function closeTooltip() {
16636
+ setIsTooltipMobileVisible(false);
16637
+ console.log('close');
16638
+ },
16639
+ spell: spell,
16640
+ scale: scale
16641
+ }));
16207
16642
  };
16208
- var SkillsDraggableContainer = /*#__PURE__*/styled(DraggableContainer).withConfig({
16209
- displayName: "SkillsContainer__SkillsDraggableContainer",
16210
- componentId: "sc-1g0c67q-0"
16211
- })(["border:1px solid black;width:400px;height:90%;.DraggableContainer__TitleContainer-sc-184mpyl-2{width:auto;height:auto;}"]);
16212
- var SkillsContainerDiv = /*#__PURE__*/styled.div.withConfig({
16213
- displayName: "SkillsContainer__SkillsContainerDiv",
16214
- componentId: "sc-1g0c67q-1"
16215
- })(["width:100%;-webkit-overflow-y:scroll;overflow-y:scroll;height:90%;padding-right:10px;"]);
16216
- var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
16217
- displayName: "SkillsContainer__SkillSplitDiv",
16218
- componentId: "sc-1g0c67q-2"
16219
- })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
16220
- var CloseButton$3 = /*#__PURE__*/styled.div.withConfig({
16221
- displayName: "SkillsContainer__CloseButton",
16222
- componentId: "sc-1g0c67q-3"
16223
- })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
16224
16643
 
16225
16644
  var Spell = function Spell(_ref) {
16226
16645
  var spellKey = _ref.spellKey,
16227
- name = _ref.name,
16228
- description = _ref.description,
16229
- magicWords = _ref.magicWords,
16230
- manaCost = _ref.manaCost,
16231
16646
  charMana = _ref.charMana,
16232
16647
  charMagicLevel = _ref.charMagicLevel,
16233
16648
  onPointerUp = _ref.onPointerUp,
16234
16649
  isSettingShortcut = _ref.isSettingShortcut,
16235
- minMagicLevelRequired = _ref.minMagicLevelRequired,
16650
+ spell = _ref.spell,
16236
16651
  activeCooldown = _ref.activeCooldown;
16652
+ var manaCost = spell.manaCost,
16653
+ minMagicLevelRequired = spell.minMagicLevelRequired,
16654
+ magicWords = spell.magicWords,
16655
+ name = spell.name,
16656
+ description = spell.description;
16237
16657
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16238
- return React.createElement(Container$k, {
16658
+ return React.createElement(SpellInfoWrapper, {
16659
+ spell: spell
16660
+ }, React.createElement(Container$p, {
16239
16661
  disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16240
16662
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16241
16663
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -16244,13 +16666,13 @@ var Spell = function Spell(_ref) {
16244
16666
  className: "cooldown"
16245
16667
  }, activeCooldown.toFixed(activeCooldown > 10 ? 0 : 1)) : null, magicWords.split(' ').map(function (word) {
16246
16668
  return word[0];
16247
- })), React.createElement(Info, null, React.createElement(Title$6, null, React.createElement("span", null, name), React.createElement("span", {
16669
+ })), React.createElement(Info, null, React.createElement(Title$7, null, React.createElement("span", null, name), React.createElement("span", {
16248
16670
  className: "spell"
16249
- }, "(", magicWords, ")")), React.createElement(Description$1, null, description)), React.createElement(Divider, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
16671
+ }, "(", magicWords, ")")), React.createElement(Description$2, null, description)), React.createElement(Divider, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
16250
16672
  className: "mana"
16251
- }, manaCost)));
16673
+ }, manaCost))));
16252
16674
  };
16253
- var Container$k = /*#__PURE__*/styled.button.withConfig({
16675
+ var Container$p = /*#__PURE__*/styled.button.withConfig({
16254
16676
  displayName: "Spell__Container",
16255
16677
  componentId: "sc-j96fa2-0"
16256
16678
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;height:5rem;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -16264,12 +16686,12 @@ var SpellImage = /*#__PURE__*/styled.div.withConfig({
16264
16686
  var Info = /*#__PURE__*/styled.span.withConfig({
16265
16687
  displayName: "Spell__Info",
16266
16688
  componentId: "sc-j96fa2-2"
16267
- })(["width:0;flex:1;"]);
16268
- var Title$6 = /*#__PURE__*/styled.p.withConfig({
16689
+ })(["width:0;flex:1;@media (orientation:portrait){display:none;}"]);
16690
+ var Title$7 = /*#__PURE__*/styled.p.withConfig({
16269
16691
  displayName: "Spell__Title",
16270
16692
  componentId: "sc-j96fa2-3"
16271
16693
  })(["display:flex;flex-wrap:wrap;align-items:center;margin-bottom:5px;margin:0;span{font-size:", " !important;font-weight:bold !important;color:", " !important;margin-right:0.5rem;}.spell{font-size:", " !important;font-weight:normal !important;color:", " !important;}"], uiFonts.size.medium, uiColors.yellow, uiFonts.size.small, uiColors.lightGray);
16272
- var Description$1 = /*#__PURE__*/styled.div.withConfig({
16694
+ var Description$2 = /*#__PURE__*/styled.div.withConfig({
16273
16695
  displayName: "Spell__Description",
16274
16696
  componentId: "sc-j96fa2-4"
16275
16697
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -16338,7 +16760,7 @@ var Spellbook = function Spellbook(_ref) {
16338
16760
  height: "inherit",
16339
16761
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
16340
16762
  scale: scale
16341
- }, React.createElement(Container$l, null, React.createElement(Title$7, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
16763
+ }, React.createElement(Container$q, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
16342
16764
  setSettingShortcutIndex: setSettingShortcutIndex,
16343
16765
  settingShortcutIndex: settingShortcutIndex,
16344
16766
  shortcuts: shortcuts,
@@ -16363,15 +16785,16 @@ var Spellbook = function Spellbook(_ref) {
16363
16785
  onPointerUp: settingShortcutIndex !== -1 ? setShortcut : onSpellClick,
16364
16786
  spellKey: spell.key,
16365
16787
  isSettingShortcut: settingShortcutIndex !== -1,
16788
+ spell: spell,
16366
16789
  activeCooldown: spellCooldowns == null ? void 0 : spellCooldowns[spell.magicWords.replaceAll(' ', '_')]
16367
16790
  }, spell)));
16368
16791
  }))));
16369
16792
  };
16370
- var Title$7 = /*#__PURE__*/styled.h1.withConfig({
16793
+ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
16371
16794
  displayName: "Spellbook__Title",
16372
16795
  componentId: "sc-r02nfq-0"
16373
16796
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
16374
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16797
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16375
16798
  displayName: "Spellbook__Container",
16376
16799
  componentId: "sc-r02nfq-1"
16377
16800
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -16385,16 +16808,16 @@ var TextArea = function TextArea(_ref) {
16385
16808
  return React.createElement("textarea", Object.assign({}, props));
16386
16809
  };
16387
16810
 
16388
- var img$8 = 'data:image/gif;base64,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';
16811
+ var img$9 = 'data:image/gif;base64,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';
16389
16812
 
16390
- var img$9 = 'data:image/gif;base64,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';
16813
+ var img$a = 'data:image/gif;base64,R0lGODlhTgBNAPMAAAAAALcILyZ31ESZ+lrC/1Ds//vvpv3wo4G8//////38+QAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlAgHm5ybmZV2KHh0naWcepYlo22mradzqUUClK61nJSxIJiMrgm+v664oSKrXqa/yMmmbrkexVXHydK+y2bNULON0dPTppLXGs9UpdzlCaVt4FpsZuTm5ejWwx3iU53v753p89jtnPj49JVRZ2ELgYMFoP0DaE6gF4JjBBycSCChEncMucV7yC+DQYoI/y8uzAjvFUddEkGGRHKPZMlN8lCqXDmgpctuJs90XDdzpc2bynJWgSjh40yLP4ECE1pHZs8CB5MqPcd0ClEARlVCjTpy6kadTrWC7KpU4NaDVndeyNqT64GpSzedBblHbcGUbSmSddlprsokV7HizUtAKsO+hAkMCCw48UTD+RAnZsw2L0aApfy2pTw48eWGczX3ZNzYsdtNAf2KVkm6tOnC2+JqXg2ytWBStiSLzWv7dh5XBnS/Pti7nj9TW2kT7u1bT03dBZSPtuuMnfMkqqXXpl79uhLR2icyj+gdSfjN3FF6Pz89kXU3itnPHO/xfXlm6VXZv3+ShnH+gOUnikAUAFpFny7/XYeGGBOssR8qQjBYQRQPpoOGgHc4WOEeYGAYB4VBBDGEhMTkYCKJKKao4oostujiizDGKOOMF0QAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBB8ikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bIv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6B6ChoHpMdieec6KqoXqcRQKaq7Khmq4gmI2zurSUth6oZbMJw8Szc74dwF2rxM3Oq27IG7iGzM7Xw6uT0hnKVNbY2NBm3Bfe36Lh6gmq0aa/bGaq6+vt5O/J8cGh9PSibeUqbCFAoMAyfv38sSoTcMJAggQNTkmXsN5Chvg0PIRYcMm8iur/7HlpCGAjR4lIKIIMefFMxm4COEJEOUDlSnEtq5A0eTKJzZvPcta5FVNmRJ8IgV77h5Go0YgEayZV2ozpyJdaihotAPEnVXZCp+zUepLjx69gF3KFuGTsU6Negf5bazSJ27dmp1IVRfdpqRA838YFyRcvRJISAj89e1NV37eIS5I1zLiiY8OHscLEnFevP7oHHkPWvJkzwcohH4s2GjnxZMyol4peLbO161SyloKiTZug7du4dRkobLo26Wn6gs9a29vwb+B5ls9s/vS5w+R0Lp+kztH6dVJTVnP3ffzDOTrjR7c43yZ99fIi2FchMMA9a/ivwIP3jlx/Hv5QYOefQUtxSDGgTgCaJx8paIhxnYH+geGgQEYIGA0a+NFQIYRngJGhGlEEIeIQE8aXw4klpqjiiiy26OKLMMYo44w0XhABACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBB8ikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bIv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6n2d2J555B6anpqCcRQKaf6iwp64IqyCYk7G5spq1HqRmusGndL0dv166CcrLunPFG7eLscvU1bGUzxnHVdPV3sqxbtkX21Td39/hbeMV5VOw6PEJsOKivmzAqPLy9GbsYwIIFCijbx+/Yf7sQQlIoOFAc6cMGkS1TqGGLQ0zPlxSUGI8ign/bTHMKJBjR4/pQHr5BwAjyZJKTqJMmaoMS5cvNw6QOdMawpUWtY0kqZNnT2Y/Q4l86bAhEqNH5yWtcnOoxow7I0b1plLpB5xXSUI9qrIAyT1BtVhlSgDeVqTDzLJlkpbcWrZjUVKUy5bAAJYt777M6xEV376AA/cdrHXr3sUNE4Nd7JasYciR66rFnLGyXr4DDiPWvJnzOYkHRItmmljCZMqe+a1e/bK1a3z5CM+jLXCx7dtzklFTcJlzbdIXcbcRVpw35N/A6TDnW8A5W+gT3HXRpdo6SezZlUuHRdt75hriQZkf3UJ7m/XXkYtwX8UvfNbyWYFSlZ8E/f1LgGdMRXoAUtXfKFIUSJWAtvyXBxpihJcggGBE2I4RBK6DxoF9rDHhGWBwSEQPQZQ4hIXz5aAiiiy26OKLMMYo44w01mjjjRdEAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgesrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIF6/X37OUrE8/CFgII/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQIK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbA3Dm5GaSJzGfNREmETrUHKuNKC/QpFiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidTug61e3BFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjAkovosXLknIkScLHqx36IG5AxAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzW3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkCoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgesrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIF6/X37OUrE8/CFgII/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQIK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbA3Dm5GaSJzGfNREmETrUHKuNKC/QpFiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidTug61e3BFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjAkovosXLknIkScLHqx36IG5AxAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzW3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkCoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeeQemp6agnEUCmn+osKeuCKsgmJOxubKatR6kZrrBp3S9Hb9eugnKy7pzxRu3i7HL1NWxlM8Zx1XT1d7KsW7ZF9tU3d/f4W3jFeVTsOjxCbDior5swKjy8vRm7GMCCBQoo28fv2H+7EEJSKDhQHOnDBpEtU6hhi0NMz5cUlBiPIoJ/20xzCiQY0eP6UB6+QcAI8mSSk6iTJmqDEuXLzcOkDnTGsKVFrWNJKmTZ09mP0OJfOmwIRKjR+clrXJzqMaMOyNG9aZS6QecV0lCPaqyAMk9QbVYZUoA3lakw8yyZZKW3Fq2Y1FSlMuWwACWLe++zOsRFd++gAP3Hax1697FDRODXeyWrGHIkeuqxZyxsl6+Aw4j1ryZ8zmJB0SLZppYwmTKnvmtXv2ytWt8+QjPoy1wse3bc5JRU3CZc23SF3G3EVacN+TfwOkw51vAOVvoE9x10aXaOkns2ZVLh0Xbe+Ya4kGZH91Ce5v115GLcF/FL3zW8lmBUpWfBP39S4BnTEV6AFLV3yhSFEiVgLb8lwcaYoSXIIBgRNiOEQSug8aBfawx4RlgcEhED0GUOISF8+WgIoostujiizDGKOOMNNZo440XRAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgEHyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsi/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZSZjZYmeHoHoKGgekx2J55zoqqhepxFApqrsqGariCYjbO6tJS2HqhlswnDxLNzvh3AXavEzc6rbsgbuIbMztfDq5PSGcpU1tjY0GbcF97fouHqCarRpr9sZqrr6+3k78nxwaH09KJt5SpsIUCgwDJ+/fyxKhNwwkCCBA1OSZew3kKG+DQ8hFhwybyK6v/seWkIYCNHiUgoggx58UzGbgI4QkQ5QOVKcS2rkDR5MonNm89y1rkVU2ZEnwiBXvuHkajRiARrJlXajOnIl1qKGi0A8SdVdkKn7NR6kuPHr2AXcoW4ZOxTo16B/ltrNInbt2anUhVF92mpEDzfxgXJFy9EkhICPz17U1Xft4hLkjXMuKJjw4exwsTctbI/ugceQ9a8mTMBcJ9lijYaOfFkyp6Xil4ts7XrVLKWgqJNm6Dt27h1GShsujbpafqCz1rb2/Bv4HmWz2z+9LnD5HQun6TO0fp1UlNWc/d9/MM5OuNHtzjfJn318iLYVyEwwD1r+K/Ag/eOXH8e/lBg559BS3FIMaBOAJonHyloiHGdgf6B4aBARggYDRr40VAhhGeAkaEaUQQh4hATxpfDiSWmqOKKLLbo4oswxijjjDReEAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgEHyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsi/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZQIB5ucm5mVdih4dJ2lnHqWJaNtpq2nc6lFApSutZyUsSCYjK4Jvr+uuKEiq16mv8jJpm65HsVVx8nSvstmzVCzjdHT06aS1xrPVKXc5QmlbeBabGbk5uXo1sMd4lOd7++d6fPY7Zz4+PSVUWdhC4GDBaD9A2hOoBeCYwQcnEggoRJ3DLnFe8gvg0GKCP8vLswI7xVHXRJBhkRyj2TJTfJQqlw5oKXLbibPdFw3c6XNm8pyVoEo4eNMiz+BAhNaR2bPAgeTKj3HdApRAEZVQo06cupGnU61guyqVODWg1Z3Xsjak+uBqUs3nQW5R23BlG0pknXZaa7KJFex4s1LQCrDvoQJDAgsOPFEw/kQJ2bMNi9GgKX8tqU8OPHlhnM192Tc2LHbTQH9ilZJurTpwtvial4NsrVgUrYki81r+3YeVwZ0vz7Yu54/U1tpE+7tW09N3QWUj7brjJ3zJKql16Ze/boS0donMo/oHUn4zdxRej8/PZF1N4rZzxzv8X15ZulV2b9/koZx/oDlJ4pAFABaRZ8u/12HhhgTrLEfKkIwWEEUD6aDhoB3OFjhHmBgGAeFQQQxhITE5GAiiSimqOKKLLbo4oswxijjjBdEAAA7';
16391
16814
 
16392
- var img$a = 'data:image/gif;base64,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';
16815
+ var img$b = 'data:image/gif;base64,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';
16393
16816
 
16394
16817
  var DayNightPeriod = function DayNightPeriod(_ref) {
16395
16818
  var _periodOfDaySrcFiles;
16396
16819
  var periodOfDay = _ref.periodOfDay;
16397
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16820
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
16398
16821
  return React.createElement(GifContainer, null, React.createElement("img", {
16399
16822
  src: periodOfDaySrcFiles[periodOfDay]
16400
16823
  }));
@@ -16404,7 +16827,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16404
16827
  componentId: "sc-10t97fw-0"
16405
16828
  })(["width:100%;img{width:67%;}"]);
16406
16829
 
16407
- 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';
16830
+ 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';
16408
16831
 
16409
16832
  var TimeWidget = function TimeWidget(_ref) {
16410
16833
  var onClose = _ref.onClose,
@@ -16422,7 +16845,7 @@ var TimeWidget = function TimeWidget(_ref) {
16422
16845
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16423
16846
  displayName: "TimeWidget__WidgetContainer",
16424
16847
  componentId: "sc-1ja236h-0"
16425
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16848
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
16426
16849
  var Time = /*#__PURE__*/styled.div.withConfig({
16427
16850
  displayName: "TimeWidget__Time",
16428
16851
  componentId: "sc-1ja236h-1"
@@ -16608,7 +17031,7 @@ var TradingMenu = function TradingMenu(_ref) {
16608
17031
  style: {
16609
17032
  width: '100%'
16610
17033
  }
16611
- }, React.createElement(Title$8, null, Capitalize(type), " Menu"), React.createElement("hr", {
17034
+ }, React.createElement(Title$9, null, Capitalize(type), " Menu"), React.createElement("hr", {
16612
17035
  className: "golden"
16613
17036
  })), React.createElement(TradingComponentScrollWrapper, {
16614
17037
  id: "TraderContainer"
@@ -16638,7 +17061,7 @@ var TradingMenu = function TradingMenu(_ref) {
16638
17061
  }
16639
17062
  }, "Cancel"))));
16640
17063
  };
16641
- var Title$8 = /*#__PURE__*/styled.h1.withConfig({
17064
+ var Title$9 = /*#__PURE__*/styled.h1.withConfig({
16642
17065
  displayName: "TradingMenu__Title",
16643
17066
  componentId: "sc-1wjsz1l-0"
16644
17067
  })(["z-index:22;font-size:0.6rem;color:yellow !important;"]);
@@ -16672,230 +17095,16 @@ var Truncate = function Truncate(_ref) {
16672
17095
  var _ref$maxLines = _ref.maxLines,
16673
17096
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
16674
17097
  children = _ref.children;
16675
- return React.createElement(Container$m, {
17098
+ return React.createElement(Container$r, {
16676
17099
  maxLines: maxLines
16677
17100
  }, children);
16678
17101
  };
16679
- var Container$m = /*#__PURE__*/styled.div.withConfig({
17102
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
16680
17103
  displayName: "Truncate__Container",
16681
17104
  componentId: "sc-6x00qb-0"
16682
17105
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
16683
17106
  return props.maxLines;
16684
17107
  });
16685
17108
 
16686
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
16687
-
16688
- var chunkString = function chunkString(str, length) {
16689
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
16690
- };
16691
-
16692
- var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
16693
-
16694
- var NPCDialogText = function NPCDialogText(_ref) {
16695
- var text = _ref.text,
16696
- onClose = _ref.onClose,
16697
- onEndStep = _ref.onEndStep,
16698
- onStartStep = _ref.onStartStep,
16699
- type = _ref.type;
16700
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
16701
- function maxCharacters(width) {
16702
- // Set the font size to 16 pixels
16703
- var fontSize = 11.2;
16704
- // Calculate the number of characters that can fit in one line
16705
- var charactersPerLine = Math.floor(width / 2 / fontSize);
16706
- // Calculate the number of lines that can fit in the div
16707
- var linesPerDiv = Math.floor(180 / fontSize);
16708
- // Calculate the maximum number of characters that can fit in the div
16709
- var maxCharacters = charactersPerLine * linesPerDiv;
16710
- // Return the maximum number of characters
16711
- return Math.round(maxCharacters / 5);
16712
- }
16713
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
16714
- var _useState = useState(0),
16715
- chunkIndex = _useState[0],
16716
- setChunkIndex = _useState[1];
16717
- var onHandleSpacePress = function onHandleSpacePress(event) {
16718
- if (event.code === 'Space') {
16719
- goToNextStep();
16720
- }
16721
- };
16722
- var goToNextStep = function goToNextStep() {
16723
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
16724
- if (hasNextChunk) {
16725
- setChunkIndex(function (prev) {
16726
- return prev + 1;
16727
- });
16728
- } else {
16729
- // if there's no more text chunks, close the dialog
16730
- onClose();
16731
- }
16732
- };
16733
- useEffect(function () {
16734
- document.addEventListener('keydown', onHandleSpacePress);
16735
- return function () {
16736
- return document.removeEventListener('keydown', onHandleSpacePress);
16737
- };
16738
- }, [chunkIndex]);
16739
- var _useState2 = useState(false),
16740
- showGoNextIndicator = _useState2[0],
16741
- setShowGoNextIndicator = _useState2[1];
16742
- return React.createElement(Container$n, null, React.createElement(DynamicText, {
16743
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
16744
- onFinish: function onFinish() {
16745
- setShowGoNextIndicator(true);
16746
- onEndStep && onEndStep();
16747
- },
16748
- onStart: function onStart() {
16749
- setShowGoNextIndicator(false);
16750
- onStartStep && onStartStep();
16751
- }
16752
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
16753
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
16754
- src: IS_MOBILE_OR_TABLET ? img$c : img$6,
16755
- onPointerDown: function onPointerDown() {
16756
- goToNextStep();
16757
- }
16758
- }));
16759
- };
16760
- var Container$n = /*#__PURE__*/styled.div.withConfig({
16761
- displayName: "NPCDialogText__Container",
16762
- componentId: "sc-1cxkdh9-0"
16763
- })([""]);
16764
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
16765
- displayName: "NPCDialogText__PressSpaceIndicator",
16766
- componentId: "sc-1cxkdh9-1"
16767
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
16768
- var right = _ref2.right;
16769
- return right;
16770
- });
16771
-
16772
- var NPCDialogType;
16773
- (function (NPCDialogType) {
16774
- NPCDialogType["TextOnly"] = "TextOnly";
16775
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
16776
- })(NPCDialogType || (NPCDialogType = {}));
16777
- var NPCDialog = function NPCDialog(_ref) {
16778
- var text = _ref.text,
16779
- type = _ref.type,
16780
- _onClose = _ref.onClose,
16781
- imagePath = _ref.imagePath,
16782
- _ref$isQuestionDialog = _ref.isQuestionDialog,
16783
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
16784
- questions = _ref.questions,
16785
- answers = _ref.answers;
16786
- return React.createElement(RPGUIContainer, {
16787
- type: RPGUIContainerTypes.FramedGold,
16788
- width: isQuestionDialog ? '600px' : '80%',
16789
- height: '180px'
16790
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
16791
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
16792
- }, React.createElement(QuestionDialog, {
16793
- questions: questions,
16794
- answers: answers,
16795
- onClose: function onClose() {
16796
- if (_onClose) {
16797
- _onClose();
16798
- }
16799
- }
16800
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
16801
- src: imagePath || img$5
16802
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$o, null, React.createElement(TextContainer$2, {
16803
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
16804
- }, React.createElement(NPCDialogText, {
16805
- type: type,
16806
- text: text || 'No text provided.',
16807
- onClose: function onClose() {
16808
- if (_onClose) {
16809
- _onClose();
16810
- }
16811
- }
16812
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
16813
- src: imagePath || img$5
16814
- })))));
16815
- };
16816
- var Container$o = /*#__PURE__*/styled.div.withConfig({
16817
- displayName: "NPCDialog__Container",
16818
- componentId: "sc-1b4aw74-0"
16819
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
16820
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
16821
- displayName: "NPCDialog__TextContainer",
16822
- componentId: "sc-1b4aw74-1"
16823
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
16824
- var flex = _ref2.flex;
16825
- return flex;
16826
- });
16827
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
16828
- displayName: "NPCDialog__ThumbnailContainer",
16829
- componentId: "sc-1b4aw74-2"
16830
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
16831
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
16832
- displayName: "NPCDialog__NPCThumbnail",
16833
- componentId: "sc-1b4aw74-3"
16834
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
16835
-
16836
- var HistoryDialog = function HistoryDialog(_ref) {
16837
- var backgroundImgPath = _ref.backgroundImgPath,
16838
- fullCoverBackground = _ref.fullCoverBackground,
16839
- questions = _ref.questions,
16840
- answers = _ref.answers,
16841
- text = _ref.text,
16842
- imagePath = _ref.imagePath,
16843
- textAndTypeArray = _ref.textAndTypeArray,
16844
- onClose = _ref.onClose;
16845
- var _useState = useState(0),
16846
- img = _useState[0],
16847
- setImage = _useState[1];
16848
- var onHandleSpacePress = function onHandleSpacePress(event) {
16849
- if (event.code === 'Space') {
16850
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
16851
- setImage(function (prev) {
16852
- return prev + 1;
16853
- });
16854
- } else {
16855
- // if there's no more text chunks, close the dialog
16856
- onClose();
16857
- }
16858
- }
16859
- };
16860
- useEffect(function () {
16861
- document.addEventListener('keydown', onHandleSpacePress);
16862
- return function () {
16863
- return document.removeEventListener('keydown', onHandleSpacePress);
16864
- };
16865
- }, [backgroundImgPath]);
16866
- return React.createElement(BackgroundContainer, {
16867
- imgPath: backgroundImgPath[img],
16868
- fullImg: fullCoverBackground
16869
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
16870
- textAndTypeArray: textAndTypeArray,
16871
- onClose: onClose
16872
- }) : questions && answers ? React.createElement(QuestionDialog, {
16873
- questions: questions,
16874
- answers: answers,
16875
- onClose: onClose
16876
- }) : text && imagePath ? React.createElement(NPCDialog, {
16877
- text: text,
16878
- imagePath: imagePath,
16879
- onClose: onClose,
16880
- type: NPCDialogType.TextAndThumbnail
16881
- }) : React.createElement(NPCDialog, {
16882
- text: text,
16883
- onClose: onClose,
16884
- type: NPCDialogType.TextOnly
16885
- })));
16886
- };
16887
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
16888
- displayName: "HistoryDialog__BackgroundContainer",
16889
- componentId: "sc-u6oe75-0"
16890
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
16891
- return props.imgPath;
16892
- }, function (props) {
16893
- return props.imgPath ? 'cover' : 'auto';
16894
- });
16895
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
16896
- displayName: "HistoryDialog__DialogContainer",
16897
- componentId: "sc-u6oe75-1"
16898
- })(["display:flex;justify-content:center;padding-top:200px;"]);
16899
-
16900
17109
  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 };
16901
17110
  //# sourceMappingURL=long-bow.esm.js.map