@rpg-engine/long-bow 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/long-bow.cjs.development.js +1059 -1059
  4. package/dist/long-bow.cjs.development.js.map +1 -1
  5. package/dist/long-bow.cjs.production.min.js +1 -1
  6. package/dist/long-bow.cjs.production.min.js.map +1 -1
  7. package/dist/long-bow.esm.js +1065 -1065
  8. package/dist/long-bow.esm.js.map +1 -1
  9. package/package.json +100 -100
  10. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  11. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  12. package/src/components/Arrow/SelectArrow.tsx +69 -69
  13. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  14. package/src/components/Arrow/img/arrow01-left.png +0 -0
  15. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  16. package/src/components/Arrow/img/arrow01-right.png +0 -0
  17. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  18. package/src/components/Arrow/img/arrow02-left.png +0 -0
  19. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  20. package/src/components/Arrow/img/arrow02-right.png +0 -0
  21. package/src/components/Button.tsx +40 -40
  22. package/src/components/Character/CharacterSelection.tsx +98 -98
  23. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  24. package/src/components/Chat/Chat.tsx +196 -196
  25. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  26. package/src/components/CheckButton.tsx +65 -65
  27. package/src/components/CircularController/CircularController.tsx +282 -282
  28. package/src/components/CraftBook/CraftBook.tsx +286 -286
  29. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  30. package/src/components/CraftBook/MockItems.ts +101 -101
  31. package/src/components/DraggableContainer.tsx +181 -180
  32. package/src/components/DropdownSelectorContainer.tsx +42 -42
  33. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  34. package/src/components/HistoryDialog.tsx +104 -104
  35. package/src/components/Input.tsx +15 -15
  36. package/src/components/InputRadio.tsx +41 -41
  37. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  38. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  39. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  40. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  41. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  42. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  43. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  44. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  45. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  46. package/src/components/Item/Inventory/ItemSlot.tsx +580 -580
  47. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  48. package/src/components/ListMenu.tsx +63 -63
  49. package/src/components/Marketplace/Marketplace.tsx +132 -132
  50. package/src/components/Marketplace/MarketplaceRows.tsx +171 -171
  51. package/src/components/Marketplace/__mocks__/index.tsx +65 -65
  52. package/src/components/Multitab/Tab.tsx +66 -66
  53. package/src/components/Multitab/TabBody.tsx +13 -13
  54. package/src/components/Multitab/TabsContainer.tsx +97 -97
  55. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  56. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  57. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  58. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  59. package/src/components/ProgressBar.tsx +95 -95
  60. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  61. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  62. package/src/components/QuestList.tsx +135 -135
  63. package/src/components/RPGUIContainer.tsx +47 -47
  64. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  65. package/src/components/RPGUIRoot.tsx +14 -14
  66. package/src/components/RadioButton.tsx +53 -53
  67. package/src/components/RadioInput/RadioButton.tsx +96 -96
  68. package/src/components/RadioInput/RadioInput.tsx +102 -102
  69. package/src/components/RadioInput/instruments.ts +15 -15
  70. package/src/components/RangeSlider.tsx +78 -78
  71. package/src/components/RelativeListMenu.tsx +90 -90
  72. package/src/components/ScrollList.tsx +79 -79
  73. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  74. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  75. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  76. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  77. package/src/components/SimpleProgressBar.tsx +62 -62
  78. package/src/components/SkillProgressBar.tsx +133 -133
  79. package/src/components/SkillsContainer.tsx +211 -211
  80. package/src/components/Spellbook/Spell.tsx +236 -236
  81. package/src/components/Spellbook/Spellbook.tsx +161 -161
  82. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  83. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  84. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  85. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  86. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  87. package/src/components/Spellbook/constants.ts +7 -7
  88. package/src/components/Spellbook/mockSpells.ts +84 -84
  89. package/src/components/StaticBook/StaticBook.tsx +103 -103
  90. package/src/components/TextArea.tsx +11 -11
  91. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  92. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  93. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  94. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  95. package/src/components/TradingMenu/items.mock.ts +48 -48
  96. package/src/components/Truncate.tsx +25 -25
  97. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  98. package/src/components/shared/Column.tsx +16 -16
  99. package/src/components/shared/Ellipsis.tsx +68 -68
  100. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  101. package/src/components/typography/DynamicText.tsx +49 -49
  102. package/src/constants/uiColors.ts +20 -20
  103. package/src/constants/uiDevices.ts +3 -3
  104. package/src/constants/uiFonts.ts +12 -12
  105. package/src/hooks/useEventListener.ts +21 -21
  106. package/src/hooks/useOutsideAlerter.ts +25 -25
  107. package/src/index.tsx +42 -42
  108. package/src/libs/CastingTypeHelper.ts +7 -7
  109. package/src/libs/StringHelpers.ts +3 -3
  110. package/src/libs/itemCounter.ts +21 -21
  111. package/src/mocks/atlas/entities/entities.json +20215 -20215
  112. package/src/mocks/atlas/icons/icons.json +735 -735
  113. package/src/mocks/atlas/items/items.json +12086 -12086
  114. package/src/mocks/equipmentSet.mocks.ts +391 -391
  115. package/src/mocks/itemContainer.mocks.ts +605 -605
  116. package/src/mocks/skills.mocks.ts +128 -128
  117. package/src/stories/Arrow.stories.tsx +26 -26
  118. package/src/stories/Button.stories.tsx +36 -36
  119. package/src/stories/CharacterSelection.stories.tsx +44 -44
  120. package/src/stories/CharacterStatus.stories.tsx +29 -29
  121. package/src/stories/Chat.stories.tsx +187 -187
  122. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  123. package/src/stories/CheckButton.stories.tsx +48 -48
  124. package/src/stories/CircullarController.stories.tsx +37 -37
  125. package/src/stories/CraftBook.stories.tsx +42 -42
  126. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  127. package/src/stories/DraggableContainer.stories.tsx +28 -28
  128. package/src/stories/Dropdown.stories.tsx +46 -46
  129. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  130. package/src/stories/EquipmentSet.stories.tsx +65 -65
  131. package/src/stories/HistoryDialog.stories.tsx +61 -61
  132. package/src/stories/ItemContainer.stories.tsx +201 -201
  133. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  134. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  135. package/src/stories/ItemSelector.stories.tsx +77 -77
  136. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  137. package/src/stories/ListMenu.stories.tsx +56 -56
  138. package/src/stories/Marketplace.stories.tsx +42 -42
  139. package/src/stories/MarketplaceRows.stories.tsx +28 -28
  140. package/src/stories/Multitab.stories.tsx +51 -51
  141. package/src/stories/NPCDialog.stories.tsx +130 -130
  142. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  143. package/src/stories/ProgressBar.stories.tsx +23 -23
  144. package/src/stories/PropertySelect.stories.tsx +40 -40
  145. package/src/stories/QuestInfo.stories.tsx +107 -107
  146. package/src/stories/QuestList.stories.tsx +82 -82
  147. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  148. package/src/stories/RadioButton.stories.tsx +49 -49
  149. package/src/stories/RadioInput.stories.tsx +34 -34
  150. package/src/stories/RangeSlider.stories.tsx +64 -64
  151. package/src/stories/ScrollList.stories.tsx +85 -85
  152. package/src/stories/Shortcuts.stories.tsx +39 -39
  153. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  154. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  155. package/src/stories/SkillsContainer.stories.tsx +35 -35
  156. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  157. package/src/stories/Spellbook.stories.tsx +104 -104
  158. package/src/stories/StaticBook.stories.tsx +32 -32
  159. package/src/stories/Text.stories.tsx +42 -42
  160. package/src/stories/TimeWidget.stories.tsx +27 -27
  161. package/src/stories/TradingMenu.stories.tsx +47 -47
  162. package/src/types/eventTypes.ts +4 -4
  163. package/src/types/index.d.ts +2 -2
