@rpg-engine/long-bow 0.3.50 → 0.3.52

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 (157) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/CircularController/CircularController.d.ts +7 -3
  4. package/dist/components/Item/Inventory/ItemContainer.d.ts +4 -0
  5. package/dist/components/Item/Inventory/ItemSlot.d.ts +1 -0
  6. package/dist/components/Shortcuts/Shortcuts.d.ts +21 -0
  7. package/dist/components/Shortcuts/ShortcutsSetter.d.ts +12 -0
  8. package/dist/components/Shortcuts/SingleShortcut.d.ts +1 -0
  9. package/dist/components/Spellbook/Spellbook.d.ts +5 -2
  10. package/dist/components/Spellbook/constants.d.ts +3 -3
  11. package/dist/index.d.ts +1 -1
  12. package/dist/long-bow.cjs.development.js +1158 -1004
  13. package/dist/long-bow.cjs.development.js.map +1 -1
  14. package/dist/long-bow.cjs.production.min.js +1 -1
  15. package/dist/long-bow.cjs.production.min.js.map +1 -1
  16. package/dist/long-bow.esm.js +985 -829
  17. package/dist/long-bow.esm.js.map +1 -1
  18. package/dist/stories/{QuickSpells.stories.d.ts → Shortcuts.stories.d.ts} +2 -2
  19. package/package.json +100 -100
  20. package/src/components/Abstractions/SlotsContainer.tsx +45 -45
  21. package/src/components/Arrow/SelectArrow.tsx +65 -65
  22. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  23. package/src/components/Arrow/img/arrow01-left.png +0 -0
  24. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  25. package/src/components/Arrow/img/arrow01-right.png +0 -0
  26. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  27. package/src/components/Arrow/img/arrow02-left.png +0 -0
  28. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  29. package/src/components/Arrow/img/arrow02-right.png +0 -0
  30. package/src/components/Button.tsx +41 -41
  31. package/src/components/Character/CharacterSelection.tsx +96 -96
  32. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  33. package/src/components/Chat/Chat.tsx +195 -195
  34. package/src/components/Chatdeprecated/ChatDeprecated.tsx +200 -200
  35. package/src/components/CheckButton.tsx +65 -65
  36. package/src/components/CircularController/CircularController.tsx +244 -162
  37. package/src/components/CraftBook/CraftBook.tsx +235 -235
  38. package/src/components/CraftBook/MockItems.ts +46 -46
  39. package/src/components/DraggableContainer.tsx +154 -154
  40. package/src/components/Dropdown.tsx +96 -96
  41. package/src/components/DropdownSelectorContainer.tsx +42 -42
  42. package/src/components/Equipment/EquipmentSet.tsx +190 -190
  43. package/src/components/HistoryDialog.tsx +104 -104
  44. package/src/components/Input.tsx +15 -15
  45. package/src/components/Item/Cards/ItemTooltip.tsx +33 -33
  46. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  47. package/src/components/Item/Inventory/ItemContainer.tsx +210 -175
  48. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  49. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +142 -142
  50. package/src/components/Item/Inventory/ItemSlot.tsx +502 -465
  51. package/src/components/Item/Inventory/itemContainerHelper.ts +156 -156
  52. package/src/components/ListMenu.tsx +63 -63
  53. package/src/components/Multitab/Tab.tsx +57 -57
  54. package/src/components/Multitab/TabBody.tsx +13 -13
  55. package/src/components/Multitab/TabsContainer.tsx +97 -97
  56. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  57. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  58. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  59. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  60. package/src/components/ProgressBar.tsx +92 -92
  61. package/src/components/PropertySelect/PropertySelect.tsx +114 -114
  62. package/src/components/QuestInfo/QuestInfo.tsx +232 -232
  63. package/src/components/QuestList.tsx +129 -129
  64. package/src/components/RPGUIContainer.tsx +47 -47
  65. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  66. package/src/components/RPGUIRoot.tsx +14 -14
  67. package/src/components/RadioButton.tsx +53 -53
  68. package/src/components/RadioInput/RadioButton.tsx +98 -98
  69. package/src/components/RadioInput/RadioInput.tsx +98 -98
  70. package/src/components/RadioInput/instruments.ts +15 -15
  71. package/src/components/RangeSlider.tsx +78 -78
  72. package/src/components/RelativeListMenu.tsx +83 -83
  73. package/src/components/ScrollList.tsx +79 -79
  74. package/src/components/Shortcuts/Shortcuts.tsx +138 -0
  75. package/src/components/Shortcuts/ShortcutsSetter.tsx +127 -0
  76. package/src/components/Shortcuts/SingleShortcut.ts +61 -0
  77. package/src/components/SimpleProgressBar.tsx +62 -62
  78. package/src/components/SkillProgressBar.tsx +133 -133
  79. package/src/components/SkillsContainer.tsx +200 -200
  80. package/src/components/Spellbook/Spell.tsx +201 -201
  81. package/src/components/Spellbook/Spellbook.tsx +151 -144
  82. package/src/components/Spellbook/constants.ts +8 -12
  83. package/src/components/Spellbook/mockSpells.ts +60 -60
  84. package/src/components/StaticBook/StaticBook.tsx +105 -105
  85. package/src/components/TextArea.tsx +11 -11
  86. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  87. package/src/components/TimeWidget/TimeWidget.tsx +63 -63
  88. package/src/components/TradingMenu/TradingItemRow.tsx +197 -197
  89. package/src/components/TradingMenu/TradingMenu.tsx +203 -203
  90. package/src/components/TradingMenu/items.mock.ts +96 -37
  91. package/src/components/Truncate.tsx +25 -25
  92. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  93. package/src/components/shared/Column.tsx +16 -16
  94. package/src/components/shared/Ellipsis.tsx +65 -65
  95. package/src/components/shared/SpriteFromAtlas.tsx +102 -102
  96. package/src/components/typography/DynamicText.tsx +49 -49
  97. package/src/constants/uiColors.ts +20 -20
  98. package/src/constants/uiDevices.ts +3 -3
  99. package/src/constants/uiFonts.ts +12 -12
  100. package/src/hooks/useEventListener.ts +21 -21
  101. package/src/hooks/useOutsideAlerter.ts +25 -25
  102. package/src/index.tsx +40 -40
  103. package/src/libs/StringHelpers.ts +3 -3
  104. package/src/mocks/atlas/entities/entities.json +20215 -20215
  105. package/src/mocks/atlas/icons/icons.json +735 -735
  106. package/src/mocks/atlas/items/items.json +12086 -12086
  107. package/src/mocks/equipmentSet.mocks.ts +393 -393
  108. package/src/mocks/itemContainer.mocks.ts +562 -560
  109. package/src/mocks/skills.mocks.ts +128 -128
  110. package/src/stories/Arrow.stories.tsx +26 -26
  111. package/src/stories/Button.stories.tsx +36 -36
  112. package/src/stories/CharacterSelection.stories.tsx +45 -45
  113. package/src/stories/CharacterStatus.stories.tsx +29 -29
  114. package/src/stories/Chat.stories.tsx +187 -187
  115. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  116. package/src/stories/CheckButton.stories.tsx +48 -48
  117. package/src/stories/CircullarController.stories.tsx +37 -33
  118. package/src/stories/CraftBook.stories.tsx +40 -40
  119. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  120. package/src/stories/DraggableContainer.stories.tsx +28 -28
  121. package/src/stories/Dropdown.stories.tsx +46 -46
  122. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  123. package/src/stories/EquipmentSet.stories.tsx +65 -65
  124. package/src/stories/HistoryDialog.stories.tsx +61 -61
  125. package/src/stories/ItemContainer.stories.tsx +193 -124
  126. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  127. package/src/stories/ItemSelector.stories.tsx +77 -77
  128. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  129. package/src/stories/ListMenu.stories.tsx +56 -56
  130. package/src/stories/Multitab.stories.tsx +51 -51
  131. package/src/stories/NPCDialog.stories.tsx +130 -130
  132. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  133. package/src/stories/ProgressBar.stories.tsx +23 -23
  134. package/src/stories/PropertySelect.stories.tsx +40 -40
  135. package/src/stories/QuestInfo.stories.tsx +107 -107
  136. package/src/stories/QuestList.stories.tsx +82 -82
  137. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  138. package/src/stories/RadioButton.stories.tsx +49 -49
  139. package/src/stories/RadioInput.stories.tsx +34 -34
  140. package/src/stories/RangeSlider.stories.tsx +64 -64
  141. package/src/stories/ScrollList.stories.tsx +85 -85
  142. package/src/stories/Shortcuts.stories.tsx +39 -0
  143. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  144. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  145. package/src/stories/SkillsContainer.stories.tsx +35 -35
  146. package/src/stories/Spellbook.stories.tsx +104 -107
  147. package/src/stories/StaticBook.stories.tsx +32 -32
  148. package/src/stories/Text.stories.tsx +42 -42
  149. package/src/stories/TimeWidget.stories.tsx +27 -27
  150. package/src/stories/TradingMenu.stories.tsx +45 -45
  151. package/src/types/eventTypes.ts +4 -4
  152. package/src/types/index.d.ts +2 -2
  153. package/dist/components/Spellbook/QuickSpells.d.ts +0 -10
  154. package/dist/components/Spellbook/SpellbookShortcuts.d.ts +0 -10
  155. package/src/components/Spellbook/QuickSpells.tsx +0 -120
  156. package/src/components/Spellbook/SpellbookShortcuts.tsx +0 -77
  157. package/src/stories/QuickSpells.stories.tsx +0 -38
@@ -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, ItemSubType, ItemContainerType, ItemType, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, getItemTextureKeyPath, ItemSlotType, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
3
+ import { GRID_WIDTH, GRID_HEIGHT, getItemTextureKeyPath, ItemSubType, ItemContainerType, ItemType, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, 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';
@@ -33053,62 +33053,109 @@ var CheckButton = function CheckButton(_ref) {
33053
33053
  }));
33054
33054
  };
33055
33055
 