@@ -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, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
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';
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';
@@ -13122,7 +13122,7 @@ var Container$6 = /*#__PURE__*/styled.div.withConfig({
13122
13122
  var CloseButton$1 = /*#__PURE__*/styled.div.withConfig({
13123
13123
  displayName: "DraggableContainer__CloseButton",
13124
13124
  componentId: "sc-184mpyl-1"
13125
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.1rem;@media (max-width:768px){font-size:1.3rem;padding:3px;}"]);
13125
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.1rem;@media (max-width:950px){font-size:1.7rem;padding:12px;}"]);
13126
13126
  var TitleContainer = /*#__PURE__*/styled.div.withConfig({
13127
13127
  displayName: "DraggableContainer__TitleContainer",
13128
13128
  componentId: "sc-184mpyl-2"
@@ -14588,1092 +14588,552 @@ 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 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
- }
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();
14612
14607
  }
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
- }
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
+ });
14621
14619
  }
14622
- }, 50);
14623
- return function () {
14624
- clearInterval(interval);
14625
- };
14626
- }, [text]);
14627
- return React.createElement(TextContainer, null, textState);
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
+ });
14629
+ }
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
+ });
14639
+ }
14640
+ },
14641
+ onOutsideClick: onOutsideClick,
14642
+ initialPosition: initialPosition,
14643
+ scale: scale
14644
+ }, children);
14628
14645
  };
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;"]);
14633
-
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
14646
 
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]));
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);
14658
14661
  var _useState = useState(0),
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
- };
14662
+ left = _useState[0],
14663
+ setLeft = _useState[1];
14677
14664
  useEffect(function () {
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();
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'
14691
14674
  },
14692
- onStart: function onStart() {
14693
- setShowGoNextIndicator(false);
14694
- onStartStep && onStartStep();
14675
+ className: "rpgui-slider-container " + typeClass,
14676
+ id: "rpgui-slider-" + sliderId,
14677
+ ref: containerRef
14678
+ }, React.createElement("div", {
14679
+ style: {
14680
+ pointerEvents: 'none'
14695
14681
  }
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();
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
14701
14692
  }
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"
14702
14705
  }));
14703
14706
  };
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
- });
14715
-
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
- };
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;"]);
14736
14711
 
14737
- var QuestionDialog = function QuestionDialog(_ref) {
14738
- var questions = _ref.questions,
14739
- answers = _ref.answers,
14712
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14713
+ var quantity = _ref.quantity,
14714
+ onConfirm = _ref.onConfirm,
14740
14715
  onClose = _ref.onClose;
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;
14750
- }
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];
14716
+ var _useState = useState(quantity),
14717
+ value = _useState[0],
14718
+ setValue = _useState[1];
14719
+ var inputRef = useRef(null);
14759
14720
  useEffect(function () {
14760
- setCurrentAnswer(onGetFirstAnswer());
14761
- }, [currentQuestion]);
14762
- var onGetAnswers = function onGetAnswers(answerIds) {
14763
- return answerIds.map(function (answerId) {
14764
- return answers.find(function (answer) {
14765
- return answer.id === answerId;
14766
- });
14767
- });
14768
- };
14769
- var onKeyPress = function onKeyPress(e) {
14770
- switch (e.key) {
14771
- case 'ArrowDown':
14772
- // select next answer, if any.
14773
- // if no next answer, select first answer
14774
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14775
- // (answer) => answer?.id === currentAnswer!.id + 1
14776
- // );
14777
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14778
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14779
- });
14780
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14781
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14782
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
14783
- });
14784
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14785
- break;
14786
- case 'ArrowUp':
14787
- // select previous answer, if any.
14788
- // if no previous answer, select last answer
14789
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14790
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14791
- });
14792
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14793
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14794
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
14795
- });
14796
- if (previousAnswer) {
14797
- setCurrentAnswer(previousAnswer);
14798
- } else {
14799
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14800
- }
14801
- break;
14802
- case 'Enter':
14803
- setCanShowAnswers(false);
14804
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14721
+ if (inputRef.current) {
14722
+ inputRef.current.focus();
14723
+ inputRef.current.select();
14724
+ var closeSelector = function closeSelector(e) {
14725
+ if (e.key === 'Escape') {
14805
14726
  onClose();
14806
- return;
14807
- } else {
14808
- setCurrentQuestion(questions.find(function (question) {
14809
- return question.id === currentAnswer.nextQuestionId;
14810
- }));
14811
14727
  }
14812
- break;
14813
- }
14814
- };
14815
- useEventListener('keydown', onKeyPress);
14816
- var onAnswerClick = function onAnswerClick(answer) {
14817
- setCanShowAnswers(false);
14818
- if (answer.nextQuestionId) {
14819
- // if there is a next question, go to it
14820
- setCurrentQuestion(questions.find(function (question) {
14821
- return question.id === answer.nextQuestionId;
14822
- }));
14823
- } else {
14824
- // else, finish dialog!
14825
- onClose();
14826
- }
14827
- };
14828
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14829
- var answerIds = currentQuestion.answerIds;
14830
- if (!answerIds) {
14831
- return null;
14832
- }
14833
- var answers = onGetAnswers(answerIds);
14834
- if (!answers) {
14835
- return null;
14728
+ };
14729
+ document.addEventListener('keydown', closeSelector);
14730
+ return function () {
14731
+ document.removeEventListener('keydown', closeSelector);
14732
+ };
14836
14733
  }
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));
14852
- }
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);
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%'
14860
14745
  },
14861
- onFinish: function onFinish() {
14862
- return setCanShowAnswers(true);
14863
- }
14864
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14865
- };
14866
- var Container$f = /*#__PURE__*/styled.div.withConfig({
14867
- displayName: "QuestionDialog__Container",
14868
- componentId: "sc-bxc5u0-0"
14869
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14870
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14871
- displayName: "QuestionDialog__QuestionContainer",
14872
- componentId: "sc-bxc5u0-1"
14873
- })(["flex:100%;width:100%;"]);
14874
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14875
- displayName: "QuestionDialog__AnswersContainer",
14876
- componentId: "sc-bxc5u0-2"
14877
- })(["flex:100%;"]);
14878
- var Answer = /*#__PURE__*/styled.p.withConfig({
14879
- displayName: "QuestionDialog__Answer",
14880
- componentId: "sc-bxc5u0-3"
14881
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14882
- return props.color;
14883
- });
14884
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14885
- displayName: "QuestionDialog__AnswerSelectedIcon",
14886
- componentId: "sc-bxc5u0-4"
14887
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
14888
- return props.color;
14889
- });
14890
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14891
- displayName: "QuestionDialog__AnswerRow",
14892
- componentId: "sc-bxc5u0-5"
14893
- })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
14894
-
14895
- var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14896
-
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();
14746
+ onSubmit: function onSubmit(e) {
14747
+ e.preventDefault();
14748
+ var numberValue = Number(value);
14749
+ if (Number.isNaN(numberValue)) {
14750
+ return;
14923
14751
  }
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();
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;
14935
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);
14936
14772
  }