33056
- var QuickSpells = function QuickSpells(_ref) {
33057
- var quickSpells = _ref.quickSpells,
33058
- onSpellCast = _ref.onSpellCast,
33056
+ var SingleShortcut = /*#__PURE__*/styled.button.withConfig({
33057
+ displayName: "SingleShortcut",
33058
+ componentId: "sc-vz5ev8-0"
33059
+ })(["width:3rem;height:3rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;position:relative;span{pointer-events:none;}.mana{position:absolute;top:-5px;right:0;font-size:0.65rem;color:", ";}.qty{position:absolute;top:-5px;right:0;font-size:0.65rem;}.magicWords{margin-top:4px;}.keyboard{position:absolute;bottom:-5px;left:0;font-size:0.65rem;color:", ";}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.darkGray, uiColors.gray);
33060
+
33061
+ var ShortcutType;
33062
+ (function (ShortcutType) {
33063
+ ShortcutType[ShortcutType["Spell"] = 0] = "Spell";
33064
+ ShortcutType[ShortcutType["Item"] = 1] = "Item";
33065
+ ShortcutType[ShortcutType["None"] = 2] = "None";
33066
+ })(ShortcutType || (ShortcutType = {}));
33067
+ var Shortcuts = function Shortcuts(_ref) {
33068
+ var shortcuts = _ref.shortcuts,
33069
+ onShortcutCast = _ref.onShortcutCast,
33059
33070
  mana = _ref.mana,
33060
33071
  _ref$isBlockedCasting = _ref.isBlockedCastingByKeyboard,
33061
- isBlockedCastingByKeyboard = _ref$isBlockedCasting === void 0 ? false : _ref$isBlockedCasting;
33072
+ isBlockedCastingByKeyboard = _ref$isBlockedCasting === void 0 ? false : _ref$isBlockedCasting,
33073
+ atlasJSON = _ref.atlasJSON,
33074
+ atlasIMG = _ref.atlasIMG,
33075
+ inventory = _ref.inventory;
33062
33076
  useEffect(function () {
33063
33077
  var handleKeyDown = function handleKeyDown(e) {
33064
33078
  if (isBlockedCastingByKeyboard) return;
33065
33079
  var shortcutIndex = Number(e.key) - 1;
33066
- if (shortcutIndex >= 0 && shortcutIndex <= 3) {
33067
- var shortcut = quickSpells[shortcutIndex];
33068
- if (shortcut != null && shortcut.key && mana >= (shortcut == null ? void 0 : shortcut.manaCost)) {
33069
- onSpellCast(shortcut.key);
33070
- }
33080
+ if (shortcutIndex >= 0 && shortcutIndex <= 5) {
33081
+ onShortcutCast(shortcutIndex);
33071
33082
  }
33072
33083
  };
33073
33084
  window.addEventListener('keydown', handleKeyDown);
33074
33085
  return function () {
33075
33086
  window.removeEventListener('keydown', handleKeyDown);
33076
33087
  };
33077
- }, [quickSpells, isBlockedCastingByKeyboard]);
33088
+ }, [shortcuts, isBlockedCastingByKeyboard]);
33078
33089
  return React.createElement(List, null, Array.from({
33079
- length: 4
33090
+ length: 6
33080
33091
  }).map(function (_, i) {
33081
- var _quickSpells$i, _quickSpells$i2, _quickSpells$i3, _quickSpells$i4, _quickSpells$i5;
33082
- return React.createElement(SpellShortcut, {
33092
+ var _shortcuts$i, _shortcuts$i3, _payload$manaCost;
33093
+ if (((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) === ShortcutType.Item) {
33094
+ var _shortcuts$i2;
33095
+ var _payload = (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.payload;
33096
+ var itemsFromEquipment = [];
33097
+ if (inventory) {
33098
+ Object.keys(inventory.slots).forEach(function (i) {
33099
+ var _inventory$slots$inde;
33100
+ var index = parseInt(i);
33101
+ if (((_inventory$slots$inde = inventory.slots[index]) == null ? void 0 : _inventory$slots$inde.key) === (_payload == null ? void 0 : _payload.key)) {
33102
+ itemsFromEquipment.push(inventory.slots[index]);
33103
+ }
33104
+ });
33105
+ }
33106
+ var totalQty = itemsFromEquipment.reduce(function (acc, item) {
33107
+ return acc + ((item == null ? void 0 : item.stackQty) || 1);
33108
+ }, 0);
33109
+ return React.createElement(SingleShortcut, {
33110
+ key: i,
33111
+ onClick: onShortcutCast.bind(null, i),
33112
+ disabled: false
33113
+ }, _payload && React.createElement(SpriteFromAtlas, {
33114
+ atlasIMG: atlasIMG,
33115
+ atlasJSON: atlasJSON,
33116
+ spriteKey: getItemTextureKeyPath({
33117
+ key: _payload.texturePath,
33118
+ texturePath: _payload.texturePath,
33119
+ stackQty: _payload.stackQty || 1
33120
+ }, atlasJSON),
33121
+ width: 32,
33122
+ height: 32
33123
+ }), React.createElement("span", {
33124
+ className: "qty"
33125
+ }, totalQty), React.createElement("span", {
33126
+ className: "keyboard"
33127
+ }, i + 1));
33128
+ }
33129
+ var payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
33130
+ return React.createElement(SingleShortcut, {
33083
33131
  key: i,
33084
- onClick: onSpellCast.bind(null, (_quickSpells$i = quickSpells[i]) == null ? void 0 : _quickSpells$i.key),
33085
- disabled: mana < ((_quickSpells$i2 = quickSpells[i]) == null ? void 0 : _quickSpells$i2.manaCost)
33132
+ onClick: onShortcutCast.bind(null, i),
33133
+ disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0)
33086
33134
  }, React.createElement("span", {
33087
33135
  className: "mana"
33088
- }, ((_quickSpells$i3 = quickSpells[i]) == null ? void 0 : _quickSpells$i3.key) && ((_quickSpells$i4 = quickSpells[i]) == null ? void 0 : _quickSpells$i4.manaCost)), React.createElement("span", {
33136
+ }, payload && payload.manaCost), React.createElement("span", {
33089
33137
  className: "magicWords"
33090
- }, (_quickSpells$i5 = quickSpells[i]) == null ? void 0 : _quickSpells$i5.magicWords.split(' ').map(function (word) {
33138
+ }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
33091
33139
  return word[0];
33092
33140
  })), React.createElement("span", {
33093
33141
  className: "keyboard"
33094
33142
  }, i + 1));
33095
33143
  }));
33096
33144
  };
33097
- var SpellShortcut = /*#__PURE__*/styled.button.withConfig({
33098
- displayName: "QuickSpells__SpellShortcut",
33099
- componentId: "sc-41yq7s-0"
33100
- })(["width:3rem;height:3rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;position:relative;span{pointer-events:none;}.mana{position:absolute;top:-5px;right:0;font-size:0.65rem;color:", ";}.magicWords{margin-top:4px;}.keyboard{position:absolute;bottom:-5px;left:0;font-size:0.65rem;color:", ";}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.darkGray, uiColors.gray);
33101
33145
  var List = /*#__PURE__*/styled.p.withConfig({
33102
- displayName: "QuickSpells__List",
33103
- componentId: "sc-41yq7s-1"
33146
+ displayName: "Shortcuts__List",
33147
+ componentId: "sc-kgtsi7-0"
33104
33148
  })(["width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;box-sizing:border-box;margin:0 !important;"]);
33105
33149
 
33106
33150
  var CircularController = function CircularController(_ref) {
33107
33151
  var onActionClick = _ref.onActionClick,
33108
33152
  onCancelClick = _ref.onCancelClick,
33109
- onSpellClick = _ref.onSpellClick,
33153
+ onShortcutClick = _ref.onShortcutClick,
33110
33154
  mana = _ref.mana,
33111
- spells = _ref.spells;
33155
+ shortcuts = _ref.shortcuts,
33156
+ inventory = _ref.inventory,
33157
+ atlasIMG = _ref.atlasIMG,
33158
+ atlasJSON = _ref.atlasJSON;
33112
33159
  var onTouchStart = function onTouchStart(e) {
33113
33160
  var target = e.target;
33114
33161
  target == null ? void 0 : target.classList.add('active');
@@ -33120,25 +33167,70 @@ var CircularController = function CircularController(_ref) {
33120
33167
  }, 100);
33121
33168
  action();
33122
33169
  };
33123
- return React.createElement(ButtonsContainer, null, React.createElement(SpellsContainer, null, Array.from({
33124
- length: 4
33125
- }).map(function (_, i) {
33126
- var variant = i === 0 ? 'top' : i === 3 ? 'bottom' : '';
33127
- var spell = spells[i];
33128
- var onSpellClickBinded = spell ? onSpellClick.bind(null, spell.key) : function () {};
33170
+ var renderShortcut = function renderShortcut(i) {
33171
+ var _shortcuts$i, _shortcuts$i2, _shortcuts$i4, _payload$manaCost;
33172
+ var variant = '';
33173
+ if (i === 0) variant = 'top';else if (i >= 3) variant = "bottom-" + (i - 3);
33174
+ var onShortcutClickBinded = ((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) !== ShortcutType.None ? onShortcutClick.bind(null, i) : function () {};
33175
+ if (((_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.type) === ShortcutType.Item) {
33176
+ var _shortcuts$i3;
33177
+ var _payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
33178
+ var itemsFromEquipment = [];
33179
+ if (inventory) {
33180
+ Object.keys(inventory.slots).forEach(function (i) {
33181
+ var _inventory$slots$inde;
33182
+ var index = parseInt(i);
33183
+ if (((_inventory$slots$inde = inventory.slots[index]) == null ? void 0 : _inventory$slots$inde.key) === (_payload == null ? void 0 : _payload.key)) {
33184
+ itemsFromEquipment.push(inventory.slots[index]);
33185
+ }
33186
+ });
33187
+ }
33188
+ var totalQty = itemsFromEquipment.reduce(function (acc, item) {
33189
+ return acc + ((item == null ? void 0 : item.stackQty) || 1);
33190
+ }, 0);
33191
+ return React.createElement(StyledShortcut, {
33192
+ key: i,
33193
+ onTouchStart: onTouchStart,
33194
+ onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
33195
+ disabled: false,
33196
+ className: variant
33197
+ }, _payload && React.createElement(SpriteFromAtlas, {
33198
+ atlasIMG: atlasIMG,
33199
+ atlasJSON: atlasJSON,
33200
+ spriteKey: getItemTextureKeyPath({
33201
+ key: _payload.texturePath,
33202
+ texturePath: _payload.texturePath,
33203
+ stackQty: _payload.stackQty || 1
33204
+ }, atlasJSON),
33205
+ width: 32,
33206
+ height: 32,
33207
+ imgScale: 1.4,
33208
+ imgStyle: {
33209
+ left: '4px'
33210
+ }
33211
+ }), React.createElement("span", {
33212
+ className: "qty"
33213
+ }, totalQty));
33214
+ }
33215
+ var payload = (_shortcuts$i4 = shortcuts[i]) == null ? void 0 : _shortcuts$i4.payload;
33129
33216
  return React.createElement(StyledShortcut, {
33130
33217
  key: i,
33131
- disabled: mana < (spell == null ? void 0 : spell.manaCost),
33132
33218
  onTouchStart: onTouchStart,
33133
- onTouchEnd: onTouchEnd.bind(null, onSpellClickBinded),
33219
+ onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
33220
+ disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0),
33134
33221
  className: variant
33135
33222
  }, React.createElement("span", {
33136
33223
  className: "mana"
33137
- }, (spell == null ? void 0 : spell.key) && (spell == null ? void 0 : spell.manaCost)), React.createElement("span", {
33224
+ }, payload && payload.manaCost), React.createElement("span", {
33138
33225
  className: "magicWords"
33139
- }, spell == null ? void 0 : spell.magicWords.split(' ').map(function (word) {
33226
+ }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
33140
33227
  return word[0];
33141
33228
  })));
33229
+ };
33230
+ return React.createElement(ButtonsContainer, null, React.createElement(ShortcutsContainer, null, Array.from({
33231
+ length: 6
33232
+ }).map(function (_, i) {
33233
+ return renderShortcut(i);
33142
33234
  })), React.createElement(Button$2, {
33143
33235
  onTouchStart: onTouchStart,
33144
33236
  onTouchEnd: onTouchEnd.bind(null, onActionClick)
@@ -33152,7 +33244,7 @@ var CircularController = function CircularController(_ref) {
33152
33244
  var Button$2 = /*#__PURE__*/styled.button.withConfig({
33153
33245
  displayName: "CircularController__Button",
33154
33246
  componentId: "sc-1fewf3h-0"
33155
- })(["width:4.3rem;height:4.3rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color 0.1s;&.active{background-color:", ";}.sword{transform:rotate(-45deg);height:2.5rem;width:1.9rem;pointer-events:none;}"], uiColors.lightGray, uiColors.darkGray, uiColors.gray);
33247
+ })(["width:4.3rem;height:4.3rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color 0.1s;margin-top:-3rem;&.active{background-color:", ";}.sword{transform:rotate(-45deg);height:2.5rem;width:1.9rem;pointer-events:none;}"], uiColors.lightGray, uiColors.darkGray, uiColors.gray);
33156
33248
  var CancelButton = /*#__PURE__*/styled(Button$2).withConfig({
33157
33249
  displayName: "CircularController__CancelButton",
33158
33250
  componentId: "sc-1fewf3h-1"
@@ -33161,14 +33253,14 @@ var ButtonsContainer = /*#__PURE__*/styled.div.withConfig({
33161
33253
  displayName: "CircularController__ButtonsContainer",
33162
33254
  componentId: "sc-1fewf3h-2"
33163
33255
  })(["display:flex;align-items:center;justify-content:center;gap:0.5rem;"]);
33164
- var SpellsContainer = /*#__PURE__*/styled.div.withConfig({
33165
- displayName: "CircularController__SpellsContainer",
33256
+ var ShortcutsContainer = /*#__PURE__*/styled.div.withConfig({
33257
+ displayName: "CircularController__ShortcutsContainer",
33166
33258
  componentId: "sc-1fewf3h-3"
33167
- })(["display:flex;align-items:center;justify-content:center;gap:0.4rem;flex-direction:column;.top{transform:translate(93%,25%);}.bottom{transform:translate(93%,-25%);}"]);
33168
- var StyledShortcut = /*#__PURE__*/styled(SpellShortcut).withConfig({
33259
+ })(["display:flex;align-items:center;justify-content:center;gap:0.5rem;flex-direction:column;margin-top:3rem;.top{transform:translate(93%,25%);}.bottom-0{transform:translate(93%,-25%);}.bottom-1{transform:translate(-120%,calc(-5.5rem));}.bottom-2{transform:translate(-30%,calc(-5.5rem - 25%));}"]);
33260
+ var StyledShortcut = /*#__PURE__*/styled(SingleShortcut).withConfig({
33169
33261
  displayName: "CircularController__StyledShortcut",
33170
33262
  componentId: "sc-1fewf3h-4"
33171
- })(["width:2.5rem;height:2.5rem;transition:background-color 0.1s;.mana{font-size:0.5rem;}&:hover,&:focus,&:active{background-color:", ";}&.active{background-color:", ";}"], uiColors.lightGray, uiColors.gray);
33263
+ })(["width:2.5rem;height:2.5rem;transition:background-color 0.1s;.mana,.qty{font-size:0.5rem;}&:hover,&:focus,&:active{background-color:", ";}&.active{background-color:", ";}"], uiColors.lightGray, uiColors.gray);
33172
33264
 
33173
33265
  function useOutsideClick(ref, id) {
33174
33266
  useEffect(function () {
@@ -33757,7 +33849,8 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33757
33849
  checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
33758
33850
  openQuantitySelector = _ref.openQuantitySelector,
33759
33851
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
33760
- dragScale = _ref.dragScale;
33852
+ dragScale = _ref.dragScale,
33853
+ isSelectingShortcut = _ref.isSelectingShortcut;
33761
33854
  var _useState = useState(false),
33762
33855
  isTooltipVisible = _useState[0],
33763
33856
  setTooltipVisible = _useState[1];
@@ -33790,6 +33883,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33790
33883
  });
33791
33884
  setIsFocused(false);
33792
33885
  if (item) {
33886
+ console.log(item);
33793
33887
  setContextActions(generateContextMenu(item, containerType));
33794
33888
  }
33795
33889
  }, [item]);
@@ -33890,14 +33984,16 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33890
33984
  var resetItem = function resetItem() {
33891
33985
  setTooltipVisible(false);
33892
33986
  setWasDragged(false);
33893
- setIsFocused(false);
33894
33987
  };
33895
33988
  var onSuccesfulDrag = function onSuccesfulDrag(quantity) {
33896
33989
  resetItem();
33897
- if (quantity === -1) setDragPosition({
33898
- x: 0,
33899
- y: 0
33900
- });else if (item) {
33990
+ if (quantity === -1) {
33991
+ setDragPosition({
33992
+ x: 0,
33993
+ y: 0
33994
+ });
33995
+ setIsFocused(false);
33996
+ } else if (item) {
33901
33997
  onDragEnd(quantity);
33902
33998
  }
33903
33999
  };
@@ -33919,12 +34015,14 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33919
34015
  bubbles: true
33920
34016
  });
33921
34017
  (_document$elementFrom = document.elementFromPoint(clientX, clientY)) == null ? void 0 : _document$elementFrom.dispatchEvent(simulatedEvent);
33922
- }
34018
+ },
34019
+ isSelectingShortcut: isSelectingShortcut && ((item == null ? void 0 : item.type) === ItemType.Consumable || (item == null ? void 0 : item.type) === ItemType.Tool)
33923
34020
  }, React.createElement(Draggable, {
34021
+ axis: isSelectingShortcut ? 'none' : 'both',
33924
34022
  defaultClassName: item ? 'draggable' : 'empty-slot',
33925
34023
  scale: dragScale,
33926
34024
  onStop: function onStop(e, data) {
33927
- if (wasDragged && item) {
34025
+ if (wasDragged && item && !isSelectingShortcut) {
33928
34026
  var _e$target;
33929
34027
  //@ts-ignore
33930
34028
  var classes = Array.from((_e$target = e.target) == null ? void 0 : _e$target.classList);
@@ -33954,6 +34052,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33954
34052
  if (item.stackQty && item.stackQty !== 1 && openQuantitySelector) openQuantitySelector(item.stackQty, onSuccesfulDrag);else onSuccesfulDrag(item.stackQty);
33955
34053
  } else {
33956
34054
  resetItem();
34055
+ setIsFocused(false);
33957
34056
  setDragPosition({
33958
34057
  x: 0,
33959
34058
  y: 0
@@ -33961,12 +34060,12 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
33961
34060
  }
33962
34061
  }, 100);
33963
34062
  } else if (item) {
33964
- if (!isContextMenuDisabled) setIsContextMenuVisible(!isContextMenuVisible);
34063
+ if (!isContextMenuDisabled && !isSelectingShortcut) setIsContextMenuVisible(!isContextMenuVisible);
33965
34064
  onClick(item.type, containerType, item);
33966
34065
  }
33967
34066
  },
33968
34067
  onStart: function onStart() {
33969
- if (!item) {
34068
+ if (!item || isSelectingShortcut) {
33970
34069
  return;
33971
34070
  }
33972
34071
  if (onDragStart) {
@@ -34028,7 +34127,7 @@ var rarityColor = function rarityColor(item) {
34028
34127
  var Container$a = /*#__PURE__*/styled.div.withConfig({
34029
34128
  displayName: "ItemSlot__Container",
34030
34129
  componentId: "sc-l2j5ef-0"
34031
- })(["margin:0.1rem;.sprite-from-atlas-img{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}position:relative;"], function (_ref2) {
34130
+ })(["margin:0.1rem;.sprite-from-atlas-img{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}position:relative;&::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-radius:12px;pointer-events:none;animation:", ";@keyframes bg-color-change{0%{background-color:rgba(255 255 255 / 0.5);}50%{background-color:transparent;}100%{background-color:rgba(255 255 255 / 0.5);}}}"], function (_ref2) {
34032
34131
  var item = _ref2.item;
34033
34132
  return rarityColor(item);
34034
34133
  }, function (_ref3) {
@@ -34037,6 +34136,9 @@ var Container$a = /*#__PURE__*/styled.div.withConfig({
34037
34136
  }, function (_ref4) {
34038
34137
  var item = _ref4.item;
34039
34138
  return "0 0 4px 3px " + rarityColor(item);
34139
+ }, function (_ref5) {
34140
+ var isSelectingShortcut = _ref5.isSelectingShortcut;
34141
+ return isSelectingShortcut ? 'bg-color-change 1s infinite' : 'none';
34040
34142
  });
34041
34143
  var ItemContainer = /*#__PURE__*/styled.div.withConfig({
34042
34144
  displayName: "ItemSlot__ItemContainer",
@@ -34147,733 +34249,259 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34147
34249
  componentId: "sc-1wuddg2-1"
34148
34250
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34149
34251
 
34150
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
34151
-
34152
- var chunkString = function chunkString(str, length) {
34153
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
34154
- };
34155
-
34156
- var DynamicText = function DynamicText(_ref) {
34157
- var text = _ref.text,
34158
- onFinish = _ref.onFinish,
34159
- onStart = _ref.onStart;
34160
- var _useState = useState(''),
34161
- textState = _useState[0],
34162
- setTextState = _useState[1];
34163
- useEffect(function () {
34164
- var i = 0;
34165
- var interval = setInterval(function () {
34166
- // on every interval, show one more character
34167
- if (i === 0) {
34168
- if (onStart) {
34169
- onStart();
34170
- }
34252
+ var SlotsContainer = function SlotsContainer(_ref) {
34253
+ var children = _ref.children,
34254
+ title = _ref.title,
34255
+ onClose = _ref.onClose,
34256
+ _onPositionChange = _ref.onPositionChange,
34257
+ onOutsideClick = _ref.onOutsideClick,
34258
+ initialPosition = _ref.initialPosition;
34259
+ return React.createElement(DraggableContainer, {
34260
+ title: title,
34261
+ type: RPGUIContainerTypes.Framed,
34262
+ onCloseButton: function onCloseButton() {
34263
+ if (onClose) {
34264
+ onClose();
34171
34265
  }
34172
- if (i < text.length) {
34173
- setTextState(text.substring(0, i + 1));
34174
- i++;
34175
- } else {
34176
- clearInterval(interval);
34177
- if (onFinish) {
34178
- onFinish();
34179
- }
34266
+ },
34267
+ width: "400px",
34268
+ cancelDrag: ".item-container-body, #shortcuts_list",
34269
+ onPositionChange: function onPositionChange(_ref2) {
34270
+ var x = _ref2.x,
34271
+ y = _ref2.y;
34272
+ if (_onPositionChange) {
34273
+ _onPositionChange({
34274
+ x: x,
34275
+ y: y
34276
+ });
34180
34277
  }
34181
- }, 50);
34182
- return function () {
34183
- clearInterval(interval);
34184
- };
34185
- }, [text]);
34186
- return React.createElement(TextContainer, null, textState);
34278
+ },
34279
+ onOutsideClick: onOutsideClick,
34280
+ initialPosition: initialPosition
34281
+ }, children);
34187
34282
  };
34188
- var TextContainer = /*#__PURE__*/styled.p.withConfig({
34189
- displayName: "DynamicText__TextContainer",
34190
- componentId: "sc-1ggl9nd-0"
34191
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34192
34283
 
34193
- var img$6 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
34194
-
34195
- var img$7 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
34196
-
34197
- var NPCDialogText = function NPCDialogText(_ref) {
34198
- var text = _ref.text,
34199
- onClose = _ref.onClose,
34200
- onEndStep = _ref.onEndStep,
34201
- onStartStep = _ref.onStartStep,
34202
- type = _ref.type;
34203
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
34204
- function maxCharacters(width) {
34205
- // Set the font size to 16 pixels
34206
- var fontSize = 11.2;
34207
- // Calculate the number of characters that can fit in one line
34208
- var charactersPerLine = Math.floor(width / 2 / fontSize);
34209
- // Calculate the number of lines that can fit in the div
34210
- var linesPerDiv = Math.floor(180 / fontSize);
34211
- // Calculate the maximum number of characters that can fit in the div
34212
- var maxCharacters = charactersPerLine * linesPerDiv;
34213
- // Return the maximum number of characters
34214
- return Math.round(maxCharacters / 5);
34215
- }
34216
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
34284
+ var RangeSliderType;
34285
+ (function (RangeSliderType) {
34286
+ RangeSliderType["Slider"] = "rpgui-slider";
34287
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
34288
+ })(RangeSliderType || (RangeSliderType = {}));
34289
+ var RangeSlider = function RangeSlider(_ref) {
34290
+ var type = _ref.type,
34291
+ valueMin = _ref.valueMin,
34292
+ valueMax = _ref.valueMax,
34293
+ width = _ref.width,
34294
+ _onChange = _ref.onChange,
34295
+ value = _ref.value;
34296
+ var sliderId = v4();
34297
+ var containerRef = useRef(null);
34217
34298
  var _useState = useState(0),
34218
- chunkIndex = _useState[0],
34219
- setChunkIndex = _useState[1];
34220
- var onHandleSpacePress = function onHandleSpacePress(event) {
34221
- if (event.code === 'Space') {
34222
- goToNextStep();
34223
- }
34224
- };
34225
- var goToNextStep = function goToNextStep() {
34226
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
34227
- if (hasNextChunk) {
34228
- setChunkIndex(function (prev) {
34229
- return prev + 1;
34230
- });
34231
- } else {
34232
- // if there's no more text chunks, close the dialog
34233
- onClose();
34234
- }
34235
- };
34299
+ left = _useState[0],
34300
+ setLeft = _useState[1];
34236
34301
  useEffect(function () {
34237
- document.addEventListener('keydown', onHandleSpacePress);
34238
- return function () {
34239
- return document.removeEventListener('keydown', onHandleSpacePress);
34240
- };
34241
- }, [chunkIndex]);
34242
- var _useState2 = useState(false),
34243
- showGoNextIndicator = _useState2[0],
34244
- setShowGoNextIndicator = _useState2[1];
34245
- return React.createElement(Container$b, null, React.createElement(DynamicText, {
34246
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
34247
- onFinish: function onFinish() {
34248
- setShowGoNextIndicator(true);
34249
- onEndStep && onEndStep();
34302
+ var _containerRef$current;
34303
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
34304
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
34305
+ }, [value, valueMin, valueMax]);
34306
+ var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
34307
+ return React.createElement("div", {
34308
+ style: {
34309
+ width: width,
34310
+ position: 'relative'
34250
34311
  },
34251
- onStart: function onStart() {
34252
- setShowGoNextIndicator(false);
34253
- onStartStep && onStartStep();
34312
+ className: "rpgui-slider-container " + typeClass,
34313
+ id: "rpgui-slider-" + sliderId,
34314
+ ref: containerRef
34315
+ }, React.createElement("div", {
34316
+ style: {
34317
+ pointerEvents: 'none'
34254
34318
  }
34255
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34256
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
34257
- src: IS_MOBILE_OR_TABLET ? img$6 : img$7,
34258
- onClick: function onClick() {
34259
- goToNextStep();
34319
+ }, React.createElement("div", {
34320
+ className: "rpgui-slider-track " + typeClass
34321
+ }), React.createElement("div", {
34322
+ className: "rpgui-slider-left-edge " + typeClass
34323
+ }), React.createElement("div", {
34324
+ className: "rpgui-slider-right-edge " + typeClass
34325
+ }), React.createElement("div", {
34326
+ className: "rpgui-slider-thumb " + typeClass,
34327
+ style: {
34328
+ left: left
34260
34329
  }
34330
+ })), React.createElement(Input$1, {
34331
+ type: "range",
34332
+ style: {
34333
+ width: width
34334
+ },
34335
+ min: valueMin,
34336
+ max: valueMax,
34337
+ onChange: function onChange(e) {
34338
+ return _onChange(Number(e.target.value));
34339
+ },
34340
+ value: value,
34341
+ className: "rpgui-cursor-point"
34261
34342
  }));
34262
34343
  };
34263
- var Container$b = /*#__PURE__*/styled.div.withConfig({
34264
- displayName: "NPCDialogText__Container",
34265
- componentId: "sc-1cxkdh9-0"
34266
- })([""]);
34267
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34268
- displayName: "NPCDialogText__PressSpaceIndicator",
34269
- componentId: "sc-1cxkdh9-1"
34270
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
34271
- var right = _ref2.right;
34272
- return right;
34273
- });
34274
-
34275
- //@ts-ignore
34276
- var useEventListener = function useEventListener(type, handler, el) {
34277
- if (el === void 0) {
34278
- el = window;
34279
- }
34280
- var savedHandler = React.useRef();
34281
- React.useEffect(function () {
34282
- savedHandler.current = handler;
34283
- }, [handler]);
34284
- React.useEffect(function () {
34285
- //@ts-ignore
34286
- var listener = function listener(e) {
34287
- return savedHandler.current(e);
34288
- };
34289
- el.addEventListener(type, listener);
34290
- return function () {
34291
- el.removeEventListener(type, listener);
34292
- };
34293
- }, [type, el]);
34294
- };
34344
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
34345
+ displayName: "RangeSlider__Input",
34346
+ componentId: "sc-v8mte9-0"
34347
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
34295
34348
 
34296
- var QuestionDialog = function QuestionDialog(_ref) {
34297
- var questions = _ref.questions,
34298
- answers = _ref.answers,
34349
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
34350
+ var quantity = _ref.quantity,
34351
+ onConfirm = _ref.onConfirm,
34299
34352
  onClose = _ref.onClose;
34300
- var _useState = useState(questions[0]),
34301
- currentQuestion = _useState[0],
34302
- setCurrentQuestion = _useState[1];
34303
- var _useState2 = useState(false),
34304
- canShowAnswers = _useState2[0],
34305
- setCanShowAnswers = _useState2[1];
34306
- var onGetFirstAnswer = function onGetFirstAnswer() {
34307
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34308
- return null;
34309
- }
34310
- var firstAnswerId = currentQuestion.answerIds[0];
34311
- return answers.find(function (answer) {
34312
- return answer.id === firstAnswerId;
34313
- });
34314
- };
34315
- var _useState3 = useState(onGetFirstAnswer()),
34316
- currentAnswer = _useState3[0],
34317
- setCurrentAnswer = _useState3[1];
34353
+ var _useState = useState(quantity),
34354
+ value = _useState[0],
34355
+ setValue = _useState[1];
34356
+ var inputRef = useRef(null);
34318
34357
  useEffect(function () {
34319
- setCurrentAnswer(onGetFirstAnswer());
34320
- }, [currentQuestion]);
34321
- var onGetAnswers = function onGetAnswers(answerIds) {
34322
- return answerIds.map(function (answerId) {
34323
- return answers.find(function (answer) {
34324
- return answer.id === answerId;
34325
- });
34326
- });
34327
- };
34328
- var onKeyPress = function onKeyPress(e) {
34329
- switch (e.key) {
34330
- case 'ArrowDown':
34331
- // select next answer, if any.
34332
- // if no next answer, select first answer
34333
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34334
- // (answer) => answer?.id === currentAnswer!.id + 1
34335
- // );
34336
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34337
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34338
- });
34339
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34340
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34341
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
34342
- });
34343
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34344
- break;
34345
- case 'ArrowUp':
34346
- // select previous answer, if any.
34347
- // if no previous answer, select last answer
34348
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34349
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34350
- });
34351
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34352
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34353
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
34354
- });
34355
- if (previousAnswer) {
34356
- setCurrentAnswer(previousAnswer);
34357
- } else {
34358
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34359
- }
34360
- break;
34361
- case 'Enter':
34362
- setCanShowAnswers(false);
34363
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34358
+ if (inputRef.current) {
34359
+ inputRef.current.focus();
34360
+ inputRef.current.select();
34361
+ var closeSelector = function closeSelector(e) {
34362
+ if (e.key === 'Escape') {
34364
34363
  onClose();
34365
- return;
34366
- } else {
34367
- setCurrentQuestion(questions.find(function (question) {
34368
- return question.id === currentAnswer.nextQuestionId;
34369
- }));
34370
34364
  }
34371
- break;
34372
- }
34373
- };
34374
- useEventListener('keydown', onKeyPress);
34375
- var onAnswerClick = function onAnswerClick(answer) {
34376
- setCanShowAnswers(false);
34377
- if (answer.nextQuestionId) {
34378
- // if there is a next question, go to it
34379
- setCurrentQuestion(questions.find(function (question) {
34380
- return question.id === answer.nextQuestionId;
34381
- }));
34382
- } else {
34383
- // else, finish dialog!
34384
- onClose();
34385
- }
34386
- };
34387
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
34388
- var answerIds = currentQuestion.answerIds;
34389
- if (!answerIds) {
34390
- return null;
34391
- }
34392
- var answers = onGetAnswers(answerIds);
34393
- if (!answers) {
34394
- return null;
34365
+ };
34366
+ document.addEventListener('keydown', closeSelector);
34367
+ return function () {
34368
+ document.removeEventListener('keydown', closeSelector);
34369
+ };
34395
34370
  }
34396
- return answers.map(function (answer) {
34397
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
34398
- var selectedColor = isSelected ? 'yellow' : 'white';
34399
- if (answer) {
34400
- return React.createElement(AnswerRow, {
34401
- key: "answer_" + answer.id
34402
- }, React.createElement(AnswerSelectedIcon, {
34403
- color: selectedColor
34404
- }, isSelected ? 'X' : null), React.createElement(Answer, {
34405
- key: answer.id,
34406
- onClick: function onClick() {
34407
- return onAnswerClick(answer);
34408
- },
34409
- color: selectedColor
34410
- }, answer.text));
34371
+ return function () {};
34372
+ }, []);
34373
+ return React.createElement(StyledContainer, {
34374
+ type: RPGUIContainerTypes.Framed,
34375
+ width: "25rem"
34376
+ }, React.createElement(CloseButton$2, {
34377
+ className: "container-close",
34378
+ onClick: onClose,
34379
+ onTouchStart: onClose
34380
+ }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
34381
+ style: {
34382
+ width: '100%'
34383
+ },
34384
+ onSubmit: function onSubmit(e) {
34385
+ e.preventDefault();
34386
+ var numberValue = Number(value);
34387
+ if (Number.isNaN(numberValue)) {
34388
+ return;
34411
34389
  }
34412
- return null;
34413
- });
34414
- };
34415
- return React.createElement(Container$c, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
34416
- text: currentQuestion.text,
34417
- onStart: function onStart() {
34418
- return setCanShowAnswers(false);
34390
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
34419
34391
  },
34420
- onFinish: function onFinish() {
34421
- return setCanShowAnswers(true);
34392
+ noValidate: true
34393
+ }, React.createElement(StyledInput, {
34394
+ innerRef: inputRef,
34395
+ placeholder: "Enter quantity",
34396
+ type: "number",
34397
+ min: 1,
34398
+ max: quantity,
34399
+ value: value,
34400
+ onChange: function onChange(e) {
34401
+ if (Number(e.target.value) >= quantity) {
34402
+ setValue(quantity);
34403
+ return;
34404
+ }
34405
+ setValue(e.target.value);
34406
+ },
34407
+ onBlur: function onBlur(e) {
34408
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
34409
+ setValue(newValue);
34422
34410
  }
34423
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34411
+ }), React.createElement(RangeSlider, {
34412
+ type: RangeSliderType.Slider,
34413
+ valueMin: 1,
34414
+ valueMax: quantity,
34415
+ width: "100%",
34416
+ onChange: setValue,
34417
+ value: value
34418
+ }), React.createElement(Button, {
34419
+ buttonType: ButtonTypes.RPGUIButton,
34420
+ type: "submit"
34421
+ }, "Confirm")));
34424
34422
  };
34425
- var Container$c = /*#__PURE__*/styled.div.withConfig({
34426
- displayName: "QuestionDialog__Container",
34427
- componentId: "sc-bxc5u0-0"
34428
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
34429
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
34430
- displayName: "QuestionDialog__QuestionContainer",
34431
- componentId: "sc-bxc5u0-1"
34432
- })(["flex:100%;width:100%;"]);
34433
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
34434
- displayName: "QuestionDialog__AnswersContainer",
34435
- componentId: "sc-bxc5u0-2"
34436
- })(["flex:100%;"]);
34437
- var Answer = /*#__PURE__*/styled.p.withConfig({
34438
- displayName: "QuestionDialog__Answer",
34439
- componentId: "sc-bxc5u0-3"
34440
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
34441
- return props.color;
34442
- });
34443
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
34444
- displayName: "QuestionDialog__AnswerSelectedIcon",
34445
- componentId: "sc-bxc5u0-4"
34446
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
34447
- return props.color;
34448
- });
34449
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
34450
- displayName: "QuestionDialog__AnswerRow",
34451
- componentId: "sc-bxc5u0-5"
34452
- })(["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;}"]);
34423
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
34424
+ displayName: "ItemQuantitySelector__StyledContainer",
34425
+ componentId: "sc-yfdtpn-0"
34426
+ })(["display:flex;flex-direction:column;align-items:center;"]);
34427
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
34428
+ displayName: "ItemQuantitySelector__StyledForm",
34429
+ componentId: "sc-yfdtpn-1"
34430
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
34431
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
34432
+ displayName: "ItemQuantitySelector__StyledInput",
34433
+ componentId: "sc-yfdtpn-2"
34434
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
34435
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
34436
+ displayName: "ItemQuantitySelector__CloseButton",
34437
+ componentId: "sc-yfdtpn-3"
34438
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
34453
34439
 
34454
- var img$8 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34455
-
34456
- var NPCDialogType;
34457
- (function (NPCDialogType) {
34458
- NPCDialogType["TextOnly"] = "TextOnly";
34459
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
34460
- })(NPCDialogType || (NPCDialogType = {}));
34461
- var NPCDialog = function NPCDialog(_ref) {
34462
- var text = _ref.text,
34463
- type = _ref.type,
34464
- _onClose = _ref.onClose,
34465
- imagePath = _ref.imagePath,
34466
- _ref$isQuestionDialog = _ref.isQuestionDialog,
34467
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
34468
- questions = _ref.questions,
34469
- answers = _ref.answers;
34470
- return React.createElement(RPGUIContainer, {
34471
- type: RPGUIContainerTypes.FramedGold,
34472
- width: isQuestionDialog ? '600px' : '80%',
34473
- height: '180px'
34474
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
34475
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34476
- }, React.createElement(QuestionDialog, {
34477
- questions: questions,
34478
- answers: answers,
34479
- onClose: function onClose() {
34480
- if (_onClose) {
34481
- _onClose();
34482
- }
34483
- }
34484
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34485
- src: imagePath || img$8
34486
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$d, null, React.createElement(TextContainer$1, {
34487
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34488
- }, React.createElement(NPCDialogText, {
34489
- type: type,
34490
- text: text || 'No text provided.',
34491
- onClose: function onClose() {
34492
- if (_onClose) {
34493
- _onClose();
34494
- }
34495
- }
34496
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34497
- src: imagePath || img$8
34498
- })))));
34499
- };
34500
- var Container$d = /*#__PURE__*/styled.div.withConfig({
34501
- displayName: "NPCDialog__Container",
34502
- componentId: "sc-1b4aw74-0"
34503
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34504
- var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
34505
- displayName: "NPCDialog__TextContainer",
34506
- componentId: "sc-1b4aw74-1"
34507
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34508
- var flex = _ref2.flex;
34509
- return flex;
34510
- });
34511
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34512
- displayName: "NPCDialog__ThumbnailContainer",
34513
- componentId: "sc-1b4aw74-2"
34514
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34515
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34516
- displayName: "NPCDialog__NPCThumbnail",
34517
- componentId: "sc-1b4aw74-3"
34518
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34519
-
34520
- var ImgSide;
34521
- (function (ImgSide) {
34522
- ImgSide["right"] = "right";
34523
- ImgSide["left"] = "left";
34524
- })(ImgSide || (ImgSide = {}));
34525
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
34526
- var _textAndTypeArray$sli;
34527
- var _onClose = _ref.onClose,
34528
- textAndTypeArray = _ref.textAndTypeArray;
34529
- var _useState = useState(false),
34530
- showGoNextIndicator = _useState[0],
34531
- setShowGoNextIndicator = _useState[1];
34532
- var _useState2 = useState(0),
34533
- slide = _useState2[0],
34534
- setSlide = _useState2[1];
34535
- var onHandleSpacePress = function onHandleSpacePress(event) {
34536
- if (event.code === 'Space') {
34537
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34538
- setSlide(function (prev) {
34539
- return prev + 1;
34540
- });
34541
- } else {
34542
- // if there's no more text chunks, close the dialog
34543
- _onClose();
34544
- }
34545
- }
34546
- };
34547
- useEffect(function () {
34548
- document.addEventListener('keydown', onHandleSpacePress);
34549
- return function () {
34550
- return document.removeEventListener('keydown', onHandleSpacePress);
34551
- };
34552
- }, [slide]);
34553
- return React.createElement(RPGUIContainer, {
34554
- type: RPGUIContainerTypes.FramedGold,
34555
- width: '50%',
34556
- height: '180px'
34557
- }, React.createElement(React.Fragment, null, React.createElement(Container$e, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
34558
- flex: '70%'
34559
- }, React.createElement(NPCDialogText, {
34560
- onStartStep: function onStartStep() {
34561
- return setShowGoNextIndicator(false);
34562
- },
34563
- onEndStep: function onEndStep() {
34564
- return setShowGoNextIndicator(true);
34565
- },
34566
- text: textAndTypeArray[slide].text || 'No text provided.',
34567
- onClose: function onClose() {
34568
- if (_onClose) {
34569
- _onClose();
34570
- }
34571
- }
34572
- })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34573
- src: textAndTypeArray[slide].imagePath || img$8
34574
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34575
- right: '10.5rem',
34576
- src: img$7
34577
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
34578
- src: textAndTypeArray[slide].imagePath || img$8
34579
- })), React.createElement(TextContainer$2, {
34580
- flex: '70%'
34581
- }, React.createElement(NPCDialogText, {
34582
- onStartStep: function onStartStep() {
34583
- return setShowGoNextIndicator(false);
34584
- },
34585
- onEndStep: function onEndStep() {
34586
- return setShowGoNextIndicator(true);
34587
- },
34588
- text: textAndTypeArray[slide].text || 'No text provided.',
34589
- onClose: function onClose() {
34590
- if (_onClose) {
34591
- _onClose();
34592
- }
34593
- }
34594
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
34595
- right: '1rem',
34596
- src: img$7
34597
- }))), ")"));
34598
- };
34599
- var Container$e = /*#__PURE__*/styled.div.withConfig({
34600
- displayName: "NPCMultiDialog__Container",
34601
- componentId: "sc-rvu5wg-0"
34602
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34603
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
34604
- displayName: "NPCMultiDialog__TextContainer",
34605
- componentId: "sc-rvu5wg-1"
34606
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34607
- var flex = _ref2.flex;
34608
- return flex;
34609
- });
34610
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
34611
- displayName: "NPCMultiDialog__ThumbnailContainer",
34612
- componentId: "sc-rvu5wg-2"
34613
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34614
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
34615
- displayName: "NPCMultiDialog__NPCThumbnail",
34616
- componentId: "sc-rvu5wg-3"
34617
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34618
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
34619
- displayName: "NPCMultiDialog__PressSpaceIndicator",
34620
- componentId: "sc-rvu5wg-4"
34621
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34622
- var right = _ref3.right;
34623
- return right;
34624
- });
34625
-
34626
- var HistoryDialog = function HistoryDialog(_ref) {
34627
- var backgroundImgPath = _ref.backgroundImgPath,
34628
- fullCoverBackground = _ref.fullCoverBackground,
34629
- questions = _ref.questions,
34630
- answers = _ref.answers,
34631
- text = _ref.text,
34632
- imagePath = _ref.imagePath,
34633
- textAndTypeArray = _ref.textAndTypeArray,
34634
- onClose = _ref.onClose;
34635
- var _useState = useState(0),
34636
- img = _useState[0],
34637
- setImage = _useState[1];
34638
- var onHandleSpacePress = function onHandleSpacePress(event) {
34639
- if (event.code === 'Space') {
34640
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
34641
- setImage(function (prev) {
34642
- return prev + 1;
34643
- });
34644
- } else {
34645
- // if there's no more text chunks, close the dialog
34646
- onClose();
34647
- }
34648
- }
34649
- };
34650
- useEffect(function () {
34651
- document.addEventListener('keydown', onHandleSpacePress);
34652
- return function () {
34653
- return document.removeEventListener('keydown', onHandleSpacePress);
34654
- };
34655
- }, [backgroundImgPath]);
34656
- return React.createElement(BackgroundContainer, {
34657
- imgPath: backgroundImgPath[img],
34658
- fullImg: fullCoverBackground
34659
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
34660
- textAndTypeArray: textAndTypeArray,
34661
- onClose: onClose
34662
- }) : questions && answers ? React.createElement(QuestionDialog, {
34663
- questions: questions,
34664
- answers: answers,
34665
- onClose: onClose
34666
- }) : text && imagePath ? React.createElement(NPCDialog, {
34667
- text: text,
34668
- imagePath: imagePath,
34669
- onClose: onClose,
34670
- type: NPCDialogType.TextAndThumbnail
34671
- }) : React.createElement(NPCDialog, {
34672
- text: text,
34673
- onClose: onClose,
34674
- type: NPCDialogType.TextOnly
34675
- })));
34676
- };
34677
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
34678
- displayName: "HistoryDialog__BackgroundContainer",
34679
- componentId: "sc-u6oe75-0"
34680
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
34681
- return props.imgPath;
34682
- }, function (props) {
34683
- return props.imgPath ? 'cover' : 'auto';
34684
- });
34685
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
34686
- displayName: "HistoryDialog__DialogContainer",
34687
- componentId: "sc-u6oe75-1"
34688
- })(["display:flex;justify-content:center;padding-top:200px;"]);
34689
-
34690
- var SlotsContainer = function SlotsContainer(_ref) {
34691
- var children = _ref.children,
34692
- title = _ref.title,
34693
- onClose = _ref.onClose,
34694
- _onPositionChange = _ref.onPositionChange,
34695
- onOutsideClick = _ref.onOutsideClick,
34696
- initialPosition = _ref.initialPosition;
34697
- return React.createElement(DraggableContainer, {
34698
- title: title,
34699
- type: RPGUIContainerTypes.Framed,
34700
- onCloseButton: function onCloseButton() {
34701
- if (onClose) {
34702
- onClose();
34703
- }
34704
- },
34705
- width: "330px",
34706
- cancelDrag: ".item-container-body",
34707
- onPositionChange: function onPositionChange(_ref2) {
34708
- var x = _ref2.x,
34709
- y = _ref2.y;
34710
- if (_onPositionChange) {
34711
- _onPositionChange({
34712
- x: x,
34713
- y: y
34714
- });
34715
- }
34716
- },
34717
- onOutsideClick: onOutsideClick,
34718
- initialPosition: initialPosition
34719
- }, children);
34720
- };
34721
-
34722
- var RangeSliderType;
34723
- (function (RangeSliderType) {
34724
- RangeSliderType["Slider"] = "rpgui-slider";
34725
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
34726
- })(RangeSliderType || (RangeSliderType = {}));
34727
- var RangeSlider = function RangeSlider(_ref) {
34728
- var type = _ref.type,
34729
- valueMin = _ref.valueMin,
34730
- valueMax = _ref.valueMax,
34731
- width = _ref.width,
34732
- _onChange = _ref.onChange,
34733
- value = _ref.value;
34734
- var sliderId = v4();
34735
- var containerRef = useRef(null);
34736
- var _useState = useState(0),
34737
- left = _useState[0],
34738
- setLeft = _useState[1];
34739
- useEffect(function () {
34740
- var _containerRef$current;
34741
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
34742
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
34743
- }, [value, valueMin, valueMax]);
34744
- var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
34745
- return React.createElement("div", {
34746
- style: {
34747
- width: width,
34748
- position: 'relative'
34749
- },
34750
- className: "rpgui-slider-container " + typeClass,
34751
- id: "rpgui-slider-" + sliderId,
34752
- ref: containerRef
34753
- }, React.createElement("div", {
34754
- style: {
34755
- pointerEvents: 'none'
34756
- }
34757
- }, React.createElement("div", {
34758
- className: "rpgui-slider-track " + typeClass
34759
- }), React.createElement("div", {
34760
- className: "rpgui-slider-left-edge " + typeClass
34761
- }), React.createElement("div", {
34762
- className: "rpgui-slider-right-edge " + typeClass
34763
- }), React.createElement("div", {
34764
- className: "rpgui-slider-thumb " + typeClass,
34765
- style: {
34766
- left: left
34767
- }
34768
- })), React.createElement(Input$1, {
34769
- type: "range",
34770
- style: {
34771
- width: width
34772
- },
34773
- min: valueMin,
34774
- max: valueMax,
34775
- onChange: function onChange(e) {
34776
- return _onChange(Number(e.target.value));
34777
- },
34778
- value: value,
34779
- className: "rpgui-cursor-point"
34780
- }));
34781
- };
34782
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
34783
- displayName: "RangeSlider__Input",
34784
- componentId: "sc-v8mte9-0"
34785
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
34786
-
34787
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
34788
- var quantity = _ref.quantity,
34789
- onConfirm = _ref.onConfirm,
34790
- onClose = _ref.onClose;
34791
- var _useState = useState(quantity),
34792
- value = _useState[0],
34793
- setValue = _useState[1];
34794
- var inputRef = useRef(null);
34795
- useEffect(function () {
34796
- if (inputRef.current) {
34797
- inputRef.current.focus();
34798
- inputRef.current.select();
34799
- var closeSelector = function closeSelector(e) {
34800
- if (e.key === 'Escape') {
34801
- onClose();
34802
- }
34803
- };
34804
- document.addEventListener('keydown', closeSelector);
34805
- return function () {
34806
- document.removeEventListener('keydown', closeSelector);
34807
- };
34808
- }
34809
- return function () {};
34810
- }, []);
34811
- return React.createElement(StyledContainer, {
34812
- type: RPGUIContainerTypes.Framed,
34813
- width: "25rem"
34814
- }, React.createElement(CloseButton$2, {
34815
- className: "container-close",
34816
- onClick: onClose,
34817
- onTouchStart: onClose
34818
- }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
34819
- style: {
34820
- width: '100%'
34821
- },
34822
- onSubmit: function onSubmit(e) {
34823
- e.preventDefault();
34824
- var numberValue = Number(value);
34825
- if (Number.isNaN(numberValue)) {
34826
- return;
34827
- }
34828
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
34829
- },
34830
- noValidate: true
34831
- }, React.createElement(StyledInput, {
34832
- innerRef: inputRef,
34833
- placeholder: "Enter quantity",
34834
- type: "number",
34835
- min: 1,
34836
- max: quantity,
34837
- value: value,
34838
- onChange: function onChange(e) {
34839
- if (Number(e.target.value) >= quantity) {
34840
- setValue(quantity);
34841
- return;
34842
- }
34843
- setValue(e.target.value);
34844
- },
34845
- onBlur: function onBlur(e) {
34846
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
34847
- setValue(newValue);
34848
- }
34849
- }), React.createElement(RangeSlider, {
34850
- type: RangeSliderType.Slider,
34851
- valueMin: 1,
34852
- valueMax: quantity,
34853
- width: "100%",
34854
- onChange: setValue,
34855
- value: value
34856
- }), React.createElement(Button, {
34857
- buttonType: ButtonTypes.RPGUIButton,
34858
- type: "submit"
34859
- }, "Confirm")));
34860
- };
34861
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
34862
- displayName: "ItemQuantitySelector__StyledContainer",
34863
- componentId: "sc-yfdtpn-0"
34864
- })(["display:flex;flex-direction:column;align-items:center;"]);
34865
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
34866
- displayName: "ItemQuantitySelector__StyledForm",
34867
- componentId: "sc-yfdtpn-1"
34868
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
34869
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
34870
- displayName: "ItemQuantitySelector__StyledInput",
34871
- componentId: "sc-yfdtpn-2"
34872
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
34873
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
34874
- displayName: "ItemQuantitySelector__CloseButton",
34875
- componentId: "sc-yfdtpn-3"
34876
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
34440
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34441
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
34442
+ settingShortcutIndex = _ref.settingShortcutIndex,
34443
+ shortcuts = _ref.shortcuts,
34444
+ removeShortcut = _ref.removeShortcut,
34445
+ atlasJSON = _ref.atlasJSON,
34446
+ atlasIMG = _ref.atlasIMG;
34447
+ var getContent = function getContent(index) {
34448
+ var _shortcuts$index, _shortcuts$index3;
34449
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
34450
+ var _shortcuts$index2;
34451
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
34452
+ if (!_payload) return null;
34453
+ return React.createElement(SpriteFromAtlas, {
34454
+ atlasIMG: atlasIMG,
34455
+ atlasJSON: atlasJSON,
34456
+ spriteKey: getItemTextureKeyPath({
34457
+ key: _payload.texturePath,
34458
+ texturePath: _payload.texturePath,
34459
+ stackQty: _payload.stackQty || 1
34460
+ }, atlasJSON),
34461
+ width: 32,
34462
+ height: 32,
34463
+ imgScale: 1.6,
34464
+ imgStyle: {
34465
+ left: '5px'
34466
+ }
34467
+ });
34468
+ }
34469
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
34470
+ return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
34471
+ return word[0];
34472
+ }));
34473
+ };
34474
+ return React.createElement(Container$b, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List$1, {
34475
+ id: "shortcuts_list"
34476
+ }, Array.from({
34477
+ length: 6
34478
+ }).map(function (_, i) {
34479
+ return React.createElement(Shortcut, {
34480
+ key: i,
34481
+ onClick: function onClick() {
34482
+ removeShortcut(i);
34483
+ if (!shortcuts[i] || shortcuts[i].type === ShortcutType.None) setSettingShortcutIndex(i);
34484
+ },
34485
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
34486
+ isBeingSet: settingShortcutIndex === i
34487
+ }, getContent(i));
34488
+ })));
34489
+ };
34490
+ var Container$b = /*#__PURE__*/styled.div.withConfig({
34491
+ displayName: "ShortcutsSetter__Container",
34492
+ componentId: "sc-xuouuf-0"
34493
+ })(["p{margin:0;margin-left:0.5rem;}"]);
34494
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
34495
+ displayName: "ShortcutsSetter__Shortcut",
34496
+ componentId: "sc-xuouuf-1"
34497
+ })(["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) {
34498
+ var isBeingSet = _ref2.isBeingSet;
34499
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
34500
+ }, uiColors.darkGray, uiColors.gray);
34501
+ var List$1 = /*#__PURE__*/styled.div.withConfig({
34502
+ displayName: "ShortcutsSetter__List",
34503
+ componentId: "sc-xuouuf-2"
34504
+ })(["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;"]);
34877
34505
 
34878
34506
  var ItemContainer$1 = function ItemContainer(_ref) {
34879
34507
  var itemContainer = _ref.itemContainer,
@@ -34893,7 +34521,10 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34893
34521
  checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34894
34522
  initialPosition = _ref.initialPosition,
34895
34523
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34896
- dragScale = _ref.dragScale;
34524
+ dragScale = _ref.dragScale,
34525
+ shortcuts = _ref.shortcuts,
34526
+ setItemShortcut = _ref.setItemShortcut,
34527
+ removeShortcut = _ref.removeShortcut;
34897
34528
  var _useState = useState({
34898
34529
  isOpen: false,
34899
34530
  maxQuantity: 1,
@@ -34901,6 +34532,9 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34901
34532
  }),
34902
34533
  quantitySelect = _useState[0],
34903
34534
  setQuantitySelect = _useState[1];
34535
+ var _useState2 = useState(-1),
34536
+ settingShortcutIndex = _useState2[0],
34537
+ setSettingShortcutIndex = _useState2[1];
34904
34538
  var onRenderSlots = function onRenderSlots() {
34905
34539
  var slots = [];
34906
34540
  for (var i = 0; i < itemContainer.slotQty; i++) {
@@ -34914,8 +34548,13 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34914
34548
  onMouseOver: function onMouseOver(event, slotIndex, item) {
34915
34549
  if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34916
34550
  },
34917
- onClick: function onClick(ItemType, ContainerType, item) {
34918
- if (onItemClick) onItemClick(item, ItemType, ContainerType);
34551
+ onClick: function onClick(itemType, containerType, item) {
34552
+ if (settingShortcutIndex !== -1) {
34553
+ setSettingShortcutIndex(-1);
34554
+ if (itemType === ItemType.Consumable || itemType === ItemType.Tool) {
34555
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, settingShortcutIndex);
34556
+ }
34557
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
34919
34558
  },
34920
34559
  onSelected: function onSelected(optionId, item) {
34921
34560
  if (_onSelected) _onSelected(optionId, item);
@@ -34943,7 +34582,8 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34943
34582
  if (_onOutsideDrop) _onOutsideDrop(item, position);
34944
34583
  },
34945
34584
  atlasIMG: atlasIMG,
34946
- atlasJSON: atlasJSON
34585
+ atlasJSON: atlasJSON,
34586
+ isSelectingShortcut: settingShortcutIndex !== -1
34947
34587
  }));
34948
34588
  }