14937
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14938
- src: imagePath || img$7
14939
- })))));
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")));
14940
14784
  };
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;"]);
14960
-
14961
- var ImgSide;
14962
- (function (ImgSide) {
14963
- ImgSide["right"] = "right";
14964
- ImgSide["left"] = "left";
14965
- })(ImgSide || (ImgSide = {}));
14966
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
14967
- var _textAndTypeArray$sli;
14968
- var _onClose = _ref.onClose,
14969
- textAndTypeArray = _ref.textAndTypeArray;
14970
- var _useState = useState(false),
14971
- showGoNextIndicator = _useState[0],
14972
- setShowGoNextIndicator = _useState[1];
14973
- var _useState2 = useState(0),
14974
- slide = _useState2[0],
14975
- setSlide = _useState2[1];
14976
- var onHandleSpacePress = function onHandleSpacePress(event) {
14977
- if (event.code === 'Space') {
14978
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14979
- setSlide(function (prev) {
14980
- return prev + 1;
14981
- });
14982
- } else {
14983
- // if there's no more text chunks, close the dialog
14984
- _onClose();
14985
- }
14986
- }
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
- });
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;"]);
15066
14801
 
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
- }
14802
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
14803
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14804
+ settingShortcutIndex = _ref.settingShortcutIndex,
14805
+ shortcuts = _ref.shortcuts,
14806
+ removeShortcut = _ref.removeShortcut,
14807
+ atlasJSON = _ref.atlasJSON,
14808
+ atlasIMG = _ref.atlasIMG;
14809
+ var getContent = function getContent(index) {
14810
+ var _shortcuts$index, _shortcuts$index3;
14811
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
14812
+ var _shortcuts$index2;
14813
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14814
+ if (!_payload) return null;
14815
+ return React.createElement(SpriteFromAtlas, {
14816
+ atlasIMG: atlasIMG,
14817
+ atlasJSON: atlasJSON,
14818
+ spriteKey: getItemTextureKeyPath({
14819
+ key: _payload.texturePath,
14820
+ texturePath: _payload.texturePath,
14821
+ stackQty: _payload.stackQty || 1,
14822
+ isStackable: _payload.isStackable
14823
+ }, atlasJSON),
14824
+ width: 32,
14825
+ height: 32,
14826
+ imgScale: 1.6,
14827
+ imgStyle: {
14828
+ left: '5px'
14829
+ }
14830
+ });
15089
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
+ }));
15090
14836
  };
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
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));
15116
14853
  })));
15117
14854
  };
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;"]);
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;"]);
15130
14870
 
15131
- var SlotsContainer = function SlotsContainer(_ref) {
15132
- var children = _ref.children,
15133
- title = _ref.title,
14871
+ var ItemContainer$1 = function ItemContainer(_ref) {
14872
+ var itemContainer = _ref.itemContainer,
15134
14873
  onClose = _ref.onClose,
15135
- _onPositionChange = _ref.onPositionChange,
15136
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
15137
- _onPositionChangeStart = _ref.onPositionChangeStart,
15138
- onOutsideClick = _ref.onOutsideClick,
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,
15139
14887
  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
- });
15179
- }
15180
- },
15181
- onOutsideClick: onOutsideClick,
14888
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14889
+ scale = _ref.scale,
14890
+ shortcuts = _ref.shortcuts,
14891
+ setItemShortcut = _ref.setItemShortcut,
14892
+ removeShortcut = _ref.removeShortcut,
14893
+ equipmentSet = _ref.equipmentSet,
14894
+ isDepotSystem = _ref.isDepotSystem,
14895
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
14896
+ onPositionChangeStart = _ref.onPositionChangeStart;
14897
+ var _useState = useState({
14898
+ isOpen: false,
14899
+ maxQuantity: 1,
14900
+ callback: function callback(_quantity) {}
14901
+ }),
14902
+ quantitySelect = _useState[0],
14903
+ setQuantitySelect = _useState[1];
14904
+ var _useState2 = useState(-1),
14905
+ settingShortcutIndex = _useState2[0],
14906
+ setSettingShortcutIndex = _useState2[1];
14907
+ var handleSetShortcut = function handleSetShortcut(item, index) {
14908
+ if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
14909
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
14910
+ }
14911
+ };
14912
+ var onRenderSlots = function onRenderSlots() {
14913
+ var slots = [];
14914
+ for (var i = 0; i < itemContainer.slotQty; i++) {
14915
+ var _itemContainer$slots;
14916
+ slots.push(React.createElement(ItemSlot, {
14917
+ isContextMenuDisabled: disableContextMenu,
14918
+ key: i,
14919
+ slotIndex: i,
14920
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14921
+ itemContainerType: type,
14922
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
14923
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14924
+ },
14925
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
14926
+ if (settingShortcutIndex !== -1) {
14927
+ setSettingShortcutIndex(-1);
14928
+ handleSetShortcut(item, settingShortcutIndex);
14929
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
14930
+ },
14931
+ onSelected: function onSelected(optionId, item) {
14932
+ if (_onSelected) _onSelected(optionId, item);
14933
+ },
14934
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14935
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14936
+ },
14937
+ onDragEnd: function onDragEnd(quantity) {
14938
+ if (onItemDragEnd) onItemDragEnd(quantity);
14939
+ },
14940
+ dragScale: scale,
14941
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14942
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14943
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14944
+ setQuantitySelect({
14945
+ isOpen: true,
14946
+ maxQuantity: maxQuantity,
14947
+ callback: callback
14948
+ });
14949
+ },
14950
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14951
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14952
+ },
14953
+ onOutsideDrop: function onOutsideDrop(item, position) {
14954
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
14955
+ },
14956
+ atlasIMG: atlasIMG,
14957
+ atlasJSON: atlasJSON,
14958
+ isSelectingShortcut: settingShortcutIndex !== -1,
14959
+ equipmentSet: equipmentSet,
14960
+ setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
14961
+ isDepotSystem: isDepotSystem
14962
+ }));
14963
+ }
14964
+ return slots;
14965
+ };
14966
+ return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
14967
+ title: itemContainer.name || 'Container',
14968
+ onClose: onClose,
15182
14969
  initialPosition: initialPosition,
15183
- scale: scale
15184
- }, children);
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
+ }))));
15185
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);"]);
15186
15010
 
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];
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
+ };
15204
15025
  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'
15214
- },
15215
- className: "rpgui-slider-container " + typeClass,
15216
- id: "rpgui-slider-" + sliderId,
15217
- ref: containerRef
15218
- }, React.createElement("div", {
15219
- style: {
15220
- pointerEvents: 'none'
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
+ }
15221
15038
  }
15222
15039
  }, 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
15040
  style: {
15231
- left: left
15041
+ width: '100%'
15232
15042
  }
15233
- })), React.createElement(Input$1, {
15234
- type: "range",
15235
- style: {
15236
- width: width
15237
- },
15238
- min: valueMin,
15239
- max: valueMax,
15240
- onChange: function onChange(e) {
15241
- return _onChange(Number(e.target.value));
15242
- },
15243
- value: value,
15244
- className: "rpgui-cursor-point"
15245
- }));
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;"]);
15251
-
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);
15260
- useEffect(function () {
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();
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;
15291
- }
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;
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'
15306
15063
  }
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, {
15064
+ }, option.name, " ", React.createElement("br", null), option.description)));
15065
+ })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15321
15066
  buttonType: ButtonTypes.RPGUIButton,
15322
- type: "submit"
15323
- }, "Confirm")));
15067
+ onPointerDown: onClose
15068
+ }, "Cancel"), React.createElement(Button, {
15069
+ buttonType: ButtonTypes.RPGUIButton
15070
+ }, "Select")));
15324
15071
  };
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;"]);
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%;"]);
15341
15096
 