34949
34589
  return slots;
@@ -34952,7 +34592,14 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34952
34592
  title: itemContainer.name || 'Container',
34953
34593
  onClose: onClose,
34954
34594
  initialPosition: initialPosition
34955
- }, React.createElement(ItemsContainer, {
34595
+ }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
34596
+ setSettingShortcutIndex: setSettingShortcutIndex,
34597
+ settingShortcutIndex: settingShortcutIndex,
34598
+ shortcuts: shortcuts,
34599
+ removeShortcut: removeShortcut,
34600
+ atlasIMG: atlasIMG,
34601
+ atlasJSON: atlasJSON
34602
+ }), React.createElement(ItemsContainer, {
34956
34603
  className: "item-container-body"
34957
34604
  }, onRenderSlots())), quantitySelect.isOpen && React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
34958
34605
  quantity: quantitySelect.maxQuantity,
@@ -34977,7 +34624,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34977
34624
  var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
34978
34625
  displayName: "ItemContainer__ItemsContainer",
34979
34626
  componentId: "sc-15y5p9l-0"
34980
- })(["max-width:280px;display:flex;justify-content:center;flex-wrap:wrap;"]);
34627
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
34981
34628
  var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
34982
34629
  displayName: "ItemContainer__QuantitySelectorContainer",