15342
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
15343
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15344
- settingShortcutIndex = _ref.settingShortcutIndex,
15345
- shortcuts = _ref.shortcuts,
15346
- removeShortcut = _ref.removeShortcut,
15347
- atlasJSON = _ref.atlasJSON,
15348
- atlasIMG = _ref.atlasIMG;
15349
- var getContent = function getContent(index) {
15350
- var _shortcuts$index, _shortcuts$index3;
15351
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
15352
- var _shortcuts$index2;
15353
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15354
- if (!_payload) return null;
15355
- return React.createElement(SpriteFromAtlas, {
15356
- atlasIMG: atlasIMG,
15357
- atlasJSON: atlasJSON,
15358
- spriteKey: getItemTextureKeyPath({
15359
- key: _payload.texturePath,
15360
- texturePath: _payload.texturePath,
15361
- stackQty: _payload.stackQty || 1,
15362
- isStackable: _payload.isStackable
15363
- }, atlasJSON),
15364
- width: 32,
15365
- height: 32,
15366
- imgScale: 1.6,
15367
- imgStyle: {
15368
- left: '5px'
15369
- }
15370
- });
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'
15371
15109
  }
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,
15110
+ }, options.map(function (params, index) {
15111
+ return React.createElement(ListElement$1, {
15112
+ key: (params == null ? void 0 : params.id) || index,
15384
15113
  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));
15114
+ onSelected(params == null ? void 0 : params.id);
15115
+ }
15116
+ }, (params == null ? void 0 : params.text) || 'No text');
15393
15117
  })));
15394
15118
  };
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;"]);
15119
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
15120
+ displayName: "ListMenu__Container",
15121
+ componentId: "sc-i9097t-0"
15122
+ })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
15123
+ return props.y || 0;
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;"]);
15410
15131
 
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,
15132
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15133
+ var atlasJSON = _ref.atlasJSON,
15419
15134
  atlasIMG = _ref.atlasIMG,
15420
- _ref$disableContextMe = _ref.disableContextMenu,
15421
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15422
- onItemDragEnd = _ref.onItemDragEnd,
15423
- onItemDragStart = _ref.onItemDragStart,
15424
- onItemPlaceDrop = _ref.onItemPlaceDrop,
15425
- _onOutsideDrop = _ref.onOutsideDrop,
15426
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15427
- initialPosition = _ref.initialPosition,
15428
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15429
- scale = _ref.scale,
15430
- shortcuts = _ref.shortcuts,
15431
- setItemShortcut = _ref.setItemShortcut,
15432
- removeShortcut = _ref.removeShortcut,
15433
- equipmentSet = _ref.equipmentSet,
15434
- isDepotSystem = _ref.isDepotSystem,
15435
- onPositionChangeEnd = _ref.onPositionChangeEnd,
15436
- onPositionChangeStart = _ref.onPositionChangeStart;
15437
- var _useState = useState({
15438
- isOpen: false,
15439
- maxQuantity: 1,
15440
- callback: function callback(_quantity) {}
15441
- }),
15442
- quantitySelect = _useState[0],
15443
- setQuantitySelect = _useState[1];
15444
- var _useState2 = useState(-1),
15445
- settingShortcutIndex = _useState2[0],
15446
- setSettingShortcutIndex = _useState2[1];
15447
- var handleSetShortcut = function handleSetShortcut(item, index) {
15448
- if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
15449
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15450
- }
15451
- };
15452
- var onRenderSlots = function onRenderSlots() {
15453
- var slots = [];
15454
- for (var i = 0; i < itemContainer.slotQty; i++) {
15455
- var _itemContainer$slots;
15456
- slots.push(React.createElement(ItemSlot, {
15457
- isContextMenuDisabled: disableContextMenu,
15458
- key: i,
15459
- slotIndex: i,
15460
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15461
- itemContainerType: type,
15462
- onMouseOver: function onMouseOver(event, slotIndex, item) {
15463
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15464
- },
15465
- onPointerDown: function onPointerDown(itemType, containerType, item) {
15466
- if (settingShortcutIndex !== -1) {
15467
- setSettingShortcutIndex(-1);
15468
- handleSetShortcut(item, settingShortcutIndex);
15469
- } else if (onItemClick) onItemClick(item, itemType, containerType);
15470
- },
15471
- onSelected: function onSelected(optionId, item) {
15472
- if (_onSelected) _onSelected(optionId, item);
15473
- },
15474
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15475
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15476
- },
15477
- onDragEnd: function onDragEnd(quantity) {
15478
- if (onItemDragEnd) onItemDragEnd(quantity);
15479
- },
15480
- dragScale: scale,
15481
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15482
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15483
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15484
- setQuantitySelect({
15485
- isOpen: true,
15486
- maxQuantity: maxQuantity,
15487
- callback: callback
15488
- });
15489
- },
15490
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15491
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15492
- },
15493
- onOutsideDrop: function onOutsideDrop(item, position) {
15494
- if (_onOutsideDrop) _onOutsideDrop(item, position);
15495
- },
15496
- atlasIMG: atlasIMG,
15497
- atlasJSON: atlasJSON,
15498
- isSelectingShortcut: settingShortcutIndex !== -1,
15499
- equipmentSet: equipmentSet,
15500
- setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
15501
- isDepotSystem: isDepotSystem
15502
- }));
15503
- }
15504
- return slots;
15505
- };
15506
- return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
15507
- title: itemContainer.name || 'Container',
15508
- onClose: onClose,
15509
- initialPosition: initialPosition,
15510
- scale: scale,
15511
- onPositionChangeEnd: onPositionChangeEnd,
15512
- onPositionChangeStart: onPositionChangeStart
15513
- }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
15514
- setSettingShortcutIndex: setSettingShortcutIndex,
15515
- settingShortcutIndex: settingShortcutIndex,
15516
- shortcuts: shortcuts,
15517
- removeShortcut: removeShortcut,
15518
- atlasIMG: atlasIMG,
15519
- atlasJSON: atlasJSON
15520
- }), React.createElement(ItemsContainer, {
15521
- className: "item-container-body"
15522
- }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
15523
- quantity: quantitySelect.maxQuantity,
15524
- onConfirm: function onConfirm(quantity) {
15525
- quantitySelect.callback(quantity);
15526
- setQuantitySelect({
15527
- isOpen: false,
15528
- maxQuantity: 1,
15529
- callback: function callback() {}
15530
- });
15531
- },
15532
- onClose: function onClose() {
15533
- quantitySelect.callback(-1);
15534
- setQuantitySelect({
15535
- isOpen: false,
15536
- maxQuantity: 1,
15537
- callback: function callback() {}
15538
- });
15539
- }
15540
- }))));
15541
- };
15542
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15543
- displayName: "ItemContainer__ItemsContainer",
15544
- componentId: "sc-15y5p9l-0"
15545
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15546
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15547
- displayName: "ItemContainer__QuantitySelectorContainer",
15548
- componentId: "sc-15y5p9l-1"
15549
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15550
-
15551
- var ItemSelector = function ItemSelector(_ref) {
15552
- var atlasIMG = _ref.atlasIMG,
15553
- atlasJSON = _ref.atlasJSON,
15554
- options = _ref.options,
15555
- onClose = _ref.onClose,
15556
- onSelect = _ref.onSelect;
15557
- var _useState = useState(),
15558
- selectedValue = _useState[0],
15559
- setSelectedValue = _useState[1];
15560
- var handleClick = function handleClick() {
15561
- var element = document.querySelector("input[name='test']:checked");
15562
- var elementValue = element.value;
15563
- setSelectedValue(elementValue);
15564
- };
15565
- useEffect(function () {
15566
- if (selectedValue) {
15567
- onSelect(selectedValue);
15568
- }
15569
- }, [selectedValue]);
15570
- return React.createElement(DraggableContainer, {
15571
- type: RPGUIContainerTypes.Framed,
15572
- width: "500px",
15573
- cancelDrag: ".equipment-container-body .arrow-selector",
15574
- onCloseButton: function onCloseButton() {
15575
- if (onClose) {
15576
- onClose();
15577
- }
15578
- }
15579
- }, React.createElement("div", {
15580
- style: {
15581
- width: '100%'
15582
- }
15583
- }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15584
- className: "golden"
15585
- })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15586
- return React.createElement(RadioOptionsWrapper$1, {
15587
- key: index
15588
- }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15589
- atlasIMG: atlasIMG,
15590
- atlasJSON: atlasJSON,
15591
- spriteKey: option.imageKey,
15592
- imgScale: 3
15593
- })), React.createElement("div", null, React.createElement("input", {
15594
- className: "rpgui-radio",
15595
- type: "radio",
15596
- value: option.name,
15597
- name: "test"
15598
- }), React.createElement("label", {
15599
- onPointerDown: handleClick,
15600
- style: {
15601
- display: 'flex',
15602
- alignItems: 'center'
15603
- }
15604
- }, option.name, " ", React.createElement("br", null), option.description)));
15605
- })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15606
- buttonType: ButtonTypes.RPGUIButton,
15607
- onPointerDown: onClose
15608
- }, "Cancel"), React.createElement(Button, {
15609
- buttonType: ButtonTypes.RPGUIButton
15610
- }, "Select")));
15611
- };
15612
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15613
- displayName: "ItemSelector__Title",
15614
- componentId: "sc-gptoxp-0"
15615
- })(["font-size:0.6rem;color:yellow !important;"]);
15616
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15617
- displayName: "ItemSelector__Subtitle",
15618
- componentId: "sc-gptoxp-1"
15619
- })(["font-size:0.4rem;color:yellow !important;"]);
15620
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15621
- displayName: "ItemSelector__RadioInputScroller",
15622
- componentId: "sc-gptoxp-2"
15623
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15624
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15625
- displayName: "ItemSelector__SpriteAtlasWrapper",
15626
- componentId: "sc-gptoxp-3"
15627
- })(["margin-right:40px;"]);
15628
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15629
- displayName: "ItemSelector__RadioOptionsWrapper",
15630
- componentId: "sc-gptoxp-4"
15631
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15632
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15633
- displayName: "ItemSelector__ButtonWrapper",
15634
- componentId: "sc-gptoxp-5"
15635
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15636
-
15637
- var ListMenu = function ListMenu(_ref) {
15638
- var options = _ref.options,
15639
- onSelected = _ref.onSelected,
15640
- x = _ref.x,
15641
- y = _ref.y;
15642
- return React.createElement(Container$j, {
15643
- x: x,
15644
- y: y
15645
- }, React.createElement("ul", {
15646
- className: "rpgui-list-imp",
15647
- style: {
15648
- overflow: 'hidden'
15649
- }
15650
- }, options.map(function (params, index) {
15651
- return React.createElement(ListElement$1, {
15652
- key: (params == null ? void 0 : params.id) || index,
15653
- onPointerDown: function onPointerDown() {
15654
- onSelected(params == null ? void 0 : params.id);
15655
- }
15656
- }, (params == null ? void 0 : params.text) || 'No text');
15657
- })));
15658
- };
15659
- var Container$j = /*#__PURE__*/styled.div.withConfig({
15660
- displayName: "ListMenu__Container",
15661
- componentId: "sc-i9097t-0"
15662
- })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
15663
- return props.y || 0;
15664
- }, function (props) {
15665
- return props.x || 0;
15666
- }, uiFonts.size.xsmall);
15667
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15668
- displayName: "ListMenu__ListElement",
15669
- componentId: "sc-i9097t-1"
15670
- })(["margin-right:0.5rem;"]);
15671
-
15672
- var MarketplaceRows = function MarketplaceRows(_ref) {
15673
- var atlasJSON = _ref.atlasJSON,
15674
- atlasIMG = _ref.atlasIMG,
15675
- item = _ref.item,
15676
- itemPrice = _ref.itemPrice,
15135
+ item = _ref.item,
15136
+ itemPrice = _ref.itemPrice,
15677
15137
  equipmentSet = _ref.equipmentSet,
15678
15138
  scale = _ref.scale,
15679
15139
  onHandleClick = _ref.onHandleClick;
@@ -15823,6 +15283,332 @@ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15823
15283
  componentId: "sc-h904b1-3"
15824
15284
  })(["margin:3px !important;width:170px !important;"]);
15825
15285
 
15286
+ var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15287
+
15288
+ var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
15289
+
15290
+ var ImgSide;
15291
+ (function (ImgSide) {
15292
+ ImgSide["right"] = "right";
15293
+ ImgSide["left"] = "left";
15294
+ })(ImgSide || (ImgSide = {}));
15295
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
15296
+ var _textAndTypeArray$sli;
15297
+ var _onClose = _ref.onClose,
15298
+ textAndTypeArray = _ref.textAndTypeArray;
15299
+ var _useState = useState(false),
15300
+ showGoNextIndicator = _useState[0],
15301
+ setShowGoNextIndicator = _useState[1];
15302
+ var _useState2 = useState(0),
15303
+ slide = _useState2[0],
15304
+ setSlide = _useState2[1];
15305
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15306
+ if (event.code === 'Space') {
15307
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15308
+ setSlide(function (prev) {
15309
+ return prev + 1;
15310
+ });
15311
+ } else {
15312
+ // if there's no more text chunks, close the dialog
15313
+ _onClose();
15314
+ }
15315
+ }
15316
+ };
15317
+ useEffect(function () {
15318
+ document.addEventListener('keydown', onHandleSpacePress);
15319
+ return function () {
15320
+ return document.removeEventListener('keydown', onHandleSpacePress);
15321
+ };
15322
+ }, [slide]);
15323
+ return React.createElement(RPGUIContainer, {
15324
+ type: RPGUIContainerTypes.FramedGold,
15325
+ width: '50%',
15326
+ height: '180px'
15327
+ }, React.createElement(React.Fragment, null, React.createElement(Container$g, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
15328
+ flex: '70%'
15329
+ }, React.createElement(NPCDialogText, {
15330
+ onStartStep: function onStartStep() {
15331
+ return setShowGoNextIndicator(false);
15332
+ },
15333
+ onEndStep: function onEndStep() {
15334
+ return setShowGoNextIndicator(true);
15335
+ },
15336
+ text: textAndTypeArray[slide].text || 'No text provided.',
15337
+ onClose: function onClose() {
15338
+ if (_onClose) {
15339
+ _onClose();
15340
+ }
15341
+ }
15342
+ })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15343
+ src: textAndTypeArray[slide].imagePath || img$5
15344
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15345
+ right: '10.5rem',
15346
+ src: img$6
15347
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15348
+ src: textAndTypeArray[slide].imagePath || img$5
15349
+ })), React.createElement(TextContainer, {
15350
+ flex: '70%'
15351
+ }, React.createElement(NPCDialogText, {
15352
+ onStartStep: function onStartStep() {
15353
+ return setShowGoNextIndicator(false);
15354
+ },
15355
+ onEndStep: function onEndStep() {
15356
+ return setShowGoNextIndicator(true);
15357
+ },
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]);
15415
+ };
15416
+
15417
+ var DynamicText = function DynamicText(_ref) {
15418
+ var text = _ref.text,
15419
+ onFinish = _ref.onFinish,
15420
+ onStart = _ref.onStart;
15421
+ var _useState = useState(''),
15422
+ textState = _useState[0],
15423
+ setTextState = _useState[1];
15424
+ useEffect(function () {
15425
+ var i = 0;
15426
+ var interval = setInterval(function () {
15427
+ // on every interval, show one more character
15428
+ if (i === 0) {
15429
+ if (onStart) {
15430
+ onStart();
15431
+ }
15432
+ }
15433
+ if (i < text.length) {
15434
+ setTextState(text.substring(0, i + 1));
15435
+ i++;
15436
+ } else {
15437
+ clearInterval(interval);
15438
+ if (onFinish) {
15439
+ onFinish();
15440
+ }
15441
+ }
15442
+ }, 50);
15443
+ return function () {
15444
+ clearInterval(interval);
15445
+ };
15446
+ }, [text]);
15447
+ return React.createElement(TextContainer$1, null, textState);
15448
+ };
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;"]);
15453
+
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;
15467
+ }
15468
+ var firstAnswerId = currentQuestion.answerIds[0];
15469
+ return answers.find(function (answer) {
15470
+ return answer.id === firstAnswerId;
15471
+ });
15472
+ };
15473
+ var _useState3 = useState(onGetFirstAnswer()),
15474
+ currentAnswer = _useState3[0],
15475
+ setCurrentAnswer = _useState3[1];
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
+ });
15485
+ };
15486
+ var onKeyPress = function onKeyPress(e) {
15487
+ switch (e.key) {
15488
+ case 'ArrowDown':
15489
+ // select next answer, if any.
15490
+ // if no next answer, select first answer
15491
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15492
+ // (answer) => answer?.id === currentAnswer!.id + 1
15493
+ // );
15494
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15495
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15496
+ });
15497
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15498
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15499
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
15500
+ });
15501
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15502
+ break;
15503
+ case 'ArrowUp':
15504
+ // select previous answer, if any.
15505
+ // if no previous answer, select last answer
15506
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15507
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15508
+ });
15509
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15510
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15511
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
15512
+ });
15513
+ if (previousAnswer) {
15514
+ setCurrentAnswer(previousAnswer);
15515
+ } else {
15516
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15517
+ }
15518
+ break;
15519
+ case 'Enter':
15520
+ setCanShowAnswers(false);
15521
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15522
+ onClose();
15523
+ return;
15524
+ } else {
15525
+ setCurrentQuestion(questions.find(function (question) {
15526
+ return question.id === currentAnswer.nextQuestionId;
15527
+ }));
15528
+ }
15529
+ break;
15530
+ }
15531
+ };
15532
+ useEventListener('keydown', onKeyPress);
15533
+ var onAnswerClick = function onAnswerClick(answer) {
15534
+ setCanShowAnswers(false);
15535
+ if (answer.nextQuestionId) {
15536
+ // if there is a next question, go to it
15537
+ setCurrentQuestion(questions.find(function (question) {
15538
+ return question.id === answer.nextQuestionId;
15539
+ }));
15540
+ } else {
15541
+ // else, finish dialog!
15542
+ onClose();
15543
+ }
15544
+ };
15545
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15546
+ var answerIds = currentQuestion.answerIds;
15547
+ if (!answerIds) {
15548
+ return null;
15549
+ }
15550
+ var answers = onGetAnswers(answerIds);
15551
+ if (!answers) {
15552
+ return null;
15553
+ }
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));
15569
+ }
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);
15577
+ },
15578
+ onFinish: function onFinish() {
15579
+ return setCanShowAnswers(true);
15580
+ }
15581
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15582
+ };
15583
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15584
+ displayName: "QuestionDialog__Container",
15585
+ componentId: "sc-bxc5u0-0"
15586
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
15587
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
15588
+ displayName: "QuestionDialog__QuestionContainer",
15589
+ componentId: "sc-bxc5u0-1"
15590
+ })(["flex:100%;width:100%;"]);
15591
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
15592
+ displayName: "QuestionDialog__AnswersContainer",
15593
+ componentId: "sc-bxc5u0-2"
15594
+ })(["flex:100%;"]);
15595
+ var Answer = /*#__PURE__*/styled.p.withConfig({
15596
+ displayName: "QuestionDialog__Answer",
15597
+ componentId: "sc-bxc5u0-3"
15598
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
15599
+ return props.color;
15600
+ });
15601
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
15602
+ displayName: "QuestionDialog__AnswerSelectedIcon",
15603
+ componentId: "sc-bxc5u0-4"
15604
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
15605
+ return props.color;
15606
+ });
15607
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
15608
+ displayName: "QuestionDialog__AnswerRow",
15609
+ componentId: "sc-bxc5u0-5"
15610
+ })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
15611
+
15826
15612
  var ProgressBar = function ProgressBar(_ref) {
15827
15613
  var max = _ref.max,
15828
15614
  value = _ref.value,
@@ -15842,7 +15628,7 @@ var ProgressBar = function ProgressBar(_ref) {
15842
15628
  }
15843
15629
  return value * 100 / max;
15844
15630
  };