34983
34630
  componentId: "sc-15y5p9l-1"
@@ -35074,7 +34721,7 @@ var ListMenu = function ListMenu(_ref) {
35074
34721
  onSelected = _ref.onSelected,
35075
34722
  x = _ref.x,
35076
34723
  y = _ref.y;
35077
- return React.createElement(Container$f, {
34724
+ return React.createElement(Container$c, {
35078
34725
  x: x,
35079
34726
  y: y
35080
34727
  }, React.createElement("ul", {
@@ -35091,7 +34738,7 @@ var ListMenu = function ListMenu(_ref) {
35091
34738
  }, (params == null ? void 0 : params.text) || 'No text');
35092
34739
  })));
35093
34740
  };
35094
- var Container$f = /*#__PURE__*/styled.div.withConfig({
34741
+ var Container$c = /*#__PURE__*/styled.div.withConfig({
35095
34742
  displayName: "ListMenu__Container",
35096
34743
  componentId: "sc-i9097t-0"
35097
34744
  })(["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) {
@@ -35104,6 +34751,332 @@ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
35104
34751
  componentId: "sc-i9097t-1"
35105
34752
  })(["margin-right:0.5rem;"]);
35106
34753
 
34754
+ var img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
34755
+
34756
+ var img$7 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
34757
+
34758
+ var ImgSide;
34759
+ (function (ImgSide) {
34760
+ ImgSide["right"] = "right";
34761
+ ImgSide["left"] = "left";
34762
+ })(ImgSide || (ImgSide = {}));
34763
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
34764
+ var _textAndTypeArray$sli;
34765
+ var _onClose = _ref.onClose,
34766
+ textAndTypeArray = _ref.textAndTypeArray;
34767
+ var _useState = useState(false),
34768
+ showGoNextIndicator = _useState[0],
34769
+ setShowGoNextIndicator = _useState[1];
34770
+ var _useState2 = useState(0),
34771
+ slide = _useState2[0],
34772
+ setSlide = _useState2[1];
34773
+ var onHandleSpacePress = function onHandleSpacePress(event) {
34774
+ if (event.code === 'Space') {
34775
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34776
+ setSlide(function (prev) {
34777
+ return prev + 1;
34778
+ });
34779
+ } else {
34780
+ // if there's no more text chunks, close the dialog
34781
+ _onClose();
34782
+ }
34783
+ }
34784
+ };
34785
+ useEffect(function () {
34786
+ document.addEventListener('keydown', onHandleSpacePress);
34787
+ return function () {
34788
+ return document.removeEventListener('keydown', onHandleSpacePress);
34789
+ };
34790
+ }, [slide]);
34791
+ return React.createElement(RPGUIContainer, {
34792
+ type: RPGUIContainerTypes.FramedGold,
34793
+ width: '50%',
34794
+ height: '180px'
34795
+ }, React.createElement(React.Fragment, null, React.createElement(Container$d, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
34796
+ flex: '70%'
34797
+ }, React.createElement(NPCDialogText, {
34798
+ onStartStep: function onStartStep() {
34799
+ return setShowGoNextIndicator(false);
34800
+ },
34801
+ onEndStep: function onEndStep() {
34802
+ return setShowGoNextIndicator(true);
34803
+ },
34804
+ text: textAndTypeArray[slide].text || 'No text provided.',
34805
+ onClose: function onClose() {
34806
+ if (_onClose) {
34807
+ _onClose();
34808
+ }
34809
+ }
34810
+ })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34811
+ src: textAndTypeArray[slide].imagePath || img$6
34812
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34813
+ right: '10.5rem',
34814
+ src: img$7
34815
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
34816
+ src: textAndTypeArray[slide].imagePath || img$6
34817
+ })), React.createElement(TextContainer, {
34818
+ flex: '70%'
34819
+ }, React.createElement(NPCDialogText, {
34820
+ onStartStep: function onStartStep() {
34821
+ return setShowGoNextIndicator(false);
34822
+ },
34823
+ onEndStep: function onEndStep() {
34824
+ return setShowGoNextIndicator(true);
34825
+ },
34826
+ text: textAndTypeArray[slide].text || 'No text provided.',
34827
+ onClose: function onClose() {
34828
+ if (_onClose) {
34829
+ _onClose();
34830
+ }
34831
+ }
34832
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
34833
+ right: '1rem',
34834
+ src: img$7
34835
+ }))), ")"));
34836
+ };
34837
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34838
+ displayName: "NPCMultiDialog__Container",
34839
+ componentId: "sc-rvu5wg-0"
34840
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34841
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
34842
+ displayName: "NPCMultiDialog__TextContainer",
34843
+ componentId: "sc-rvu5wg-1"
34844
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34845
+ var flex = _ref2.flex;
34846
+ return flex;
34847
+ });
34848
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34849
+ displayName: "NPCMultiDialog__ThumbnailContainer",
34850
+ componentId: "sc-rvu5wg-2"
34851
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34852
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34853
+ displayName: "NPCMultiDialog__NPCThumbnail",
34854
+ componentId: "sc-rvu5wg-3"
34855
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
34856
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
34857
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
34858
+ componentId: "sc-rvu5wg-4"
34859
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34860
+ var right = _ref3.right;
34861
+ return right;
34862
+ });
34863
+
34864
+ //@ts-ignore
34865
+ var useEventListener = function useEventListener(type, handler, el) {
34866
+ if (el === void 0) {
34867
+ el = window;
34868
+ }
34869
+ var savedHandler = React.useRef();
34870
+ React.useEffect(function () {
34871
+ savedHandler.current = handler;
34872
+ }, [handler]);
34873
+ React.useEffect(function () {
34874
+ //@ts-ignore
34875
+ var listener = function listener(e) {
34876
+ return savedHandler.current(e);
34877
+ };
34878
+ el.addEventListener(type, listener);
34879
+ return function () {
34880
+ el.removeEventListener(type, listener);
34881
+ };
34882
+ }, [type, el]);
34883
+ };
34884
+
34885
+ var DynamicText = function DynamicText(_ref) {
34886
+ var text = _ref.text,
34887
+ onFinish = _ref.onFinish,
34888
+ onStart = _ref.onStart;
34889
+ var _useState = useState(''),
34890
+ textState = _useState[0],
34891
+ setTextState = _useState[1];
34892
+ useEffect(function () {
34893
+ var i = 0;
34894
+ var interval = setInterval(function () {
34895
+ // on every interval, show one more character
34896
+ if (i === 0) {
34897
+ if (onStart) {
34898
+ onStart();
34899
+ }
34900
+ }
34901
+ if (i < text.length) {
34902
+ setTextState(text.substring(0, i + 1));
34903
+ i++;
34904
+ } else {
34905
+ clearInterval(interval);
34906
+ if (onFinish) {
34907
+ onFinish();
34908
+ }
34909
+ }
34910
+ }, 50);
34911
+ return function () {
34912
+ clearInterval(interval);
34913
+ };
34914
+ }, [text]);
34915
+ return React.createElement(TextContainer$1, null, textState);
34916
+ };
34917
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
34918
+ displayName: "DynamicText__TextContainer",
34919
+ componentId: "sc-1ggl9nd-0"
34920
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
34921
+
34922
+ var QuestionDialog = function QuestionDialog(_ref) {
34923
+ var questions = _ref.questions,
34924
+ answers = _ref.answers,
34925
+ onClose = _ref.onClose;
34926
+ var _useState = useState(questions[0]),
34927
+ currentQuestion = _useState[0],
34928
+ setCurrentQuestion = _useState[1];
34929
+ var _useState2 = useState(false),
34930
+ canShowAnswers = _useState2[0],
34931
+ setCanShowAnswers = _useState2[1];
34932
+ var onGetFirstAnswer = function onGetFirstAnswer() {
34933
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
34934
+ return null;
34935
+ }
34936
+ var firstAnswerId = currentQuestion.answerIds[0];
34937
+ return answers.find(function (answer) {
34938
+ return answer.id === firstAnswerId;
34939
+ });
34940
+ };
34941
+ var _useState3 = useState(onGetFirstAnswer()),
34942
+ currentAnswer = _useState3[0],
34943
+ setCurrentAnswer = _useState3[1];
34944
+ useEffect(function () {
34945
+ setCurrentAnswer(onGetFirstAnswer());
34946
+ }, [currentQuestion]);
34947
+ var onGetAnswers = function onGetAnswers(answerIds) {
34948
+ return answerIds.map(function (answerId) {
34949
+ return answers.find(function (answer) {
34950
+ return answer.id === answerId;
34951
+ });
34952
+ });
34953
+ };
34954
+ var onKeyPress = function onKeyPress(e) {
34955
+ switch (e.key) {
34956
+ case 'ArrowDown':
34957
+ // select next answer, if any.
34958
+ // if no next answer, select first answer
34959
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
34960
+ // (answer) => answer?.id === currentAnswer!.id + 1
34961
+ // );
34962
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34963
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
34964
+ });
34965
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
34966
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34967
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
34968
+ });
34969
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
34970
+ break;
34971
+ case 'ArrowUp':
34972
+ // select previous answer, if any.
34973
+ // if no previous answer, select last answer
34974
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
34975
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
34976
+ });
34977
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
34978
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
34979
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
34980
+ });
34981
+ if (previousAnswer) {
34982
+ setCurrentAnswer(previousAnswer);
34983
+ } else {
34984
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
34985
+ }
34986
+ break;
34987
+ case 'Enter':
34988
+ setCanShowAnswers(false);
34989
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
34990
+ onClose();
34991
+ return;
34992
+ } else {
34993
+ setCurrentQuestion(questions.find(function (question) {
34994
+ return question.id === currentAnswer.nextQuestionId;
34995
+ }));
34996
+ }
34997
+ break;
34998
+ }
34999
+ };
35000
+ useEventListener('keydown', onKeyPress);
35001
+ var onAnswerClick = function onAnswerClick(answer) {
35002
+ setCanShowAnswers(false);
35003
+ if (answer.nextQuestionId) {
35004
+ // if there is a next question, go to it
35005
+ setCurrentQuestion(questions.find(function (question) {
35006
+ return question.id === answer.nextQuestionId;
35007
+ }));
35008
+ } else {
35009
+ // else, finish dialog!
35010
+ onClose();
35011
+ }
35012
+ };
35013
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
35014
+ var answerIds = currentQuestion.answerIds;
35015
+ if (!answerIds) {
35016
+ return null;
35017
+ }
35018
+ var answers = onGetAnswers(answerIds);
35019
+ if (!answers) {
35020
+ return null;
35021
+ }
35022
+ return answers.map(function (answer) {
35023
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
35024
+ var selectedColor = isSelected ? 'yellow' : 'white';
35025
+ if (answer) {
35026
+ return React.createElement(AnswerRow, {
35027
+ key: "answer_" + answer.id
35028
+ }, React.createElement(AnswerSelectedIcon, {
35029
+ color: selectedColor
35030
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
35031
+ key: answer.id,
35032
+ onClick: function onClick() {
35033
+ return onAnswerClick(answer);
35034
+ },
35035
+ color: selectedColor
35036
+ }, answer.text));
35037
+ }
35038
+ return null;
35039
+ });
35040
+ };
35041
+ return React.createElement(Container$e, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
35042
+ text: currentQuestion.text,
35043
+ onStart: function onStart() {
35044
+ return setCanShowAnswers(false);
35045
+ },
35046
+ onFinish: function onFinish() {
35047
+ return setCanShowAnswers(true);
35048
+ }
35049
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
35050
+ };
35051
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
35052
+ displayName: "QuestionDialog__Container",
35053
+ componentId: "sc-bxc5u0-0"
35054
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
35055
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
35056
+ displayName: "QuestionDialog__QuestionContainer",
35057
+ componentId: "sc-bxc5u0-1"
35058
+ })(["flex:100%;width:100%;"]);
35059
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
35060
+ displayName: "QuestionDialog__AnswersContainer",
35061
+ componentId: "sc-bxc5u0-2"
35062
+ })(["flex:100%;"]);
35063
+ var Answer = /*#__PURE__*/styled.p.withConfig({
35064
+ displayName: "QuestionDialog__Answer",
35065
+ componentId: "sc-bxc5u0-3"
35066
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
35067
+ return props.color;
35068
+ });
35069
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
35070
+ displayName: "QuestionDialog__AnswerSelectedIcon",
35071
+ componentId: "sc-bxc5u0-4"
35072
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
35073
+ return props.color;
35074
+ });
35075
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
35076
+ displayName: "QuestionDialog__AnswerRow",
35077
+ componentId: "sc-bxc5u0-5"
35078
+ })(["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;}"]);
35079
+
35107
35080
  var ProgressBar = function ProgressBar(_ref) {
35108
35081
  var max = _ref.max,
35109
35082
  value = _ref.value,
@@ -35121,7 +35094,7 @@ var ProgressBar = function ProgressBar(_ref) {
35121
35094
  }
35122
35095
  return value * 100 / max;
35123
35096
  };