15845
- return React.createElement(Container$k, {
15631
+ return React.createElement(Container$i, {
15846
15632
  className: "rpgui-progress",
15847
15633
  "data-value": calculatePercentageValue(max, value) / 100,
15848
15634
  "data-rpguitype": "progress",
@@ -15871,7 +15657,7 @@ var TextOverlay$2 = /*#__PURE__*/styled.div.withConfig({
15871
15657
  displayName: "ProgressBar__TextOverlay",
15872
15658
  componentId: "sc-qa6fzh-1"
15873
15659
  })(["width:100%;position:relative;"]);
15874
- var Container$k = /*#__PURE__*/styled.div.withConfig({
15660
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15875
15661
  displayName: "ProgressBar__Container",
15876
15662
  componentId: "sc-qa6fzh-2"
15877
15663
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -15882,7 +15668,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
15882
15668
  return props.style;
15883
15669
  });
15884
15670
 
15885
- var img$8 = 'data:image/png;base64,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';
15671
+ var img$7 = 'data:image/png;base64,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';
15886
15672
 
15887
15673
  var QuestInfo = function QuestInfo(_ref) {
15888
15674
  var quests = _ref.quests,
@@ -15926,7 +15712,7 @@ var QuestInfo = function QuestInfo(_ref) {
15926
15712
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15927
15713
  className: "drag-handler"
15928
15714
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15929
- src: quests[currentIndex].thumbnail || img$8
15715
+ src: quests[currentIndex].thumbnail || img$7
15930
15716
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15931
15717
  className: "golden"
15932
15718
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -15945,7 +15731,7 @@ var QuestInfo = function QuestInfo(_ref) {
15945
15731
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
15946
15732
  className: "drag-handler"
15947
15733
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
15948
- src: quests[0].thumbnail || img$8
15734
+ src: quests[0].thumbnail || img$7
15949
15735
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
15950
15736
  className: "golden"
15951
15737
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -16210,7 +15996,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16210
15996
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
16211
15997
  _ref$margin = _ref.margin,
16212
15998
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
16213
- return React.createElement(Container$l, {
15999
+ return React.createElement(Container$j, {
16214
16000
  className: "simple-progress-bar"
16215
16001
  }, React.createElement(ProgressBarContainer, {
16216
16002
  margin: margin
@@ -16219,7 +16005,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16219
16005
  bgColor: bgColor
16220
16006
  }))));
16221
16007
  };
16222
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16008
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
16223
16009
  displayName: "SimpleProgressBar__Container",
16224
16010
  componentId: "sc-mbeil3-0"
16225
16011
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16458,7 +16244,7 @@ var SpellInfo = function SpellInfo(_ref) {
16458
16244
  castingType = spell.castingType,
16459
16245
  cooldown = spell.cooldown,
16460
16246
  maxDistanceGrid = spell.maxDistanceGrid;
16461
- 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", {
16247
+ return React.createElement(Container$k, null, React.createElement(Header$1, null, React.createElement("div", null, React.createElement(Title$6, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
16462
16248
  className: "label"
16463
16249
  }, "Casting Type:"), React.createElement("div", {
16464
16250
  className: "value"
@@ -16484,7 +16270,7 @@ var SpellInfo = function SpellInfo(_ref) {
16484
16270
  className: "value"
16485
16271
  }, requiredItem))), React.createElement(Description$1, null, description));
16486
16272
  };
16487
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16273
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
16488
16274
  displayName: "SpellInfo__Container",
16489
16275
  componentId: "sc-4hbw3q-0"
16490
16276
  })(["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);
@@ -16538,7 +16324,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16538
16324
  var _ref$current;
16539
16325
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16540
16326
  };
16541
- return React.createElement(ModalPortal, null, React.createElement(Container$n, {
16327
+ return React.createElement(ModalPortal, null, React.createElement(Container$l, {
16542
16328
  ref: ref,
16543
16329
  onTouchEnd: function onTouchEnd() {
16544
16330
  handleFadeOut();
@@ -16563,7 +16349,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16563
16349
  }, option.text);
16564
16350
  }))));
16565
16351
  };
16566
- var Container$n = /*#__PURE__*/styled.div.withConfig({
16352
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
16567
16353
  displayName: "MobileSpellTooltip__Container",
16568
16354
  componentId: "sc-6p7uvr-0"
16569
16355
  })(["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;}"]);
@@ -16604,13 +16390,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
16604
16390
  }
16605
16391
  return;
16606
16392
  }, []);
16607
- return React.createElement(ModalPortal, null, React.createElement(Container$o, {
16393
+ return React.createElement(ModalPortal, null, React.createElement(Container$m, {
16608
16394
  ref: ref
16609
16395
  }, React.createElement(SpellInfoDisplay, {
16610
16396
  spell: spell
16611
16397
  })));
16612
16398
  };
16613
- var Container$o = /*#__PURE__*/styled.div.withConfig({
16399
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16614
16400
  displayName: "SpellTooltip__Container",
16615
16401
  componentId: "sc-1go0gwg-0"
16616
16402
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -16662,7 +16448,7 @@ var Spell = function Spell(_ref) {
16662
16448
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16663
16449
  return React.createElement(SpellInfoWrapper, {
16664
16450
  spell: spell
16665
- }, React.createElement(Container$p, {
16451
+ }, React.createElement(Container$n, {
16666
16452
  disabled: disabled || (activeCooldown != null ? activeCooldown : 0) > 0,
16667
16453
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16668
16454
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -16677,7 +16463,7 @@ var Spell = function Spell(_ref) {
16677
16463
  className: "mana"
16678
16464
  }, manaCost))));
16679
16465
  };
16680
- var Container$p = /*#__PURE__*/styled.button.withConfig({
16466
+ var Container$n = /*#__PURE__*/styled.button.withConfig({
16681
16467
  displayName: "Spell__Container",
16682
16468
  componentId: "sc-j96fa2-0"
16683
16469
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -16765,7 +16551,7 @@ var Spellbook = function Spellbook(_ref) {
16765
16551
  height: "inherit",
16766
16552
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
16767
16553
  scale: scale
16768
- }, React.createElement(Container$q, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
16554
+ }, React.createElement(Container$o, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
16769
16555
  setSettingShortcutIndex: setSettingShortcutIndex,
16770
16556
  settingShortcutIndex: settingShortcutIndex,
16771
16557
  shortcuts: shortcuts,
@@ -16799,7 +16585,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
16799
16585
  displayName: "Spellbook__Title",
16800
16586
  componentId: "sc-r02nfq-0"
16801
16587
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
16802
- var Container$q = /*#__PURE__*/styled.div.withConfig({
16588
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16803
16589
  displayName: "Spellbook__Container",
16804
16590
  componentId: "sc-r02nfq-1"
16805
16591
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -16813,16 +16599,16 @@ var TextArea = function TextArea(_ref) {
16813
16599
  return React.createElement("textarea", Object.assign({}, props));
16814
16600
  };
16815
16601
 
16816
- var img$9 = 'data:image/gif;base64,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';
16602
+ var img$8 = 'data:image/gif;base64,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';
16817
16603
 
16818
- var img$a = 'data:image/gif;base64,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';
16604
+ var img$9 = 'data:image/gif;base64,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';
16819
16605
 
16820
- var img$b = 'data:image/gif;base64,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';
16606
+ var img$a = 'data:image/gif;base64,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';
16821
16607
 
16822
16608
  var DayNightPeriod = function DayNightPeriod(_ref) {
16823
16609
  var _periodOfDaySrcFiles;
16824
16610
  var periodOfDay = _ref.periodOfDay;
16825
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
16611
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
16826
16612
  return React.createElement(GifContainer, null, React.createElement("img", {
16827
16613
  src: periodOfDaySrcFiles[periodOfDay]
16828
16614
  }));
@@ -16832,7 +16618,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
16832
16618
  componentId: "sc-10t97fw-0"
16833
16619
  })(["width:100%;img{width:67%;}"]);
16834
16620
 
16835
- 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';
16621
+ 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';
16836
16622
 
16837
16623
  var TimeWidget = function TimeWidget(_ref) {
16838
16624
  var onClose = _ref.onClose,
@@ -16850,7 +16636,7 @@ var TimeWidget = function TimeWidget(_ref) {
16850
16636
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
16851
16637
  displayName: "TimeWidget__WidgetContainer",
16852
16638
  componentId: "sc-1ja236h-0"
16853
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
16639
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
16854
16640
  var Time = /*#__PURE__*/styled.div.withConfig({
16855
16641
  displayName: "TimeWidget__Time",
16856
16642
  componentId: "sc-1ja236h-1"
@@ -17100,16 +16886,230 @@ var Truncate = function Truncate(_ref) {
17100
16886
  var _ref$maxLines = _ref.maxLines,
17101
16887
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
17102
16888
  children = _ref.children;
17103
- return React.createElement(Container$r, {
16889
+ return React.createElement(Container$p, {
17104
16890
  maxLines: maxLines
17105
16891
  }, children);
17106
16892
  };
17107
- var Container$r = /*#__PURE__*/styled.div.withConfig({
16893
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
17108
16894
  displayName: "Truncate__Container",
17109
16895
  componentId: "sc-6x00qb-0"
17110
16896
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
17111
16897
  return props.maxLines;
17112
16898
  });
17113
16899
 
16900
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
16901
+
16902
+ var chunkString = function chunkString(str, length) {
16903
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
16904
+ };
16905
+
16906
+ var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
16907
+
16908
+ var NPCDialogText = function NPCDialogText(_ref) {
16909
+ var text = _ref.text,
16910
+ onClose = _ref.onClose,
16911
+ onEndStep = _ref.onEndStep,
16912
+ onStartStep = _ref.onStartStep,
16913
+ type = _ref.type;
16914
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
16915
+ function maxCharacters(width) {
16916
+ // Set the font size to 16 pixels
16917
+ var fontSize = 11.2;
16918
+ // Calculate the number of characters that can fit in one line
16919
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
16920
+ // Calculate the number of lines that can fit in the div
16921
+ var linesPerDiv = Math.floor(180 / fontSize);
16922
+ // Calculate the maximum number of characters that can fit in the div
16923
+ var maxCharacters = charactersPerLine * linesPerDiv;
16924
+ // Return the maximum number of characters
16925
+ return Math.round(maxCharacters / 5);
16926
+ }
16927
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
16928
+ var _useState = useState(0),
16929
+ chunkIndex = _useState[0],
16930
+ setChunkIndex = _useState[1];
16931
+ var onHandleSpacePress = function onHandleSpacePress(event) {
16932
+ if (event.code === 'Space') {
16933
+ goToNextStep();
16934
+ }
16935
+ };
16936
+ var goToNextStep = function goToNextStep() {
16937
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
16938
+ if (hasNextChunk) {
16939
+ setChunkIndex(function (prev) {
16940
+ return prev + 1;
16941
+ });
16942
+ } else {
16943
+ // if there's no more text chunks, close the dialog
16944
+ onClose();
16945
+ }
16946
+ };
16947
+ useEffect(function () {
16948
+ document.addEventListener('keydown', onHandleSpacePress);
16949
+ return function () {
16950
+ return document.removeEventListener('keydown', onHandleSpacePress);
16951
+ };
16952
+ }, [chunkIndex]);
16953
+ var _useState2 = useState(false),
16954
+ showGoNextIndicator = _useState2[0],
16955
+ setShowGoNextIndicator = _useState2[1];
16956
+ return React.createElement(Container$q, null, React.createElement(DynamicText, {
16957
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
16958
+ onFinish: function onFinish() {
16959
+ setShowGoNextIndicator(true);
16960
+ onEndStep && onEndStep();
16961
+ },
16962
+ onStart: function onStart() {
16963
+ setShowGoNextIndicator(false);
16964
+ onStartStep && onStartStep();
16965
+ }
16966
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
16967
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
16968
+ src: IS_MOBILE_OR_TABLET ? img$c : img$6,
16969
+ onPointerDown: function onPointerDown() {
16970
+ goToNextStep();
16971
+ }
16972
+ }));
16973
+ };
16974
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16975
+ displayName: "NPCDialogText__Container",
16976
+ componentId: "sc-1cxkdh9-0"
16977
+ })([""]);
16978
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
16979
+ displayName: "NPCDialogText__PressSpaceIndicator",
16980
+ componentId: "sc-1cxkdh9-1"
16981
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
16982
+ var right = _ref2.right;
16983
+ return right;
16984
+ });
16985
+
16986
+ var NPCDialogType;
16987
+ (function (NPCDialogType) {
16988
+ NPCDialogType["TextOnly"] = "TextOnly";
16989
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
16990
+ })(NPCDialogType || (NPCDialogType = {}));
16991
+ var NPCDialog = function NPCDialog(_ref) {
16992
+ var text = _ref.text,
16993
+ type = _ref.type,
16994
+ _onClose = _ref.onClose,
16995
+ imagePath = _ref.imagePath,
16996
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
16997
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
16998
+ questions = _ref.questions,
16999
+ answers = _ref.answers;
17000
+ return React.createElement(RPGUIContainer, {
17001
+ type: RPGUIContainerTypes.FramedGold,
17002
+ width: isQuestionDialog ? '600px' : '80%',
17003
+ height: '180px'
17004
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
17005
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17006
+ }, React.createElement(QuestionDialog, {
17007
+ questions: questions,
17008
+ answers: answers,
17009
+ onClose: function onClose() {
17010
+ if (_onClose) {
17011
+ _onClose();
17012
+ }
17013
+ }
17014
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17015
+ src: imagePath || img$5
17016
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$r, null, React.createElement(TextContainer$2, {
17017
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17018
+ }, React.createElement(NPCDialogText, {
17019
+ type: type,
17020
+ text: text || 'No text provided.',
17021
+ onClose: function onClose() {
17022
+ if (_onClose) {
17023
+ _onClose();
17024
+ }
17025
+ }
17026
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17027
+ src: imagePath || img$5
17028
+ })))));
17029
+ };
17030
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
17031
+ displayName: "NPCDialog__Container",
17032
+ componentId: "sc-1b4aw74-0"
17033
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17034
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17035
+ displayName: "NPCDialog__TextContainer",
17036
+ componentId: "sc-1b4aw74-1"
17037
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17038
+ var flex = _ref2.flex;
17039
+ return flex;
17040
+ });
17041
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17042
+ displayName: "NPCDialog__ThumbnailContainer",
17043
+ componentId: "sc-1b4aw74-2"
17044
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17045
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17046
+ displayName: "NPCDialog__NPCThumbnail",
17047
+ componentId: "sc-1b4aw74-3"
17048
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
17049
+
17050
+ var HistoryDialog = function HistoryDialog(_ref) {
17051
+ var backgroundImgPath = _ref.backgroundImgPath,
17052
+ fullCoverBackground = _ref.fullCoverBackground,
17053
+ questions = _ref.questions,
17054
+ answers = _ref.answers,
17055
+ text = _ref.text,
17056
+ imagePath = _ref.imagePath,
17057
+ textAndTypeArray = _ref.textAndTypeArray,
17058
+ onClose = _ref.onClose;
17059
+ var _useState = useState(0),
17060
+ img = _useState[0],
17061
+ setImage = _useState[1];
17062
+ var onHandleSpacePress = function onHandleSpacePress(event) {
17063
+ if (event.code === 'Space') {
17064
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17065
+ setImage(function (prev) {
17066
+ return prev + 1;
17067
+ });
17068
+ } else {
17069
+ // if there's no more text chunks, close the dialog
17070
+ onClose();
17071
+ }
17072
+ }
17073
+ };
17074
+ useEffect(function () {
17075
+ document.addEventListener('keydown', onHandleSpacePress);
17076
+ return function () {
17077
+ return document.removeEventListener('keydown', onHandleSpacePress);
17078
+ };
17079
+ }, [backgroundImgPath]);
17080
+ return React.createElement(BackgroundContainer, {
17081
+ imgPath: backgroundImgPath[img],
17082
+ fullImg: fullCoverBackground
17083
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
17084
+ textAndTypeArray: textAndTypeArray,
17085
+ onClose: onClose
17086
+ }) : questions && answers ? React.createElement(QuestionDialog, {
17087
+ questions: questions,
17088
+ answers: answers,
17089
+ onClose: onClose
17090
+ }) : text && imagePath ? React.createElement(NPCDialog, {
17091
+ text: text,
17092
+ imagePath: imagePath,
17093
+ onClose: onClose,
17094
+ type: NPCDialogType.TextAndThumbnail
17095
+ }) : React.createElement(NPCDialog, {
17096
+ text: text,
17097
+ onClose: onClose,
17098
+ type: NPCDialogType.TextOnly
17099
+ })));
17100
+ };
17101
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17102
+ displayName: "HistoryDialog__BackgroundContainer",
17103
+ componentId: "sc-u6oe75-0"
17104
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17105
+ return props.imgPath;
17106
+ }, function (props) {
17107
+ return props.imgPath ? 'cover' : 'auto';
17108
+ });
17109
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17110
+ displayName: "HistoryDialog__DialogContainer",
17111
+ componentId: "sc-u6oe75-1"
17112
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
17113
+
17114
17114
  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 };
17115
17115
  //# sourceMappingURL=long-bow.esm.js.map