35124
- return React.createElement(Container$g, {
35097
+ return React.createElement(Container$f, {
35125
35098
  className: "rpgui-progress",
35126
35099
  "data-value": calculatePercentageValue(max, value) / 100,
35127
35100
  "data-rpguitype": "progress",
@@ -35150,7 +35123,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
35150
35123
  displayName: "ProgressBar__TextOverlay",
35151
35124
  componentId: "sc-qa6fzh-1"
35152
35125
  })(["width:100%;position:relative;"]);
35153
- var Container$g = /*#__PURE__*/styled.div.withConfig({
35126
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
35154
35127
  displayName: "ProgressBar__Container",
35155
35128
  componentId: "sc-qa6fzh-2"
35156
35129
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -35161,7 +35134,7 @@ var Container$g = /*#__PURE__*/styled.div.withConfig({
35161
35134
  return props.style;
35162
35135
  });
35163
35136
 
35164
- var img$9 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAHcSURBVHja7Ji/agJBEId/K/cCdoKFFjZCbGxCekmVOunzCil8hhS+gr3WVmIvKbQxIILFKQjXhCPkASZN5tjd27ud9SRYOKV3u/ftN7P/VESEa4gariRuIHZEkpeUUkYhEZEKbeNrG0mJJ/MlOq0m9odTKRg/W+2OaDfqRh9xkmbPbaBIMrLJfInB/R0AoN2o4+v7B3GSAkAOzAXAwW0XH59QSpEOIzLCEHanuq31Zot+r1sIYcdwNDZgahIblww2GTxrXDb02B9OAIB+r4tOqymCYXtspRQkxMZ6s82lK8SG14jPBnccYmM6W6Df62ZWSkGkNjgt59p4eXyAt1h9NvSoasMJcs5MqWqj0IjEBncuNVdmIwcSYmN/OIlSUjZTnCD2Ui7pXLqK+tKSgTCEtOikBcrAvrQAQE2HkIwwTlJj2l7CBgBERKSUUrTaHQ3lcZI6t3G2IZ0pEhvZ7ssww9E4Wym5YUi6qoQioqDZwmB6emxDtg3ej97fXv0nNN64OHQrutbpbGG8o//2/DRwpsyXFsOI9DDjCv0j+oCkNowakR6iXSks+rjURtDhWS9q+1DtMiL5eC41lar9D8w2pQMVrR1nGym7p9hA/25EcrESXchu/wbcQDzxOwDLF0pIXBCe1wAAAABJRU5ErkJggg==';
35137
+ var img$8 = 'data:image/png;base64,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';
35165
35138
 
35166
35139
  var QuestInfo = function QuestInfo(_ref) {
35167
35140
  var quests = _ref.quests,
@@ -35205,7 +35178,7 @@ var QuestInfo = function QuestInfo(_ref) {
35205
35178
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35206
35179
  className: "drag-handler"
35207
35180
  }, React.createElement(Title$3, null, React.createElement(Thumbnail, {
35208
- src: quests[currentIndex].thumbnail || img$9
35181
+ src: quests[currentIndex].thumbnail || img$8
35209
35182
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35210
35183
  className: "golden"
35211
35184
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -35224,7 +35197,7 @@ var QuestInfo = function QuestInfo(_ref) {
35224
35197
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
35225
35198
  className: "drag-handler"
35226
35199
  }, React.createElement(Title$3, null, React.createElement(Thumbnail, {
35227
- src: quests[0].thumbnail || img$9
35200
+ src: quests[0].thumbnail || img$8
35228
35201
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
35229
35202
  className: "golden"
35230
35203
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -35373,7 +35346,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35373
35346
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
35374
35347
  _ref$margin = _ref.margin,
35375
35348
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
35376
- return React.createElement(Container$h, {
35349
+ return React.createElement(Container$g, {
35377
35350
  className: "simple-progress-bar"
35378
35351
  }, React.createElement(ProgressBarContainer, {
35379
35352
  margin: margin
@@ -35382,7 +35355,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35382
35355
  bgColor: bgColor
35383
35356
  }))));
35384
35357
  };
35385
- var Container$h = /*#__PURE__*/styled.div.withConfig({
35358
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
35386
35359
  displayName: "SimpleProgressBar__Container",
35387
35360
  componentId: "sc-mbeil3-0"
35388
35361
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -35610,7 +35583,7 @@ var Spell = function Spell(_ref) {
35610
35583
  isSettingShortcut = _ref.isSettingShortcut,
35611
35584
  minMagicLevelRequired = _ref.minMagicLevelRequired;
35612
35585
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
35613
- return React.createElement(Container$i, {
35586
+ return React.createElement(Container$h, {
35614
35587
  disabled: disabled,
35615
35588
  onClick: onClick == null ? void 0 : onClick.bind(null, spellKey),
35616
35589
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -35623,7 +35596,7 @@ var Spell = function Spell(_ref) {
35623
35596
  className: "mana"
35624
35597
  }, manaCost)));
35625
35598
  };
35626
- var Container$i = /*#__PURE__*/styled.button.withConfig({
35599
+ var Container$h = /*#__PURE__*/styled.button.withConfig({
35627
35600
  displayName: "Spell__Container",
35628
35601
  componentId: "sc-j96fa2-0"
35629
35602
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;height:5rem;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -35659,43 +35632,6 @@ var Overlay = /*#__PURE__*/styled.p.withConfig({
35659
35632
  componentId: "sc-j96fa2-7"
35660
35633
  })(["margin:0 !important;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:1rem;display:flex;justify-content:center;align-items:center;color:", ";font-size:", " !important;font-weight:bold;z-index:10;background-color:rgba(0 0 0 / 0.2);"], uiColors.yellow, uiFonts.size.large);
35661
35634
 
35662
- var SpellbookShortcuts = function SpellbookShortcuts(_ref) {
35663
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
35664
- settingShortcutIndex = _ref.settingShortcutIndex,
35665
- shortcuts = _ref.shortcuts,
35666
- removeShortcut = _ref.removeShortcut;
35667
- return React.createElement(List$1, {
35668
- id: "shortcuts_list"
35669
- }, "Spells shortcuts:", Array.from({
35670
- length: 4
35671
- }).map(function (_, i) {
35672
- var _shortcuts$i2;
35673
- return React.createElement(SpellShortcut$1, {
35674
- key: i,
35675
- onClick: function onClick() {
35676
- var _shortcuts$i;
35677
- removeShortcut(i);
35678
- if (!((_shortcuts$i = shortcuts[i]) != null && _shortcuts$i.key)) setSettingShortcutIndex(i);
35679
- },
35680
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
35681
- isBeingSet: settingShortcutIndex === i
35682
- }, React.createElement("span", null, (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.magicWords.split(' ').map(function (word) {
35683
- return word[0];
35684
- })));
35685
- }));
35686
- };
35687
- var SpellShortcut$1 = /*#__PURE__*/styled.button.withConfig({
35688
- displayName: "SpellbookShortcuts__SpellShortcut",
35689
- componentId: "sc-fr4a0d-0"
35690
- })(["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) {
35691
- var isBeingSet = _ref2.isBeingSet;
35692
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
35693
- }, uiColors.darkGray, uiColors.gray);
35694
- var List$1 = /*#__PURE__*/styled.p.withConfig({
35695
- displayName: "SpellbookShortcuts__List",
35696
- componentId: "sc-fr4a0d-1"
35697
- })(["width:100%;display:flex;align-items:center;justify-content:flex-end;gap:0.5rem;padding:0.5rem;box-sizing:border-box;margin:0 !important;"]);
35698
-
35699
35635
  var Spellbook = function Spellbook(_ref) {
35700
35636
  var onClose = _ref.onClose,
35701
35637
  onInputFocus = _ref.onInputFocus,
@@ -35705,8 +35641,10 @@ var Spellbook = function Spellbook(_ref) {
35705
35641
  mana = _ref.mana,
35706
35642
  onSpellClick = _ref.onSpellClick,
35707
35643
  setSpellShortcut = _ref.setSpellShortcut,
35708
- spellShortcuts = _ref.spellShortcuts,
35709
- removeSpellShortcut = _ref.removeSpellShortcut;
35644
+ shortcuts = _ref.shortcuts,
35645
+ removeShortcut = _ref.removeShortcut,
35646
+ atlasIMG = _ref.atlasIMG,
35647
+ atlasJSON = _ref.atlasJSON;
35710
35648
  var _useState = useState(''),
35711
35649
  search = _useState[0],
35712
35650
  setSearch = _useState[1];
@@ -35743,11 +35681,13 @@ var Spellbook = function Spellbook(_ref) {
35743
35681
  width: "inherit",
35744
35682
  height: "inherit",
35745
35683
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
35746
- }, React.createElement(Container$j, null, React.createElement(Title$6, null, "Learned Spells"), React.createElement(SpellbookShortcuts, {
35684
+ }, React.createElement(Container$i, null, React.createElement(Title$6, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
35747
35685
  setSettingShortcutIndex: setSettingShortcutIndex,
35748
35686
  settingShortcutIndex: settingShortcutIndex,
35749
- shortcuts: spellShortcuts,
35750
- removeShortcut: removeSpellShortcut
35687
+ shortcuts: shortcuts,
35688
+ removeShortcut: removeShortcut,
35689
+ atlasIMG: atlasIMG,
35690
+ atlasJSON: atlasJSON
35751
35691
  }), React.createElement(Input, {
35752
35692
  placeholder: "Search for spell",
35753
35693
  value: search,
@@ -35773,7 +35713,7 @@ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
35773
35713
  displayName: "Spellbook__Title",
35774
35714
  componentId: "sc-r02nfq-0"
35775
35715
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
35776
- var Container$j = /*#__PURE__*/styled.div.withConfig({
35716
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
35777
35717
  displayName: "Spellbook__Container",
35778
35718
  componentId: "sc-r02nfq-1"
35779
35719
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -35787,16 +35727,16 @@ var TextArea = function TextArea(_ref) {
35787
35727
  return React.createElement("textarea", Object.assign({}, props));
35788
35728
  };
35789
35729
 
35790
- var img$a = 'data:image/gif;base64,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';
35730
+ var img$9 = 'data:image/gif;base64,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';
35791
35731
 
35792
- var img$b = 'data:image/gif;base64,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';
35732
+ var img$a = 'data:image/gif;base64,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';
35793
35733
 
35794
- var img$c = 'data:image/gif;base64,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';
35734
+ var img$b = 'data:image/gif;base64,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';
35795
35735
 
35796
35736
  var DayNightPeriod = function DayNightPeriod(_ref) {
35797
35737
  var _periodOfDaySrcFiles;
35798
35738
  var periodOfDay = _ref.periodOfDay;
35799
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
35739
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
35800
35740
  return React.createElement(GifContainer, null, React.createElement("img", {
35801
35741
  src: periodOfDaySrcFiles[periodOfDay]
35802
35742
  }));
@@ -35806,7 +35746,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
35806
35746
  componentId: "sc-10t97fw-0"
35807
35747
  })(["width:100%;img{width:67%;}"]);
35808
35748
 
35809
- var img$d = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
35749
+ 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';
35810
35750
 
35811
35751
  var TimeWidget = function TimeWidget(_ref) {
35812
35752
  var onClose = _ref.onClose,
@@ -35821,7 +35761,7 @@ var TimeWidget = function TimeWidget(_ref) {
35821
35761
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
35822
35762
  displayName: "TimeWidget__WidgetContainer",
35823
35763
  componentId: "sc-1ja236h-0"
35824
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
35764
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
35825
35765
  var Time = /*#__PURE__*/styled.div.withConfig({
35826
35766
  displayName: "TimeWidget__Time",
35827
35767
  componentId: "sc-1ja236h-1"
@@ -36006,14 +35946,16 @@ var TradingMenu = function TradingMenu(_ref) {
36006
35946
  if (onClose) onClose();
36007
35947
  },
36008
35948
  width: "600px",
36009
- cancelDrag: ".equipment-container-body .arrow-selector"
35949
+ cancelDrag: "#TraderContainer"
36010
35950
  }, React.createElement(React.Fragment, null, React.createElement("div", {
36011
35951
  style: {
36012
35952
  width: '100%'
36013
35953
  }
36014
35954
  }, React.createElement(Title$7, null, Capitalize(type), " Menu"), React.createElement("hr", {
36015
35955
  className: "golden"
36016
- })), React.createElement(TradingComponentScrollWrapper, null, traderItems.map(function (tradeItem, index) {
35956
+ })), React.createElement(TradingComponentScrollWrapper, {
35957
+ id: "TraderContainer"
35958
+ }, traderItems.map(function (tradeItem, index) {
36017
35959
  var _qtyMap$get;
36018
35960
  return React.createElement(ItemWrapper$1, {
36019
35961
  key: tradeItem.key + "_" + index
@@ -36071,16 +36013,230 @@ var Truncate = function Truncate(_ref) {
36071
36013
  var _ref$maxLines = _ref.maxLines,
36072
36014
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
36073
36015
  children = _ref.children;
36074
- return React.createElement(Container$k, {
36016
+ return React.createElement(Container$j, {
36075
36017
  maxLines: maxLines
36076
36018
  }, children);
36077
36019
  };
36078
- var Container$k = /*#__PURE__*/styled.div.withConfig({
36020
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
36079
36021
  displayName: "Truncate__Container",
36080
36022
  componentId: "sc-6x00qb-0"
36081
36023
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
36082
36024
  return props.maxLines;
36083
36025
  });
36084
36026
 
36085
- export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, QuickSpells, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SkillProgressBar, SkillsContainer, SpellShortcut, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, useEventListener };
36027
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
36028
+
36029
+ var chunkString = function chunkString(str, length) {
36030
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
36031
+ };
36032
+
36033
+ var img$d = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
36034
+
36035
+ var NPCDialogText = function NPCDialogText(_ref) {
36036
+ var text = _ref.text,
36037
+ onClose = _ref.onClose,
36038
+ onEndStep = _ref.onEndStep,
36039
+ onStartStep = _ref.onStartStep,
36040
+ type = _ref.type;
36041
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
36042
+ function maxCharacters(width) {
36043
+ // Set the font size to 16 pixels
36044
+ var fontSize = 11.2;
36045
+ // Calculate the number of characters that can fit in one line
36046
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
36047
+ // Calculate the number of lines that can fit in the div
36048
+ var linesPerDiv = Math.floor(180 / fontSize);
36049
+ // Calculate the maximum number of characters that can fit in the div
36050
+ var maxCharacters = charactersPerLine * linesPerDiv;
36051
+ // Return the maximum number of characters
36052
+ return Math.round(maxCharacters / 5);
36053
+ }
36054
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
36055
+ var _useState = useState(0),
36056
+ chunkIndex = _useState[0],
36057
+ setChunkIndex = _useState[1];
36058
+ var onHandleSpacePress = function onHandleSpacePress(event) {
36059
+ if (event.code === 'Space') {
36060
+ goToNextStep();
36061
+ }
36062
+ };
36063
+ var goToNextStep = function goToNextStep() {
36064
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
36065
+ if (hasNextChunk) {
36066
+ setChunkIndex(function (prev) {
36067
+ return prev + 1;
36068
+ });
36069
+ } else {
36070
+ // if there's no more text chunks, close the dialog
36071
+ onClose();
36072
+ }
36073
+ };
36074
+ useEffect(function () {
36075
+ document.addEventListener('keydown', onHandleSpacePress);
36076
+ return function () {
36077
+ return document.removeEventListener('keydown', onHandleSpacePress);
36078
+ };
36079
+ }, [chunkIndex]);
36080
+ var _useState2 = useState(false),
36081
+ showGoNextIndicator = _useState2[0],
36082
+ setShowGoNextIndicator = _useState2[1];
36083
+ return React.createElement(Container$k, null, React.createElement(DynamicText, {
36084
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
36085
+ onFinish: function onFinish() {
36086
+ setShowGoNextIndicator(true);
36087
+ onEndStep && onEndStep();
36088
+ },
36089
+ onStart: function onStart() {
36090
+ setShowGoNextIndicator(false);
36091
+ onStartStep && onStartStep();
36092
+ }
36093
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
36094
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
36095
+ src: IS_MOBILE_OR_TABLET ? img$d : img$7,
36096
+ onClick: function onClick() {
36097
+ goToNextStep();
36098
+ }
36099
+ }));
36100
+ };
36101
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
36102
+ displayName: "NPCDialogText__Container",
36103
+ componentId: "sc-1cxkdh9-0"
36104
+ })([""]);
36105
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
36106
+ displayName: "NPCDialogText__PressSpaceIndicator",
36107
+ componentId: "sc-1cxkdh9-1"
36108
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
36109
+ var right = _ref2.right;
36110
+ return right;
36111
+ });
36112
+
36113
+ var NPCDialogType;
36114
+ (function (NPCDialogType) {
36115
+ NPCDialogType["TextOnly"] = "TextOnly";
36116
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
36117
+ })(NPCDialogType || (NPCDialogType = {}));
36118
+ var NPCDialog = function NPCDialog(_ref) {
36119
+ var text = _ref.text,
36120
+ type = _ref.type,
36121
+ _onClose = _ref.onClose,
36122
+ imagePath = _ref.imagePath,
36123
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
36124
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
36125
+ questions = _ref.questions,
36126
+ answers = _ref.answers;
36127
+ return React.createElement(RPGUIContainer, {
36128
+ type: RPGUIContainerTypes.FramedGold,
36129
+ width: isQuestionDialog ? '600px' : '80%',
36130
+ height: '180px'
36131
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
36132
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36133
+ }, React.createElement(QuestionDialog, {
36134
+ questions: questions,
36135
+ answers: answers,
36136
+ onClose: function onClose() {
36137
+ if (_onClose) {
36138
+ _onClose();
36139
+ }
36140
+ }
36141
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36142
+ src: imagePath || img$6
36143
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$l, null, React.createElement(TextContainer$2, {
36144
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36145
+ }, React.createElement(NPCDialogText, {
36146
+ type: type,
36147
+ text: text || 'No text provided.',
36148
+ onClose: function onClose() {
36149
+ if (_onClose) {
36150
+ _onClose();
36151
+ }
36152
+ }
36153
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
36154
+ src: imagePath || img$6
36155
+ })))));
36156
+ };
36157
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
36158
+ displayName: "NPCDialog__Container",
36159
+ componentId: "sc-1b4aw74-0"
36160
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
36161
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
36162
+ displayName: "NPCDialog__TextContainer",
36163
+ componentId: "sc-1b4aw74-1"
36164
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
36165
+ var flex = _ref2.flex;
36166
+ return flex;
36167
+ });
36168
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
36169
+ displayName: "NPCDialog__ThumbnailContainer",
36170
+ componentId: "sc-1b4aw74-2"
36171
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
36172
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
36173
+ displayName: "NPCDialog__NPCThumbnail",
36174
+ componentId: "sc-1b4aw74-3"
36175
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
36176
+
36177
+ var HistoryDialog = function HistoryDialog(_ref) {
36178
+ var backgroundImgPath = _ref.backgroundImgPath,
36179
+ fullCoverBackground = _ref.fullCoverBackground,
36180
+ questions = _ref.questions,
36181
+ answers = _ref.answers,
36182
+ text = _ref.text,
36183
+ imagePath = _ref.imagePath,
36184
+ textAndTypeArray = _ref.textAndTypeArray,
36185
+ onClose = _ref.onClose;
36186
+ var _useState = useState(0),
36187
+ img = _useState[0],
36188
+ setImage = _useState[1];
36189
+ var onHandleSpacePress = function onHandleSpacePress(event) {
36190
+ if (event.code === 'Space') {
36191
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
36192
+ setImage(function (prev) {
36193
+ return prev + 1;
36194
+ });
36195
+ } else {
36196
+ // if there's no more text chunks, close the dialog
36197
+ onClose();
36198
+ }
36199
+ }
36200
+ };
36201
+ useEffect(function () {
36202
+ document.addEventListener('keydown', onHandleSpacePress);
36203
+ return function () {
36204
+ return document.removeEventListener('keydown', onHandleSpacePress);
36205
+ };
36206
+ }, [backgroundImgPath]);
36207
+ return React.createElement(BackgroundContainer, {
36208
+ imgPath: backgroundImgPath[img],
36209
+ fullImg: fullCoverBackground
36210
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
36211
+ textAndTypeArray: textAndTypeArray,
36212
+ onClose: onClose
36213
+ }) : questions && answers ? React.createElement(QuestionDialog, {
36214
+ questions: questions,
36215
+ answers: answers,
36216
+ onClose: onClose
36217
+ }) : text && imagePath ? React.createElement(NPCDialog, {
36218
+ text: text,
36219
+ imagePath: imagePath,
36220
+ onClose: onClose,
36221
+ type: NPCDialogType.TextAndThumbnail
36222
+ }) : React.createElement(NPCDialog, {
36223
+ text: text,
36224
+ onClose: onClose,
36225
+ type: NPCDialogType.TextOnly
36226
+ })));
36227
+ };
36228
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
36229
+ displayName: "HistoryDialog__BackgroundContainer",
36230
+ componentId: "sc-u6oe75-0"
36231
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
36232
+ return props.imgPath;
36233
+ }, function (props) {
36234
+ return props.imgPath ? 'cover' : 'auto';
36235
+ });
36236
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
36237
+ displayName: "HistoryDialog__DialogContainer",
36238
+ componentId: "sc-u6oe75-1"
36239
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
36240
+
36241
+ export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, ShortcutType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, useEventListener };
36086
36242
  //# sourceMappingURL=long-bow.esm.js.map