@rpg-engine/long-bow 0.3.77 → 0.3.79

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 (160) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/CraftBook/CraftBook.d.ts +3 -1
  4. package/dist/components/Item/Cards/ItemInfo.d.ts +10 -0
  5. package/dist/components/Item/Cards/ItemInfoDisplay.d.ts +10 -0
  6. package/dist/components/Item/Cards/ItemInfoWrapper.d.ts +12 -0
  7. package/dist/components/Item/Cards/ItemTooltip.d.ts +7 -4
  8. package/dist/components/Item/Cards/MobileItemTooltip.d.ts +18 -0
  9. package/dist/components/Item/Inventory/ItemContainer.d.ts +2 -1
  10. package/dist/components/Item/Inventory/ItemSlot.d.ts +4 -1
  11. package/dist/components/TradingMenu/TradingItemRow.d.ts +3 -1
  12. package/dist/components/TradingMenu/TradingMenu.d.ts +6 -4
  13. package/dist/components/shared/SpriteFromAtlas.d.ts +1 -0
  14. package/dist/long-bow.cjs.development.js +1404 -1009
  15. package/dist/long-bow.cjs.development.js.map +1 -1
  16. package/dist/long-bow.cjs.production.min.js +1 -1
  17. package/dist/long-bow.cjs.production.min.js.map +1 -1
  18. package/dist/long-bow.esm.js +1406 -1013
  19. package/dist/long-bow.esm.js.map +1 -1
  20. package/dist/stories/ItemInfoDisplay.stories.d.ts +8 -0
  21. package/dist/stories/TradingMenu.stories.d.ts +2 -2
  22. package/package.json +100 -100
  23. package/src/components/Abstractions/SlotsContainer.tsx +45 -45
  24. package/src/components/Arrow/SelectArrow.tsx +69 -69
  25. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  26. package/src/components/Arrow/img/arrow01-left.png +0 -0
  27. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  28. package/src/components/Arrow/img/arrow01-right.png +0 -0
  29. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  30. package/src/components/Arrow/img/arrow02-left.png +0 -0
  31. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  32. package/src/components/Arrow/img/arrow02-right.png +0 -0
  33. package/src/components/Button.tsx +40 -40
  34. package/src/components/Character/CharacterSelection.tsx +96 -96
  35. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  36. package/src/components/Chat/Chat.tsx +195 -195
  37. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  38. package/src/components/CheckButton.tsx +65 -65
  39. package/src/components/CircularController/CircularController.tsx +248 -248
  40. package/src/components/CraftBook/CraftBook.tsx +240 -227
  41. package/src/components/CraftBook/MockItems.ts +77 -251
  42. package/src/components/DraggableContainer.tsx +153 -153
  43. package/src/components/Dropdown.tsx +90 -90
  44. package/src/components/DropdownSelectorContainer.tsx +42 -42
  45. package/src/components/Equipment/EquipmentSet.tsx +190 -190
  46. package/src/components/HistoryDialog.tsx +104 -104
  47. package/src/components/Input.tsx +15 -15
  48. package/src/components/Item/Cards/ItemInfo.tsx +252 -0
  49. package/src/components/Item/Cards/ItemInfoDisplay.tsx +128 -0
  50. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -0
  51. package/src/components/Item/Cards/ItemTooltip.tsx +85 -33
  52. package/src/components/Item/Cards/MobileItemTooltip.tsx +134 -0
  53. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  54. package/src/components/Item/Inventory/ItemContainer.tsx +214 -210
  55. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  56. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  57. package/src/components/Item/Inventory/ItemSlot.tsx +544 -501
  58. package/src/components/Item/Inventory/itemContainerHelper.ts +156 -156
  59. package/src/components/ListMenu.tsx +63 -63
  60. package/src/components/Multitab/Tab.tsx +66 -66
  61. package/src/components/Multitab/TabBody.tsx +13 -13
  62. package/src/components/Multitab/TabsContainer.tsx +97 -97
  63. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  64. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  65. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  66. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  67. package/src/components/ProgressBar.tsx +92 -92
  68. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  69. package/src/components/QuestInfo/QuestInfo.tsx +230 -230
  70. package/src/components/QuestList.tsx +129 -129
  71. package/src/components/RPGUIContainer.tsx +47 -47
  72. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  73. package/src/components/RPGUIRoot.tsx +14 -14
  74. package/src/components/RadioButton.tsx +53 -53
  75. package/src/components/RadioInput/RadioButton.tsx +96 -96
  76. package/src/components/RadioInput/RadioInput.tsx +102 -102
  77. package/src/components/RadioInput/instruments.ts +15 -15
  78. package/src/components/RangeSlider.tsx +78 -78
  79. package/src/components/RelativeListMenu.tsx +83 -83
  80. package/src/components/ScrollList.tsx +79 -79
  81. package/src/components/Shortcuts/Shortcuts.tsx +151 -151
  82. package/src/components/Shortcuts/ShortcutsSetter.tsx +132 -132
  83. package/src/components/Shortcuts/SingleShortcut.ts +62 -62
  84. package/src/components/SimpleProgressBar.tsx +62 -62
  85. package/src/components/SkillProgressBar.tsx +133 -133
  86. package/src/components/SkillsContainer.tsx +200 -200
  87. package/src/components/Spellbook/Spell.tsx +201 -201
  88. package/src/components/Spellbook/Spellbook.tsx +150 -150
  89. package/src/components/Spellbook/constants.ts +8 -8
  90. package/src/components/Spellbook/mockSpells.ts +60 -60
  91. package/src/components/StaticBook/StaticBook.tsx +103 -103
  92. package/src/components/TextArea.tsx +11 -11
  93. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  94. package/src/components/TimeWidget/TimeWidget.tsx +63 -63
  95. package/src/components/TradingMenu/TradingItemRow.tsx +198 -181
  96. package/src/components/TradingMenu/TradingMenu.tsx +215 -203
  97. package/src/components/TradingMenu/items.mock.ts +48 -96
  98. package/src/components/Truncate.tsx +25 -25
  99. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  100. package/src/components/shared/Column.tsx +16 -16
  101. package/src/components/shared/Ellipsis.tsx +65 -65
  102. package/src/components/shared/SpriteFromAtlas.tsx +104 -102
  103. package/src/components/typography/DynamicText.tsx +49 -49
  104. package/src/constants/uiColors.ts +20 -20
  105. package/src/constants/uiDevices.ts +3 -3
  106. package/src/constants/uiFonts.ts +12 -12
  107. package/src/hooks/useEventListener.ts +21 -21
  108. package/src/hooks/useOutsideAlerter.ts +25 -25
  109. package/src/index.tsx +40 -40
  110. package/src/libs/StringHelpers.ts +3 -3
  111. package/src/mocks/atlas/entities/entities.json +20215 -20215
  112. package/src/mocks/atlas/icons/icons.json +735 -735
  113. package/src/mocks/atlas/items/items.json +12086 -12086
  114. package/src/mocks/equipmentSet.mocks.ts +391 -393
  115. package/src/mocks/itemContainer.mocks.ts +563 -562
  116. package/src/mocks/skills.mocks.ts +128 -128
  117. package/src/stories/Arrow.stories.tsx +26 -26
  118. package/src/stories/Button.stories.tsx +36 -36
  119. package/src/stories/CharacterSelection.stories.tsx +45 -45
  120. package/src/stories/CharacterStatus.stories.tsx +29 -29
  121. package/src/stories/Chat.stories.tsx +187 -187
  122. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  123. package/src/stories/CheckButton.stories.tsx +48 -48
  124. package/src/stories/CircullarController.stories.tsx +37 -37
  125. package/src/stories/CraftBook.stories.tsx +42 -40
  126. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  127. package/src/stories/DraggableContainer.stories.tsx +28 -28
  128. package/src/stories/Dropdown.stories.tsx +46 -46
  129. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  130. package/src/stories/EquipmentSet.stories.tsx +65 -65
  131. package/src/stories/HistoryDialog.stories.tsx +61 -61
  132. package/src/stories/ItemContainer.stories.tsx +200 -198
  133. package/src/stories/ItemInfoDisplay.stories.tsx +33 -0
  134. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  135. package/src/stories/ItemSelector.stories.tsx +77 -77
  136. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  137. package/src/stories/ListMenu.stories.tsx +56 -56
  138. package/src/stories/Multitab.stories.tsx +51 -51
  139. package/src/stories/NPCDialog.stories.tsx +130 -130
  140. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  141. package/src/stories/ProgressBar.stories.tsx +23 -23
  142. package/src/stories/PropertySelect.stories.tsx +40 -40
  143. package/src/stories/QuestInfo.stories.tsx +107 -107
  144. package/src/stories/QuestList.stories.tsx +82 -82
  145. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  146. package/src/stories/RadioButton.stories.tsx +49 -49
  147. package/src/stories/RadioInput.stories.tsx +34 -34
  148. package/src/stories/RangeSlider.stories.tsx +64 -64
  149. package/src/stories/ScrollList.stories.tsx +85 -85
  150. package/src/stories/Shortcuts.stories.tsx +39 -39
  151. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  152. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  153. package/src/stories/SkillsContainer.stories.tsx +35 -35
  154. package/src/stories/Spellbook.stories.tsx +104 -104
  155. package/src/stories/StaticBook.stories.tsx +32 -32
  156. package/src/stories/Text.stories.tsx +42 -42
  157. package/src/stories/TimeWidget.stories.tsx +27 -27
  158. package/src/stories/TradingMenu.stories.tsx +47 -45
  159. package/src/types/eventTypes.ts +4 -4
  160. package/src/types/index.d.ts +2 -2
@@ -13,6 +13,7 @@ var reactErrorBoundary = require('react-error-boundary');
13
13
  var rx = require('react-icons/rx');
14
14
  var Draggable = _interopDefault(require('react-draggable'));
15
15
  var uuid = require('uuid');
16
+ var lodash = require('lodash');
16
17
  var mobxReactLite = require('mobx-react-lite');
17
18
  require('rpgui/rpgui.min.css');
18
19
  require('rpgui/rpgui.min.js');
@@ -113,7 +114,8 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
113
114
  _ref$grayScale = _ref.grayScale,
114
115
  grayScale = _ref$grayScale === void 0 ? false : _ref$grayScale,
115
116
  _ref$opacity = _ref.opacity,
116
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
117
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
118
+ imgClassname = _ref.imgClassname;
117
119
  //! If an item is not showing, remember that you MUST run yarn atlas:copy everytime you add a new item to the atlas (it will sync our public folder atlas with src/atlas).
118
120
  //!Due to React's limitations, we cannot import it from the public folder directly!
119
121
  var spriteData = atlasJSON.frames[spriteKey] || atlasJSON.frames['others/no-image.png'];
@@ -125,7 +127,7 @@ var SpriteFromAtlas = function SpriteFromAtlas(_ref) {
125
127
  onPointerDown: onPointerDown,
126
128
  style: containerStyle
127
129
  }, React__default.createElement(ImgSprite, {
128
- className: "sprite-from-atlas-img",
130
+ className: "sprite-from-atlas-img " + (imgClassname || ''),
129
131
  atlasIMG: atlasIMG,
130
132
  frame: spriteData.frame,
131
133
  scale: imgScale,
@@ -33361,202 +33363,6 @@ var DropdownOptions = /*#__PURE__*/styled.ul.withConfig({
33361
33363
  return props.opened ? 'block' : 'none';
33362
33364
  });
33363
33365
 
33364
- var CraftBook = function CraftBook(_ref) {
33365
- var atlasIMG = _ref.atlasIMG,
33366
- atlasJSON = _ref.atlasJSON,
33367
- onClose = _ref.onClose,
33368
- onSelect = _ref.onSelect,
33369
- onCraftItem = _ref.onCraftItem,
33370
- craftablesItems = _ref.craftablesItems;
33371
- var optionsId = 0;
33372
- var _useState = React.useState({
33373
- show: false,
33374
- index: 200
33375
- }),
33376
- isShown = _useState[0],
33377
- setIsShown = _useState[1];
33378
- var _useState2 = React.useState(),
33379
- craftItem = _useState2[0],
33380
- setCraftItem = _useState2[1];
33381
- var getDropdownOptions = function getDropdownOptions() {
33382
- var options = [];
33383
- Object.keys(shared.ItemSubType).forEach(function (key) {
33384
- if (key === 'DeadBody') {
33385
- return; // we can't craft crafting resouces...
33386
- }
33387
-
33388
- options.push({
33389
- id: optionsId,
33390
- value: key,
33391
- option: key
33392
- });
33393
- optionsId += 1;
33394
- });
33395
- return options;
33396
- };
33397
- var modifyString = function modifyString(str) {
33398
- // Split the string by "/" and "."
33399
- var parts = str.split('/');
33400
- var fileName = parts[parts.length - 1];
33401
- parts = fileName.split('.');
33402
- var name = parts[0];
33403
- // Replace all occurrences of "-" with " "
33404
- name = name.replace(/-/g, ' ');
33405
- // Uppercase the first word
33406
- var words = name.split(' ');
33407
- var firstWord = words[0].slice(0, 1).toUpperCase() + words[0].slice(1);
33408
- var modifiedWords = [firstWord].concat(words.slice(1));
33409
- name = modifiedWords.join(' ');
33410
- return name;
33411
- };
33412
- var handleClick = function handleClick(value) {
33413
- setCraftItem(value);
33414
- };
33415
- return React__default.createElement(DraggableContainer, {
33416
- type: exports.RPGUIContainerTypes.Framed,
33417
- width: "500px",
33418
- cancelDrag: ".inputRadioCraftBook",
33419
- onCloseButton: function onCloseButton() {
33420
- if (onClose) {
33421
- onClose();
33422
- }
33423
- }
33424
- }, React__default.createElement("div", {
33425
- style: {
33426
- width: '100%'
33427
- }
33428
- }, React__default.createElement(Title$1, null, 'Craftbook'), React__default.createElement(Subtitle, null, 'Select an item to craft'), React__default.createElement("hr", {
33429
- className: "golden"
33430
- })), React__default.createElement(Dropdown, {
33431
- options: getDropdownOptions(),
33432
- onChange: function onChange(value) {
33433
- return onSelect(value);
33434
- }
33435
- }), React__default.createElement(RadioInputScroller, {
33436
- className: "inputRadioCraftBook"
33437
- }, craftablesItems == null ? void 0 : craftablesItems.map(function (option, index) {
33438
- return React__default.createElement(RadioOptionsWrapper, {
33439
- key: index
33440
- }, React__default.createElement(SpriteAtlasWrapper, null, React__default.createElement(SpriteFromAtlas, {
33441
- atlasIMG: atlasIMG,
33442
- atlasJSON: atlasJSON,
33443
- spriteKey: option.texturePath,
33444
- imgScale: 3,
33445
- grayScale: !option.canCraft
33446
- })), React__default.createElement("div", null, React__default.createElement("div", {
33447
- onPointerDown: function onPointerDown() {
33448
- return handleClick(option.key);
33449
- }
33450
- }, React__default.createElement("input", {
33451
- className: "rpgui-radio",
33452
- type: "radio",
33453
- value: option.name,
33454
- name: "test",
33455
- disabled: !option.canCraft,
33456
- checked: craftItem === option.key,
33457
- onChange: function onChange() {
33458
- return handleClick(option.key);
33459
- }
33460
- }), React__default.createElement("label", {
33461
- onPointerDown: function onPointerDown() {
33462
- handleClick(option.key);
33463
- },
33464
- onTouchEnd: function onTouchEnd() {
33465
- setIsShown({
33466
- show: true,
33467
- index: index
33468
- });
33469
- },
33470
- style: {
33471
- display: 'flex',
33472
- alignItems: 'center'
33473
- },
33474
- onMouseEnter: function onMouseEnter() {
33475
- return setIsShown({
33476
- show: true,
33477
- index: index
33478
- });
33479
- },
33480
- onMouseLeave: function onMouseLeave() {
33481
- return setIsShown({
33482
- show: false,
33483
- index: index
33484
- });
33485
- }
33486
- }, modifyString(option.name))), isShown && isShown.index === index && option.ingredients.map(function (option, index) {
33487
- return React__default.createElement(Recipes, {
33488
- key: index
33489
- }, React__default.createElement(SpriteFromAtlas, {
33490
- atlasIMG: atlasIMG,
33491
- atlasJSON: atlasJSON,
33492
- spriteKey: option.texturePath,
33493
- imgScale: 1
33494
- }), React__default.createElement(StyledItem, null, modifyString(option.key), " (", option.qty, "x)"));
33495
- })));
33496
- })), React__default.createElement(ButtonWrapper, null, React__default.createElement(Button, {
33497
- buttonType: exports.ButtonTypes.RPGUIButton,
33498
- onPointerDown: onClose
33499
- }, "Cancel"), React__default.createElement(Button, {
33500
- buttonType: exports.ButtonTypes.RPGUIButton,
33501
- onPointerDown: function onPointerDown() {
33502
- return onCraftItem(craftItem);
33503
- }
33504
- }, "Craft")));
33505
- };
33506
- var StyledItem = /*#__PURE__*/styled.div.withConfig({
33507
- displayName: "CraftBook__StyledItem",
33508
- componentId: "sc-19q95ue-0"
33509
- })(["margin-left:10px;"]);
33510
- var Recipes = /*#__PURE__*/styled.div.withConfig({
33511
- displayName: "CraftBook__Recipes",
33512
- componentId: "sc-19q95ue-1"
33513
- })(["font-size:0.6rem;color:yellow !important;margin-bottom:3px;display:flex;align-items:center;.sprite-from-atlas-img{top:0px;left:0px;}"]);
33514
- var Title$1 = /*#__PURE__*/styled.h1.withConfig({
33515
- displayName: "CraftBook__Title",
33516
- componentId: "sc-19q95ue-2"
33517
- })(["font-size:0.6rem;color:yellow !important;"]);
33518
- var Subtitle = /*#__PURE__*/styled.h1.withConfig({
33519
- displayName: "CraftBook__Subtitle",
33520
- componentId: "sc-19q95ue-3"
33521
- })(["font-size:0.4rem;color:yellow !important;"]);
33522
- var RadioInputScroller = /*#__PURE__*/styled.div.withConfig({
33523
- displayName: "CraftBook__RadioInputScroller",
33524
- componentId: "sc-19q95ue-4"
33525
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;-webkit-overflow-scrolling:touch;"]);
33526
- var SpriteAtlasWrapper = /*#__PURE__*/styled.div.withConfig({
33527
- displayName: "CraftBook__SpriteAtlasWrapper",
33528
- componentId: "sc-19q95ue-5"
33529
- })(["margin-right:40px;"]);
33530
- var RadioOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
33531
- displayName: "CraftBook__RadioOptionsWrapper",
33532
- componentId: "sc-19q95ue-6"
33533
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
33534
- var ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
33535
- displayName: "CraftBook__ButtonWrapper",
33536
- componentId: "sc-19q95ue-7"
33537
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
33538
-
33539
- var DropdownSelectorContainer = function DropdownSelectorContainer(_ref) {
33540
- var title = _ref.title,
33541
- onChange = _ref.onChange,
33542
- options = _ref.options,
33543
- details = _ref.details;
33544
- return React__default.createElement("div", null, React__default.createElement("p", null, title), React__default.createElement(Dropdown, {
33545
- options: options.map(function (option, index) {
33546
- return {
33547
- option: option.name,
33548
- value: option.id,
33549
- id: index
33550
- };
33551
- }),
33552
- onChange: onChange
33553
- }), React__default.createElement(Details, null, details));
33554
- };
33555
- var Details = /*#__PURE__*/styled.p.withConfig({
33556
- displayName: "DropdownSelectorContainer__Details",
33557
- componentId: "sc-kaa0h9-0"
33558
- })(["font-size:", " !important;"], uiFonts.size.xsmall);
33559
-
33560
33366
  var RelativeListMenu = function RelativeListMenu(_ref) {
33561
33367
  var options = _ref.options,
33562
33368
  onSelected = _ref.onSelected,
@@ -33606,14 +33412,73 @@ var ListElement = /*#__PURE__*/styled.li.withConfig({
33606
33412
  componentId: "sc-7hohf-1"
33607
33413
  })(["margin-right:0.5rem;"]);
33608
33414
 
33609
- var ItemTooltip = function ItemTooltip(_ref) {
33610
- var label = _ref.label;
33611
- return React__default.createElement(Container$9, null, React__default.createElement("div", null, label));
33415
+ var MobileItemTooltip = function MobileItemTooltip(_ref) {
33416
+ var item = _ref.item,
33417
+ atlasIMG = _ref.atlasIMG,
33418
+ atlasJSON = _ref.atlasJSON,
33419
+ closeTooltip = _ref.closeTooltip,
33420
+ equipmentSet = _ref.equipmentSet,
33421
+ _ref$scale = _ref.scale,
33422
+ scale = _ref$scale === void 0 ? 1 : _ref$scale,
33423
+ options = _ref.options,
33424
+ onSelected = _ref.onSelected;
33425
+ var ref = React.useRef(null);
33426
+ React.useEffect(function () {
33427
+ var current = ref.current;
33428
+ if (current) {
33429
+ // Adjust the position to be on whole window
33430
+ var rect = current.getBoundingClientRect();
33431
+ var x = -rect.x * 100 / (scale * 100);
33432
+ var y = -rect.y * 100 / (scale * 100);
33433
+ current.style.transform = "translate(" + x + "px, " + y + "px)";
33434
+ current.style.opacity = '0.92';
33435
+ }
33436
+ return;
33437
+ }, []);
33438
+ return React__default.createElement(Container$9, {
33439
+ ref: ref,
33440
+ onTouchEnd: function onTouchEnd() {
33441
+ setTimeout(function () {
33442
+ closeTooltip();
33443
+ }, 10);
33444
+ },
33445
+ scale: scale
33446
+ }, React__default.createElement(ItemInfoDisplay, {
33447
+ item: item,
33448
+ atlasIMG: atlasIMG,
33449
+ atlasJSON: atlasJSON,
33450
+ equipmentSet: equipmentSet,
33451
+ isMobile: true
33452
+ }), React__default.createElement(OptionsContainer, null, options == null ? void 0 : options.map(function (option) {
33453
+ return React__default.createElement(Option, {
33454
+ key: option.id,
33455
+ onTouchEnd: function onTouchEnd() {
33456
+ setTimeout(function () {
33457
+ onSelected == null ? void 0 : onSelected(option.id);
33458
+ closeTooltip();
33459
+ }, 10);
33460
+ }
33461
+ }, option.text);
33462
+ })));
33612
33463
  };
33613
33464
  var Container$9 = /*#__PURE__*/styled.div.withConfig({
33614
- displayName: "ItemTooltip__Container",
33615
- componentId: "sc-11d9r7x-0"
33616
- })(["z-index:2;position:absolute;top:1rem;left:4rem;font-size:", ";color:white;background-color:black;border-radius:5px;padding:0.5rem;min-width:20px;width:100%;text-align:center;opacity:0.75;"], uiFonts.size.xxsmall);
33465
+ displayName: "MobileItemTooltip__Container",
33466
+ componentId: "sc-ku4p1j-0"
33467
+ })(["position:fixed;z-index:50;left:0;top:0;opacity:0;width:", ";height:", ";background-color:rgba(0 0 0 / 0.5);display:flex;justify-content:center;align-items:center;gap:0.5rem;@media (max-width:580px){flex-direction:column;}"], function (_ref2) {
33468
+ var scale = _ref2.scale;
33469
+ return "calc(100vw * 100 / " + scale * 100 + ")";
33470
+ }, function (_ref3) {
33471
+ var scale = _ref3.scale;
33472
+ return "calc(100vh * 100 / " + scale * 100 + ")";
33473
+ });
33474
+ var OptionsContainer = /*#__PURE__*/styled.div.withConfig({
33475
+ displayName: "MobileItemTooltip__OptionsContainer",
33476
+ componentId: "sc-ku4p1j-1"
33477
+ })(["display:flex;flex-direction:column;gap:0.5rem;flex-wrap:wrap;@media (max-width:580px){flex-direction:row;justify-content:center;}"]);
33478
+ var Option = /*#__PURE__*/styled.button.withConfig({
33479
+ displayName: "MobileItemTooltip__Option",
33480
+ componentId: "sc-ku4p1j-2"
33481
+ })(["padding:1rem;background-color:#333;color:white;border:none;border-radius:3px;width:8rem;transition:background-color 0.2s;&:hover{background-color:#555;}@media (max-width:580px){padding:1rem 0.5rem;}"]);
33617
33482
 
33618
33483
  var generateContextMenuListOptions = function generateContextMenuListOptions(actionsByTypeList) {
33619
33484
  var contextMenu = actionsByTypeList.map(function (action) {
@@ -33749,32 +33614,36 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33749
33614
  openQuantitySelector = _ref.openQuantitySelector,
33750
33615
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
33751
33616
  dragScale = _ref.dragScale,
33752
- isSelectingShortcut = _ref.isSelectingShortcut;
33617
+ isSelectingShortcut = _ref.isSelectingShortcut,
33618
+ equipmentSet = _ref.equipmentSet;
33753
33619
  var _useState = React.useState(false),
33754
33620
  isTooltipVisible = _useState[0],
33755
33621
  setTooltipVisible = _useState[1];
33756
33622
  var _useState2 = React.useState(false),
33757
- isContextMenuVisible = _useState2[0],
33758
- setIsContextMenuVisible = _useState2[1];
33623
+ isTooltipMobileVisible = _useState2[0],
33624
+ setIsTooltipMobileVisible = _useState2[1];
33759
33625
  var _useState3 = React.useState(false),
33760
- isFocused = _useState3[0],
33761
- setIsFocused = _useState3[1];
33626
+ isContextMenuVisible = _useState3[0],
33627
+ setIsContextMenuVisible = _useState3[1];
33762
33628
  var _useState4 = React.useState(false),
33763
- wasDragged = _useState4[0],
33764
- setWasDragged = _useState4[1];
33765
- var _useState5 = React.useState({
33629
+ isFocused = _useState4[0],
33630
+ setIsFocused = _useState4[1];
33631
+ var _useState5 = React.useState(false),
33632
+ wasDragged = _useState5[0],
33633
+ setWasDragged = _useState5[1];
33634
+ var _useState6 = React.useState({
33766
33635
  x: 0,
33767
33636
  y: 0
33768
33637
  }),
33769
- dragPosition = _useState5[0],
33770
- setDragPosition = _useState5[1];
33771
- var _useState6 = React.useState(null),
33772
- dropPosition = _useState6[0],
33773
- setDropPosition = _useState6[1];
33638
+ dragPosition = _useState6[0],
33639
+ setDragPosition = _useState6[1];
33640
+ var _useState7 = React.useState(null),
33641
+ dropPosition = _useState7[0],
33642
+ setDropPosition = _useState7[1];
33774
33643
  var dragContainer = React.useRef(null);
33775
- var _useState7 = React.useState([]),
33776
- contextActions = _useState7[0],
33777
- setContextActions = _useState7[1];
33644
+ var _useState8 = React.useState([]),
33645
+ contextActions = _useState8[0],
33646
+ setContextActions = _useState8[1];
33778
33647
  React.useEffect(function () {
33779
33648
  setDragPosition({
33780
33649
  x: 0,
@@ -33823,7 +33692,8 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33823
33692
  texturePath: itemToRender.texturePath,
33824
33693
  stackQty: itemToRender.stackQty || 1
33825
33694
  }, atlasJSON),
33826
- imgScale: 3
33695
+ imgScale: 3,
33696
+ imgClassname: "sprite-from-atlas-img--item"
33827
33697
  })));
33828
33698
  }
33829
33699
  var stackInfo = getStackInfo((_itemToRender$_id = itemToRender == null ? void 0 : itemToRender._id) != null ? _itemToRender$_id : '', (_itemToRender$stackQt = itemToRender == null ? void 0 : itemToRender.stackQty) != null ? _itemToRender$stackQt : 0);
@@ -33848,7 +33718,8 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33848
33718
  texturePath: itemToRender.texturePath,
33849
33719
  stackQty: itemToRender.stackQty || 1
33850
33720
  }, atlasJSON),
33851
- imgScale: 3
33721
+ imgScale: 3,
33722
+ imgClassname: "sprite-from-atlas-img--item"
33852
33723
  })));
33853
33724
  var stackInfo = getStackInfo((_itemToRender$_id2 = itemToRender == null ? void 0 : itemToRender._id) != null ? _itemToRender$_id2 : '', (_itemToRender$stackQt2 = itemToRender == null ? void 0 : itemToRender.stackQty) != null ? _itemToRender$stackQt2 : 0);
33854
33725
  if (stackInfo) {
@@ -33865,7 +33736,8 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33865
33736
  spriteKey: EquipmentSlotSpriteByType[slotSpriteMask],
33866
33737
  imgScale: 3,
33867
33738
  grayScale: true,
33868
- opacity: 0.4
33739
+ opacity: 0.4,
33740
+ imgClassname: "sprite-from-atlas-img--item"
33869
33741
  }));
33870
33742
  }
33871
33743
  };
@@ -33958,7 +33830,12 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33958
33830
  }
33959
33831
  }, 100);
33960
33832
  } else if (item) {
33961
- if (!isContextMenuDisabled && !isSelectingShortcut) setIsContextMenuVisible(!isContextMenuVisible);
33833
+ var isTouch = false;
33834
+ if (!isContextMenuDisabled && e.type === 'touchend' && !isSelectingShortcut) {
33835
+ isTouch = true;
33836
+ setIsTooltipMobileVisible(true);
33837
+ }
33838
+ if (!isContextMenuDisabled && !isSelectingShortcut && !isTouch) setIsContextMenuVisible(!isContextMenuVisible);
33962
33839
  onPointerDown(item.type, containerType, item);
33963
33840
  }
33964
33841
  },
@@ -33994,7 +33871,26 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33994
33871
  setTooltipVisible(false);
33995
33872
  }
33996
33873
  }, onRenderSlot(item))), isTooltipVisible && item && !isFocused && React__default.createElement(ItemTooltip, {
33997
- label: item.name
33874
+ item: item,
33875
+ atlasIMG: atlasIMG,
33876
+ atlasJSON: atlasJSON,
33877
+ equipmentSet: equipmentSet
33878
+ }), isTooltipMobileVisible && item && React__default.createElement(MobileItemTooltip, {
33879
+ item: item,
33880
+ atlasIMG: atlasIMG,
33881
+ atlasJSON: atlasJSON,
33882
+ equipmentSet: equipmentSet,
33883
+ closeTooltip: function closeTooltip() {
33884
+ setIsTooltipMobileVisible(false);
33885
+ },
33886
+ scale: dragScale,
33887
+ options: contextActions,
33888
+ onSelected: function onSelected(optionId) {
33889
+ setIsContextMenuVisible(false);
33890
+ if (item) {
33891
+ _onSelected(optionId, item);
33892
+ }
33893
+ }
33998
33894
  }), !isContextMenuDisabled && isContextMenuVisible && contextActions && React__default.createElement(RelativeListMenu, {
33999
33895
  options: contextActions,
34000
33896
  onSelected: function onSelected(optionId) {
@@ -34019,13 +33915,13 @@ var rarityColor = function rarityColor(item) {
34019
33915
  case shared.ItemRarities.Legendary:
34020
33916
  return 'rgba(255, 191, 0,0.6)';
34021
33917
  default:
34022
- return 'unset';
33918
+ return null;
34023
33919
  }
34024
33920
  };
34025
33921
  var Container$a = /*#__PURE__*/styled.div.withConfig({
34026
33922
  displayName: "ItemSlot__Container",
34027
33923
  componentId: "sc-l2j5ef-0"
34028
- })(["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) {
33924
+ })(["margin:0.1rem;.sprite-from-atlas-img--item{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) {
34029
33925
  var item = _ref2.item;
34030
33926
  return rarityColor(item);
34031
33927
  }, function (_ref3) {
@@ -34053,637 +33949,582 @@ var ItemQty = /*#__PURE__*/styled.span.withConfig({
34053
33949
  componentId: "sc-l2j5ef-3"
34054
33950
  })(["&.regular{font-size:", ";}&.small{font-size:", ";}&.xsmall{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall, uiFonts.size.xxsmall);
34055
33951
 
34056
- var EquipmentSet = function EquipmentSet(_ref) {
34057
- var equipmentSet = _ref.equipmentSet,
34058
- onClose = _ref.onClose,
34059
- _onMouseOver = _ref.onMouseOver,
34060
- _onSelected = _ref.onSelected,
34061
- onItemClick = _ref.onItemClick,
33952
+ var statisticsToDisplay = [{
33953
+ key: 'attack'
33954
+ }, {
33955
+ key: 'defense'
33956
+ }, {
33957
+ key: 'maxRange',
33958
+ label: 'Range'
33959
+ }, {
33960
+ key: 'weight',
33961
+ higherIsWorse: true
33962
+ }];
33963
+ var ItemInfo = function ItemInfo(_ref) {
33964
+ var _item$stackQty;
33965
+ var item = _ref.item,
33966
+ itemToCompare = _ref.itemToCompare,
34062
33967
  atlasIMG = _ref.atlasIMG,
34063
- atlasJSON = _ref.atlasJSON,
34064
- onItemDragEnd = _ref.onItemDragEnd,
34065
- onItemDragStart = _ref.onItemDragStart,
34066
- onItemPlaceDrop = _ref.onItemPlaceDrop,
34067
- onItemOutsideDrop = _ref.onItemOutsideDrop,
34068
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34069
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34070
- dragScale = _ref.dragScale;
34071
- var neck = equipmentSet.neck,
34072
- leftHand = equipmentSet.leftHand,
34073
- ring = equipmentSet.ring,
34074
- head = equipmentSet.head,
34075
- armor = equipmentSet.armor,
34076
- legs = equipmentSet.legs,
34077
- boot = equipmentSet.boot,
34078
- inventory = equipmentSet.inventory,
34079
- rightHand = equipmentSet.rightHand,
34080
- accessory = equipmentSet.accessory;
34081
- var equipmentData = [neck, leftHand, ring, head, armor, legs, boot, inventory, rightHand, accessory];
34082
- var equipmentMaskSlots = [shared.ItemSlotType.Neck, shared.ItemSlotType.LeftHand, shared.ItemSlotType.Ring, shared.ItemSlotType.Head, shared.ItemSlotType.Torso, shared.ItemSlotType.Legs, shared.ItemSlotType.Feet, shared.ItemSlotType.Inventory, shared.ItemSlotType.RightHand, shared.ItemSlotType.Accessory];
34083
- var onRenderEquipmentSlotRange = function onRenderEquipmentSlotRange(start, end) {
34084
- var equipmentRange = equipmentData.slice(start, end);
34085
- var slotMaksRange = equipmentMaskSlots.slice(start, end);
34086
- return equipmentRange.map(function (data, i) {
34087
- var _ref2;
34088
- var item = data;
34089
- var itemContainer = (_ref2 = item && item.itemContainer) != null ? _ref2 : null;
34090
- return React__default.createElement(ItemSlot, {
34091
- key: i,
34092
- slotIndex: i,
34093
- item: item,
34094
- itemContainer: itemContainer,
34095
- itemContainerType: shared.ItemContainerType.Equipment,
34096
- slotSpriteMask: slotMaksRange[i],
34097
- onMouseOver: function onMouseOver(event, slotIndex, item) {
34098
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34099
- },
34100
- onPointerDown: function onPointerDown(itemType, ContainerType) {
34101
- if (onItemClick) onItemClick(itemType, item, ContainerType);
34102
- },
34103
- onSelected: function onSelected(optionId) {
34104
- if (_onSelected) _onSelected(optionId);
34105
- },
34106
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
34107
- if (!item) {
34108
- return;
34109
- }
34110
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
34111
- },
34112
- onDragEnd: function onDragEnd(quantity) {
34113
- if (onItemDragEnd) onItemDragEnd(quantity);
34114
- },
34115
- dragScale: dragScale,
34116
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
34117
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
34118
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
34119
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
34120
- },
34121
- onOutsideDrop: function onOutsideDrop(item, position) {
34122
- if (onItemOutsideDrop) onItemOutsideDrop(item, position);
34123
- },
33968
+ atlasJSON = _ref.atlasJSON;
33969
+ var renderStatistics = function renderStatistics() {
33970
+ var statistics = [];
33971
+ for (var _i = 0, _statisticsToDisplay = statisticsToDisplay; _i < _statisticsToDisplay.length; _i++) {
33972
+ var stat = _statisticsToDisplay[_i];
33973
+ var itemStatistic = item[stat.key];
33974
+ if (itemStatistic) {
33975
+ var _itemToCompare$stat$k, _itemToCompare$stat$k2;
33976
+ var label = stat.label || stat.key[0].toUpperCase() + stat.key.slice(1);
33977
+ var isItemToCompare = !!itemToCompare;
33978
+ var isOnlyInOneItem = isItemToCompare && !(itemToCompare != null && itemToCompare[stat.key]);
33979
+ var statDiff = parseInt(itemStatistic.toString()) - parseInt((_itemToCompare$stat$k = itemToCompare == null ? void 0 : (_itemToCompare$stat$k2 = itemToCompare[stat.key]) == null ? void 0 : _itemToCompare$stat$k2.toString()) != null ? _itemToCompare$stat$k : '0');
33980
+ var isDifference = isItemToCompare && statDiff !== 0;
33981
+ var isBetter = statDiff > 0 && !stat.higherIsWorse || statDiff < 0 && stat.higherIsWorse;
33982
+ statistics.push(React__default.createElement(Statistic, {
33983
+ key: stat.key,
33984
+ className: isOnlyInOneItem ? 'better' : ''
33985
+ }, React__default.createElement("div", {
33986
+ className: "label"
33987
+ }, label, ":"), React__default.createElement("div", {
33988
+ className: "value " + (isDifference ? isBetter ? 'better' : 'worse' : '')
33989
+ }, itemStatistic.toString() + " " + (isDifference ? "(" + (statDiff > 0 ? '+' : '') + statDiff + ")" : ''))));
33990
+ }
33991
+ }
33992
+ return statistics;
33993
+ };
33994
+ var renderMissingStatistic = function renderMissingStatistic() {
33995
+ var statistics = [];
33996
+ for (var _i2 = 0, _statisticsToDisplay2 = statisticsToDisplay; _i2 < _statisticsToDisplay2.length; _i2++) {
33997
+ var stat = _statisticsToDisplay2[_i2];
33998
+ var itemToCompareStatistic = itemToCompare == null ? void 0 : itemToCompare[stat.key];
33999
+ if (itemToCompareStatistic && !item[stat.key]) {
34000
+ var label = stat.label || stat.key[0].toUpperCase() + stat.key.slice(1);
34001
+ statistics.push(React__default.createElement(Statistic, {
34002
+ key: stat.key,
34003
+ className: "worse"
34004
+ }, React__default.createElement("div", {
34005
+ className: "label"
34006
+ }, label, ":"), React__default.createElement("div", {
34007
+ className: "value worse"
34008
+ }, itemToCompareStatistic.toString())));
34009
+ }
34010
+ }
34011
+ return statistics;
34012
+ };
34013
+ var renderAvaibleSlots = function renderAvaibleSlots() {
34014
+ if (!item.allowedEquipSlotType) return null;
34015
+ return item.allowedEquipSlotType.map(function (slotType, index) {
34016
+ return React__default.createElement(ErrorBoundary, {
34017
+ key: index
34018
+ }, React__default.createElement(SpriteFromAtlas, {
34124
34019
  atlasIMG: atlasIMG,
34125
- atlasJSON: atlasJSON
34126
- });
34020
+ atlasJSON: atlasJSON,
34021
+ spriteKey: EquipmentSlotSpriteByType[slotType],
34022
+ imgScale: 2,
34023
+ grayScale: true,
34024
+ opacity: 0.4,
34025
+ containerStyle: {
34026
+ width: '32px',
34027
+ height: '32px'
34028
+ }
34029
+ }));
34127
34030
  });
34128
34031
  };
34129
- return React__default.createElement(DraggableContainer, {
34130
- title: 'Equipments',
34131
- type: exports.RPGUIContainerTypes.Framed,
34132
- onCloseButton: function onCloseButton() {
34133
- if (onClose) onClose();
34134
- },
34135
- width: "330px",
34136
- cancelDrag: ".equipment-container-body"
34137
- }, React__default.createElement(EquipmentSetContainer, {
34138
- className: "equipment-container-body"
34139
- }, React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(0, 3)), React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(3, 7)), React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(7, 10))));
34032
+ return React__default.createElement(Container$b, {
34033
+ item: item
34034
+ }, React__default.createElement(Header, null, React__default.createElement("div", null, React__default.createElement(Title$1, null, item.name), item.rarity !== 'Common' && React__default.createElement(Rarity, {
34035
+ item: item
34036
+ }, item.rarity), React__default.createElement(Type, null, item.subType)), React__default.createElement(AllowedSlots, null, renderAvaibleSlots())), renderStatistics(), item.isTwoHanded && React__default.createElement(Statistic, null, "Two handed"), React__default.createElement(Description, null, item.description), item.maxStackSize && item.maxStackSize !== 1 && React__default.createElement(StackInfo, null, "x", (_item$stackQty = item.stackQty) != null ? _item$stackQty : 1, "(", item.maxStackSize, ")"), renderMissingStatistic().length > 0 && React__default.createElement(MissingStatistics, null, React__default.createElement(Statistic, null, "Equipped Diff"), itemToCompare && renderMissingStatistic()));
34140
34037
  };
34141
- var EquipmentSetContainer = /*#__PURE__*/styled.div.withConfig({
34142
- displayName: "EquipmentSet__EquipmentSetContainer",
34143
- componentId: "sc-1wuddg2-0"
34144
- })(["width:inherit;display:flex;justify-content:center;flex-wrap:wrap;flex-direction:row;touch-action:none;"]);
34145
- var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34146
- displayName: "EquipmentSet__EquipmentColumn",
34147
- componentId: "sc-1wuddg2-1"
34148
- })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34149
-
34150
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
34038
+ var Container$b = /*#__PURE__*/styled.div.withConfig({
34039
+ displayName: "ItemInfo__Container",
34040
+ componentId: "sc-1xm4q8k-0"
34041
+ })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:15rem;@media (max-width:580px){width:80vw;}"], uiFonts.size.small, function (_ref2) {
34042
+ var _rarityColor;
34043
+ var item = _ref2.item;
34044
+ return (_rarityColor = rarityColor(item)) != null ? _rarityColor : uiColors.lightGray;
34045
+ });
34046
+ var Title$1 = /*#__PURE__*/styled.div.withConfig({
34047
+ displayName: "ItemInfo__Title",
34048
+ componentId: "sc-1xm4q8k-1"
34049
+ })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
34050
+ var Rarity = /*#__PURE__*/styled.div.withConfig({
34051
+ displayName: "ItemInfo__Rarity",
34052
+ componentId: "sc-1xm4q8k-2"
34053
+ })(["font-size:", ";font-weight:normal;margin-top:0.2rem;color:", ";filter:brightness(1.5);"], uiFonts.size.small, function (_ref3) {
34054
+ var item = _ref3.item;
34055
+ return rarityColor(item);
34056
+ });
34057
+ var Type = /*#__PURE__*/styled.div.withConfig({
34058
+ displayName: "ItemInfo__Type",
34059
+ componentId: "sc-1xm4q8k-3"
34060
+ })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
34061
+ var Statistic = /*#__PURE__*/styled.div.withConfig({
34062
+ displayName: "ItemInfo__Statistic",
34063
+ componentId: "sc-1xm4q8k-4"
34064
+ })(["margin-bottom:0.4rem;width:max-content;.label{display:inline-block;margin-right:0.5rem;color:inherit;}.value{display:inline-block;color:inherit;}&.better,.better{color:", ";}&.worse,.worse{color:", ";}"], uiColors.lightGreen, uiColors.cardinal);
34065
+ var Description = /*#__PURE__*/styled.div.withConfig({
34066
+ displayName: "ItemInfo__Description",
34067
+ componentId: "sc-1xm4q8k-5"
34068
+ })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
34069
+ var Header = /*#__PURE__*/styled.div.withConfig({
34070
+ displayName: "ItemInfo__Header",
34071
+ componentId: "sc-1xm4q8k-6"
34072
+ })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
34073
+ var AllowedSlots = /*#__PURE__*/styled.div.withConfig({
34074
+ displayName: "ItemInfo__AllowedSlots",
34075
+ componentId: "sc-1xm4q8k-7"
34076
+ })(["display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-left:auto;align-self:flex-start;"]);
34077
+ var StackInfo = /*#__PURE__*/styled.div.withConfig({
34078
+ displayName: "ItemInfo__StackInfo",
34079
+ componentId: "sc-1xm4q8k-8"
34080
+ })(["width:100%;text-align:right;font-size:", ";color:", ";margin-top:1rem;"], uiFonts.size.small, uiColors.orange);
34081
+ var MissingStatistics = /*#__PURE__*/styled.div.withConfig({
34082
+ displayName: "ItemInfo__MissingStatistics",
34083
+ componentId: "sc-1xm4q8k-9"
34084
+ })(["margin-top:1rem;color:", ";"], uiColors.cardinal);
34151
34085
 
34152
- var chunkString = function chunkString(str, length) {
34153
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
34086
+ var itemSlotTypes = ['head', 'neck', 'leftHand', 'rightHand', 'ring', 'legs', 'boot', 'accessory', 'armor', 'inventory'];
34087
+ var getSlotType = function getSlotType(itemSlotTypes, slotType, subType) {
34088
+ if (!itemSlotTypes.includes(slotType)) {
34089
+ return subType;
34090
+ }
34091
+ return slotType;
34092
+ };
34093
+ var ItemInfoDisplay = function ItemInfoDisplay(_ref) {
34094
+ var item = _ref.item,
34095
+ atlasIMG = _ref.atlasIMG,
34096
+ atlasJSON = _ref.atlasJSON,
34097
+ equipmentSet = _ref.equipmentSet,
34098
+ isMobile = _ref.isMobile;
34099
+ var itemToCompare = React.useMemo(function () {
34100
+ var _item$allowedEquipSlo;
34101
+ if (equipmentSet && (_item$allowedEquipSlo = item.allowedEquipSlotType) != null && _item$allowedEquipSlo.length) {
34102
+ var allowedSlotTypeCamelCase = lodash.camelCase(item.allowedEquipSlotType[0]);
34103
+ var itemSubTypeCamelCase = lodash.camelCase(item.subType);
34104
+ var slotType = getSlotType(itemSlotTypes, allowedSlotTypeCamelCase, itemSubTypeCamelCase);
34105
+ var itemFromEquipment = equipmentSet[slotType];
34106
+ if (itemFromEquipment && (!item._id || itemFromEquipment._id !== item._id)) {
34107
+ return itemFromEquipment;
34108
+ }
34109
+ }
34110
+ return undefined;
34111
+ }, [equipmentSet, item]);
34112
+ return React__default.createElement(Flex, {
34113
+ "$isMobile": isMobile
34114
+ }, React__default.createElement(ItemInfo, {
34115
+ item: item,
34116
+ itemToCompare: itemToCompare,
34117
+ atlasIMG: atlasIMG,
34118
+ atlasJSON: atlasJSON
34119
+ }), itemToCompare && React__default.createElement(CompareContainer, null, React__default.createElement(Equipped, null, React__default.createElement("span", null, "Equipped")), React__default.createElement(ItemInfo, {
34120
+ item: itemToCompare,
34121
+ itemToCompare: item,
34122
+ atlasIMG: atlasIMG,
34123
+ atlasJSON: atlasJSON
34124
+ })));
34154
34125
  };
34126
+ var Flex = /*#__PURE__*/styled.div.withConfig({
34127
+ displayName: "ItemInfoDisplay__Flex",
34128
+ componentId: "sc-1lftdo8-0"
34129
+ })(["display:flex;gap:0.5rem;flex-direction:", ";@media (max-width:580px){flex-direction:column-reverse;align-items:center;}"], function (_ref2) {
34130
+ var $isMobile = _ref2.$isMobile;
34131
+ return $isMobile ? 'row-reverse' : 'row';
34132
+ });
34133
+ var Equipped = /*#__PURE__*/styled.div.withConfig({
34134
+ displayName: "ItemInfoDisplay__Equipped",
34135
+ componentId: "sc-1lftdo8-1"
34136
+ })(["position:absolute;bottom:100%;left:50%;transform:translateX(-50%);"]);
34137
+ var CompareContainer = /*#__PURE__*/styled.div.withConfig({
34138
+ displayName: "ItemInfoDisplay__CompareContainer",
34139
+ componentId: "sc-1lftdo8-2"
34140
+ })(["position:relative;"]);
34155
34141
 
34156
- var DynamicText = function DynamicText(_ref) {
34157
- var text = _ref.text,
34158
- onFinish = _ref.onFinish,
34159
- onStart = _ref.onStart;
34160
- var _useState = React.useState(''),
34161
- textState = _useState[0],
34162
- setTextState = _useState[1];
34142
+ var offset = 20;
34143
+ var ItemTooltip = function ItemTooltip(_ref) {
34144
+ var item = _ref.item,
34145
+ atlasIMG = _ref.atlasIMG,
34146
+ atlasJSON = _ref.atlasJSON,
34147
+ equipmentSet = _ref.equipmentSet;
34148
+ var ref = React.useRef(null);
34163
34149
  React.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
- }
34171
- }
34172
- if (i < text.length) {
34173
- setTextState(text.substring(0, i + 1));
34174
- i++;
34175
- } else {
34176
- clearInterval(interval);
34177
- if (onFinish) {
34178
- onFinish();
34150
+ var current = ref.current;
34151
+ var initialOffset;
34152
+ if (current) {
34153
+ var handleMouseMove = function handleMouseMove(event) {
34154
+ var clientX = event.clientX,
34155
+ clientY = event.clientY;
34156
+ // Adjust the position of the tooltip based on the mouse position
34157
+ var rect = current.getBoundingClientRect();
34158
+ if (!initialOffset) {
34159
+ initialOffset = rect;
34179
34160
  }
34180
- }
34181
- }, 50);
34182
- return function () {
34183
- clearInterval(interval);
34184
- };
34185
- }, [text]);
34186
- return React__default.createElement(TextContainer, null, textState);
34161
+ var tooltipWidth = rect.width;
34162
+ var tooltipHeight = rect.height;
34163
+ var isOffScreenRight = clientX + tooltipWidth + offset > window.innerWidth;
34164
+ var isOffScreenBottom = clientY + tooltipHeight + offset > window.innerHeight;
34165
+ var x = (isOffScreenRight ? clientX - tooltipWidth - offset : clientX + offset) - initialOffset.x;
34166
+ var y = (isOffScreenBottom ? clientY - tooltipHeight - offset : clientY + offset) - initialOffset.y;
34167
+ current.style.transform = "translate(" + x + "px, " + y + "px)";
34168
+ current.style.opacity = '1';
34169
+ };
34170
+ window.addEventListener('mousemove', handleMouseMove);
34171
+ return function () {
34172
+ window.removeEventListener('mousemove', handleMouseMove);
34173
+ };
34174
+ }
34175
+ return;
34176
+ }, []);
34177
+ return React__default.createElement(Container$c, {
34178
+ ref: ref
34179
+ }, React__default.createElement(ItemInfoDisplay, {
34180
+ item: item,
34181
+ atlasIMG: atlasIMG,
34182
+ atlasJSON: atlasJSON,
34183
+ equipmentSet: equipmentSet
34184
+ }));
34187
34185
  };
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
-
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';
34186
+ var Container$c = /*#__PURE__*/styled.div.withConfig({
34187
+ displayName: "ItemTooltip__Container",
34188
+ componentId: "sc-11d9r7x-0"
34189
+ })(["position:fixed;z-index:50;pointer-events:none;left:0;top:0;opacity:0;"]);
34196
34190
 
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 = React.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]));
34217
- var _useState = React.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
- };
34236
- React.useEffect(function () {
34237
- document.addEventListener('keydown', onHandleSpacePress);
34238
- return function () {
34239
- return document.removeEventListener('keydown', onHandleSpacePress);
34240
- };
34241
- }, [chunkIndex]);
34191
+ var ItemInfoWrapper = function ItemInfoWrapper(_ref) {
34192
+ var children = _ref.children,
34193
+ atlasIMG = _ref.atlasIMG,
34194
+ atlasJSON = _ref.atlasJSON,
34195
+ item = _ref.item,
34196
+ equipmentSet = _ref.equipmentSet,
34197
+ scale = _ref.scale;
34198
+ var _useState = React.useState(false),
34199
+ isTooltipVisible = _useState[0],
34200
+ setIsTooltipVisible = _useState[1];
34242
34201
  var _useState2 = React.useState(false),
34243
- showGoNextIndicator = _useState2[0],
34244
- setShowGoNextIndicator = _useState2[1];
34245
- return React__default.createElement(Container$b, null, React__default.createElement(DynamicText, {
34246
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
34247
- onFinish: function onFinish() {
34248
- setShowGoNextIndicator(true);
34249
- onEndStep && onEndStep();
34202
+ isTooltipMobileVisible = _useState2[0],
34203
+ setIsTooltipMobileVisible = _useState2[1];
34204
+ return React__default.createElement("div", {
34205
+ onMouseEnter: function onMouseEnter() {
34206
+ if (!isTooltipMobileVisible) setIsTooltipVisible(true);
34250
34207
  },
34251
- onStart: function onStart() {
34252
- setShowGoNextIndicator(false);
34253
- onStartStep && onStartStep();
34254
- }
34255
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
34256
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
34257
- src: IS_MOBILE_OR_TABLET ? img$6 : img$7,
34258
- onPointerDown: function onPointerDown() {
34259
- goToNextStep();
34208
+ onMouseLeave: setIsTooltipVisible.bind(null, false),
34209
+ onTouchEnd: function onTouchEnd() {
34210
+ setIsTooltipMobileVisible(true);
34211
+ setIsTooltipVisible(false);
34260
34212
  }
34213
+ }, children, isTooltipVisible && !isTooltipMobileVisible && React__default.createElement(ItemTooltip, {
34214
+ atlasIMG: atlasIMG,
34215
+ atlasJSON: atlasJSON,
34216
+ equipmentSet: equipmentSet,
34217
+ item: item
34218
+ }), isTooltipMobileVisible && React__default.createElement(MobileItemTooltip, {
34219
+ atlasIMG: atlasIMG,
34220
+ atlasJSON: atlasJSON,
34221
+ equipmentSet: equipmentSet,
34222
+ closeTooltip: function closeTooltip() {
34223
+ setIsTooltipMobileVisible(false);
34224
+ console.log('close');
34225
+ },
34226
+ item: item,
34227
+ scale: scale
34261
34228
  }));
34262
34229
  };
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
34230
 
34275
- //@ts-ignore
34276
- var useEventListener = function useEventListener(type, handler, el) {
34277
- if (el === void 0) {
34278
- el = window;
34279
- }
34280
- var savedHandler = React__default.useRef();
34281
- React__default.useEffect(function () {
34282
- savedHandler.current = handler;
34283
- }, [handler]);
34284
- React__default.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
- };
34231
+ var CraftBook = function CraftBook(_ref) {
34232
+ var atlasIMG = _ref.atlasIMG,
34233
+ atlasJSON = _ref.atlasJSON,
34234
+ onClose = _ref.onClose,
34235
+ onSelect = _ref.onSelect,
34236
+ onCraftItem = _ref.onCraftItem,
34237
+ craftablesItems = _ref.craftablesItems,
34238
+ equipmentSet = _ref.equipmentSet,
34239
+ scale = _ref.scale;
34240
+ var optionsId = 0;
34241
+ var _useState = React.useState({
34242
+ show: false,
34243
+ index: 200
34244
+ }),
34245
+ isShown = _useState[0],
34246
+ setIsShown = _useState[1];
34247
+ var _useState2 = React.useState(),
34248
+ craftItem = _useState2[0],
34249
+ setCraftItem = _useState2[1];
34250
+ var getDropdownOptions = function getDropdownOptions() {
34251
+ var options = [];
34252
+ Object.keys(shared.ItemSubType).forEach(function (key) {
34253
+ if (key === 'DeadBody') {
34254
+ return; // we can't craft crafting resouces...
34255
+ }
34295
34256
 
34296
- var QuestionDialog = function QuestionDialog(_ref) {
34297
- var questions = _ref.questions,
34298
- answers = _ref.answers,
34299
- onClose = _ref.onClose;
34300
- var _useState = React.useState(questions[0]),
34301
- currentQuestion = _useState[0],
34302
- setCurrentQuestion = _useState[1];
34303
- var _useState2 = React.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 = React.useState(onGetFirstAnswer()),
34316
- currentAnswer = _useState3[0],
34317
- setCurrentAnswer = _useState3[1];
34318
- React.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;
34257
+ options.push({
34258
+ id: optionsId,
34259
+ value: key,
34260
+ option: key
34325
34261
  });
34262
+ optionsId += 1;
34326
34263
  });
34264
+ return options;
34327
34265
  };
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)) {
34364
- onClose();
34365
- return;
34366
- } else {
34367
- setCurrentQuestion(questions.find(function (question) {
34368
- return question.id === currentAnswer.nextQuestionId;
34369
- }));
34370
- }
34371
- break;
34372
- }
34266
+ var modifyString = function modifyString(str) {
34267
+ // Split the string by "/" and "."
34268
+ var parts = str.split('/');
34269
+ var fileName = parts[parts.length - 1];
34270
+ parts = fileName.split('.');
34271
+ var name = parts[0];
34272
+ // Replace all occurrences of "-" with " "
34273
+ name = name.replace(/-/g, ' ');
34274
+ // Uppercase the first word
34275
+ var words = name.split(' ');
34276
+ var firstWord = words[0].slice(0, 1).toUpperCase() + words[0].slice(1);
34277
+ var modifiedWords = [firstWord].concat(words.slice(1));
34278
+ name = modifiedWords.join(' ');
34279
+ return name;
34373
34280
  };
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
- }
34281
+ var handleClick = function handleClick(value) {
34282
+ setCraftItem(value);
34386
34283
  };
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;
34395
- }
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__default.createElement(AnswerRow, {
34401
- key: "answer_" + answer.id
34402
- }, React__default.createElement(AnswerSelectedIcon, {
34403
- color: selectedColor
34404
- }, isSelected ? 'X' : null), React__default.createElement(Answer, {
34405
- key: answer.id,
34406
- onPointerDown: function onPointerDown() {
34407
- return onAnswerClick(answer);
34408
- },
34409
- color: selectedColor
34410
- }, answer.text));
34284
+ return React__default.createElement(DraggableContainer, {
34285
+ type: exports.RPGUIContainerTypes.Framed,
34286
+ width: "500px",
34287
+ cancelDrag: ".inputRadioCraftBook",
34288
+ onCloseButton: function onCloseButton() {
34289
+ if (onClose) {
34290
+ onClose();
34411
34291
  }
34412
- return null;
34413
- });
34414
- };
34415
- return React__default.createElement(Container$c, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
34416
- text: currentQuestion.text,
34417
- onStart: function onStart() {
34418
- return setCanShowAnswers(false);
34419
- },
34420
- onFinish: function onFinish() {
34421
- return setCanShowAnswers(true);
34422
34292
  }
34423
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34424
- };
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;}"]);
34453
-
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
- (function (NPCDialogType) {
34457
- NPCDialogType["TextOnly"] = "TextOnly";
34458
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
34459
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
34460
- var NPCDialog = function NPCDialog(_ref) {
34461
- var text = _ref.text,
34462
- type = _ref.type,
34463
- _onClose = _ref.onClose,
34464
- imagePath = _ref.imagePath,
34465
- _ref$isQuestionDialog = _ref.isQuestionDialog,
34466
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
34467
- questions = _ref.questions,
34468
- answers = _ref.answers;
34469
- return React__default.createElement(RPGUIContainer, {
34470
- type: exports.RPGUIContainerTypes.FramedGold,
34471
- width: isQuestionDialog ? '600px' : '80%',
34472
- height: '180px'
34473
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
34474
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34475
- }, React__default.createElement(QuestionDialog, {
34476
- questions: questions,
34477
- answers: answers,
34478
- onClose: function onClose() {
34479
- if (_onClose) {
34480
- _onClose();
34481
- }
34293
+ }, React__default.createElement("div", {
34294
+ style: {
34295
+ width: '100%'
34482
34296
  }
34483
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34484
- src: imagePath || img$8
34485
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$d, null, React__default.createElement(TextContainer$1, {
34486
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
34487
- }, React__default.createElement(NPCDialogText, {
34488
- type: type,
34489
- text: text || 'No text provided.',
34490
- onClose: function onClose() {
34491
- if (_onClose) {
34492
- _onClose();
34493
- }
34297
+ }, React__default.createElement(Title$2, null, "Craftbook"), React__default.createElement(Subtitle, null, "Select an item to craft"), React__default.createElement("hr", {
34298
+ className: "golden"
34299
+ })), React__default.createElement(Dropdown, {
34300
+ options: getDropdownOptions(),
34301
+ onChange: function onChange(value) {
34302
+ return onSelect(value);
34494
34303
  }
34495
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
34496
- src: imagePath || img$8
34497
- })))));
34498
- };
34499
- var Container$d = /*#__PURE__*/styled.div.withConfig({
34500
- displayName: "NPCDialog__Container",
34501
- componentId: "sc-1b4aw74-0"
34502
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34503
- var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
34504
- displayName: "NPCDialog__TextContainer",
34505
- componentId: "sc-1b4aw74-1"
34506
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34507
- var flex = _ref2.flex;
34508
- return flex;
34509
- });
34510
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
34511
- displayName: "NPCDialog__ThumbnailContainer",
34512
- componentId: "sc-1b4aw74-2"
34513
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34514
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
34515
- displayName: "NPCDialog__NPCThumbnail",
34516
- componentId: "sc-1b4aw74-3"
34517
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34518
-
34519
- (function (ImgSide) {
34520
- ImgSide["right"] = "right";
34521
- ImgSide["left"] = "left";
34522
- })(exports.ImgSide || (exports.ImgSide = {}));
34523
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
34524
- var _textAndTypeArray$sli;
34525
- var _onClose = _ref.onClose,
34526
- textAndTypeArray = _ref.textAndTypeArray;
34527
- var _useState = React.useState(false),
34528
- showGoNextIndicator = _useState[0],
34529
- setShowGoNextIndicator = _useState[1];
34530
- var _useState2 = React.useState(0),
34531
- slide = _useState2[0],
34532
- setSlide = _useState2[1];
34533
- var onHandleSpacePress = function onHandleSpacePress(event) {
34534
- if (event.code === 'Space') {
34535
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
34536
- setSlide(function (prev) {
34537
- return prev + 1;
34538
- });
34539
- } else {
34540
- // if there's no more text chunks, close the dialog
34541
- _onClose();
34304
+ }), React__default.createElement(RadioInputScroller, {
34305
+ className: "inputRadioCraftBook"
34306
+ }, craftablesItems == null ? void 0 : craftablesItems.map(function (option, index) {
34307
+ return React__default.createElement(RadioOptionsWrapper, {
34308
+ key: index
34309
+ }, React__default.createElement(SpriteAtlasWrapper, null, React__default.createElement(ItemInfoWrapper, {
34310
+ item: option,
34311
+ atlasIMG: atlasIMG,
34312
+ atlasJSON: atlasJSON,
34313
+ equipmentSet: equipmentSet,
34314
+ scale: scale
34315
+ }, React__default.createElement(SpriteFromAtlas, {
34316
+ atlasIMG: atlasIMG,
34317
+ atlasJSON: atlasJSON,
34318
+ spriteKey: option.texturePath,
34319
+ imgScale: 3,
34320
+ grayScale: !option.canCraft
34321
+ }))), React__default.createElement("div", null, React__default.createElement("div", {
34322
+ onPointerDown: function onPointerDown() {
34323
+ return handleClick(option.key);
34542
34324
  }
34543
- }
34544
- };
34545
- React.useEffect(function () {
34546
- document.addEventListener('keydown', onHandleSpacePress);
34547
- return function () {
34548
- return document.removeEventListener('keydown', onHandleSpacePress);
34549
- };
34550
- }, [slide]);
34551
- return React__default.createElement(RPGUIContainer, {
34552
- type: exports.RPGUIContainerTypes.FramedGold,
34553
- width: '50%',
34554
- height: '180px'
34555
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$e, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
34556
- flex: '70%'
34557
- }, React__default.createElement(NPCDialogText, {
34558
- onStartStep: function onStartStep() {
34559
- return setShowGoNextIndicator(false);
34560
- },
34561
- onEndStep: function onEndStep() {
34562
- return setShowGoNextIndicator(true);
34563
- },
34564
- text: textAndTypeArray[slide].text || 'No text provided.',
34565
- onClose: function onClose() {
34566
- if (_onClose) {
34567
- _onClose();
34325
+ }, React__default.createElement("input", {
34326
+ className: "rpgui-radio",
34327
+ type: "radio",
34328
+ value: option.name,
34329
+ name: "test",
34330
+ disabled: !option.canCraft,
34331
+ checked: craftItem === option.key,
34332
+ onChange: function onChange() {
34333
+ return handleClick(option.key);
34568
34334
  }
34569
- }
34570
- })), React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
34571
- src: textAndTypeArray[slide].imagePath || img$8
34572
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
34573
- right: '10.5rem',
34574
- src: img$7
34575
- })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
34576
- src: textAndTypeArray[slide].imagePath || img$8
34577
- })), React__default.createElement(TextContainer$2, {
34578
- flex: '70%'
34579
- }, React__default.createElement(NPCDialogText, {
34580
- onStartStep: function onStartStep() {
34581
- return setShowGoNextIndicator(false);
34582
- },
34583
- onEndStep: function onEndStep() {
34584
- return setShowGoNextIndicator(true);
34585
- },
34586
- text: textAndTypeArray[slide].text || 'No text provided.',
34587
- onClose: function onClose() {
34588
- if (_onClose) {
34589
- _onClose();
34335
+ }), React__default.createElement("label", {
34336
+ onPointerDown: function onPointerDown() {
34337
+ handleClick(option.key);
34338
+ },
34339
+ onTouchEnd: function onTouchEnd() {
34340
+ setIsShown({
34341
+ show: true,
34342
+ index: index
34343
+ });
34344
+ },
34345
+ style: {
34346
+ display: 'flex',
34347
+ alignItems: 'center'
34348
+ },
34349
+ onMouseEnter: function onMouseEnter() {
34350
+ return setIsShown({
34351
+ show: true,
34352
+ index: index
34353
+ });
34354
+ },
34355
+ onMouseLeave: function onMouseLeave() {
34356
+ return setIsShown({
34357
+ show: false,
34358
+ index: index
34359
+ });
34590
34360
  }
34361
+ }, modifyString(option.name))), isShown && isShown.index === index && option.ingredients.map(function (option, index) {
34362
+ return React__default.createElement(Recipes, {
34363
+ key: index
34364
+ }, React__default.createElement(SpriteFromAtlas, {
34365
+ atlasIMG: atlasIMG,
34366
+ atlasJSON: atlasJSON,
34367
+ spriteKey: option.texturePath,
34368
+ imgScale: 1
34369
+ }), React__default.createElement(StyledItem, null, modifyString(option.key), " (", option.qty, "x)"));
34370
+ })));
34371
+ })), React__default.createElement(ButtonWrapper, null, React__default.createElement(Button, {
34372
+ buttonType: exports.ButtonTypes.RPGUIButton,
34373
+ onPointerDown: onClose
34374
+ }, "Cancel"), React__default.createElement(Button, {
34375
+ buttonType: exports.ButtonTypes.RPGUIButton,
34376
+ onPointerDown: function onPointerDown() {
34377
+ return onCraftItem(craftItem);
34591
34378
  }
34592
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
34593
- right: '1rem',
34594
- src: img$7
34595
- }))), ")"));
34379
+ }, "Craft")));
34596
34380
  };
34597
- var Container$e = /*#__PURE__*/styled.div.withConfig({
34598
- displayName: "NPCMultiDialog__Container",
34599
- componentId: "sc-rvu5wg-0"
34600
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
34601
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
34602
- displayName: "NPCMultiDialog__TextContainer",
34603
- componentId: "sc-rvu5wg-1"
34604
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
34605
- var flex = _ref2.flex;
34606
- return flex;
34607
- });
34608
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
34609
- displayName: "NPCMultiDialog__ThumbnailContainer",
34610
- componentId: "sc-rvu5wg-2"
34611
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
34612
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
34613
- displayName: "NPCMultiDialog__NPCThumbnail",
34614
- componentId: "sc-rvu5wg-3"
34615
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
34616
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
34617
- displayName: "NPCMultiDialog__PressSpaceIndicator",
34618
- componentId: "sc-rvu5wg-4"
34619
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
34620
- var right = _ref3.right;
34621
- return right;
34622
- });
34381
+ var StyledItem = /*#__PURE__*/styled.div.withConfig({
34382
+ displayName: "CraftBook__StyledItem",
34383
+ componentId: "sc-19q95ue-0"
34384
+ })(["margin-left:10px;"]);
34385
+ var Recipes = /*#__PURE__*/styled.div.withConfig({
34386
+ displayName: "CraftBook__Recipes",
34387
+ componentId: "sc-19q95ue-1"
34388
+ })(["font-size:0.6rem;color:yellow !important;margin-bottom:3px;display:flex;align-items:center;.sprite-from-atlas-img{top:0px;left:0px;}"]);
34389
+ var Title$2 = /*#__PURE__*/styled.h1.withConfig({
34390
+ displayName: "CraftBook__Title",
34391
+ componentId: "sc-19q95ue-2"
34392
+ })(["font-size:0.6rem;color:yellow !important;"]);
34393
+ var Subtitle = /*#__PURE__*/styled.h1.withConfig({
34394
+ displayName: "CraftBook__Subtitle",
34395
+ componentId: "sc-19q95ue-3"
34396
+ })(["font-size:0.4rem;color:yellow !important;"]);
34397
+ var RadioInputScroller = /*#__PURE__*/styled.div.withConfig({
34398
+ displayName: "CraftBook__RadioInputScroller",
34399
+ componentId: "sc-19q95ue-4"
34400
+ })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;-webkit-overflow-scrolling:touch;"]);
34401
+ var SpriteAtlasWrapper = /*#__PURE__*/styled.div.withConfig({
34402
+ displayName: "CraftBook__SpriteAtlasWrapper",
34403
+ componentId: "sc-19q95ue-5"
34404
+ })(["margin-right:40px;"]);
34405
+ var RadioOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
34406
+ displayName: "CraftBook__RadioOptionsWrapper",
34407
+ componentId: "sc-19q95ue-6"
34408
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
34409
+ var ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
34410
+ displayName: "CraftBook__ButtonWrapper",
34411
+ componentId: "sc-19q95ue-7"
34412
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
34623
34413
 
34624
- var HistoryDialog = function HistoryDialog(_ref) {
34625
- var backgroundImgPath = _ref.backgroundImgPath,
34626
- fullCoverBackground = _ref.fullCoverBackground,
34627
- questions = _ref.questions,
34628
- answers = _ref.answers,
34629
- text = _ref.text,
34630
- imagePath = _ref.imagePath,
34631
- textAndTypeArray = _ref.textAndTypeArray,
34632
- onClose = _ref.onClose;
34633
- var _useState = React.useState(0),
34634
- img = _useState[0],
34635
- setImage = _useState[1];
34636
- var onHandleSpacePress = function onHandleSpacePress(event) {
34637
- if (event.code === 'Space') {
34638
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
34639
- setImage(function (prev) {
34640
- return prev + 1;
34641
- });
34642
- } else {
34643
- // if there's no more text chunks, close the dialog
34644
- onClose();
34645
- }
34646
- }
34414
+ var DropdownSelectorContainer = function DropdownSelectorContainer(_ref) {
34415
+ var title = _ref.title,
34416
+ onChange = _ref.onChange,
34417
+ options = _ref.options,
34418
+ details = _ref.details;
34419
+ return React__default.createElement("div", null, React__default.createElement("p", null, title), React__default.createElement(Dropdown, {
34420
+ options: options.map(function (option, index) {
34421
+ return {
34422
+ option: option.name,
34423
+ value: option.id,
34424
+ id: index
34425
+ };
34426
+ }),
34427
+ onChange: onChange
34428
+ }), React__default.createElement(Details, null, details));
34429
+ };
34430
+ var Details = /*#__PURE__*/styled.p.withConfig({
34431
+ displayName: "DropdownSelectorContainer__Details",
34432
+ componentId: "sc-kaa0h9-0"
34433
+ })(["font-size:", " !important;"], uiFonts.size.xsmall);
34434
+
34435
+ var EquipmentSet = function EquipmentSet(_ref) {
34436
+ var equipmentSet = _ref.equipmentSet,
34437
+ onClose = _ref.onClose,
34438
+ _onMouseOver = _ref.onMouseOver,
34439
+ _onSelected = _ref.onSelected,
34440
+ onItemClick = _ref.onItemClick,
34441
+ atlasIMG = _ref.atlasIMG,
34442
+ atlasJSON = _ref.atlasJSON,
34443
+ onItemDragEnd = _ref.onItemDragEnd,
34444
+ onItemDragStart = _ref.onItemDragStart,
34445
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
34446
+ onItemOutsideDrop = _ref.onItemOutsideDrop,
34447
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34448
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34449
+ dragScale = _ref.dragScale;
34450
+ var neck = equipmentSet.neck,
34451
+ leftHand = equipmentSet.leftHand,
34452
+ ring = equipmentSet.ring,
34453
+ head = equipmentSet.head,
34454
+ armor = equipmentSet.armor,
34455
+ legs = equipmentSet.legs,
34456
+ boot = equipmentSet.boot,
34457
+ inventory = equipmentSet.inventory,
34458
+ rightHand = equipmentSet.rightHand,
34459
+ accessory = equipmentSet.accessory;
34460
+ var equipmentData = [neck, leftHand, ring, head, armor, legs, boot, inventory, rightHand, accessory];
34461
+ var equipmentMaskSlots = [shared.ItemSlotType.Neck, shared.ItemSlotType.LeftHand, shared.ItemSlotType.Ring, shared.ItemSlotType.Head, shared.ItemSlotType.Torso, shared.ItemSlotType.Legs, shared.ItemSlotType.Feet, shared.ItemSlotType.Inventory, shared.ItemSlotType.RightHand, shared.ItemSlotType.Accessory];
34462
+ var onRenderEquipmentSlotRange = function onRenderEquipmentSlotRange(start, end) {
34463
+ var equipmentRange = equipmentData.slice(start, end);
34464
+ var slotMaksRange = equipmentMaskSlots.slice(start, end);
34465
+ return equipmentRange.map(function (data, i) {
34466
+ var _ref2;
34467
+ var item = data;
34468
+ var itemContainer = (_ref2 = item && item.itemContainer) != null ? _ref2 : null;
34469
+ return React__default.createElement(ItemSlot, {
34470
+ key: i,
34471
+ slotIndex: i,
34472
+ item: item,
34473
+ itemContainer: itemContainer,
34474
+ itemContainerType: shared.ItemContainerType.Equipment,
34475
+ slotSpriteMask: slotMaksRange[i],
34476
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
34477
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34478
+ },
34479
+ onPointerDown: function onPointerDown(itemType, ContainerType) {
34480
+ if (onItemClick) onItemClick(itemType, item, ContainerType);
34481
+ },
34482
+ onSelected: function onSelected(optionId) {
34483
+ if (_onSelected) _onSelected(optionId);
34484
+ },
34485
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
34486
+ if (!item) {
34487
+ return;
34488
+ }
34489
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
34490
+ },
34491
+ onDragEnd: function onDragEnd(quantity) {
34492
+ if (onItemDragEnd) onItemDragEnd(quantity);
34493
+ },
34494
+ dragScale: dragScale,
34495
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
34496
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
34497
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
34498
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
34499
+ },
34500
+ onOutsideDrop: function onOutsideDrop(item, position) {
34501
+ if (onItemOutsideDrop) onItemOutsideDrop(item, position);
34502
+ },
34503
+ atlasIMG: atlasIMG,
34504
+ atlasJSON: atlasJSON
34505
+ });
34506
+ });
34647
34507
  };
34648
- React.useEffect(function () {
34649
- document.addEventListener('keydown', onHandleSpacePress);
34650
- return function () {
34651
- return document.removeEventListener('keydown', onHandleSpacePress);
34652
- };
34653
- }, [backgroundImgPath]);
34654
- return React__default.createElement(BackgroundContainer, {
34655
- imgPath: backgroundImgPath[img],
34656
- fullImg: fullCoverBackground
34657
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
34658
- textAndTypeArray: textAndTypeArray,
34659
- onClose: onClose
34660
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
34661
- questions: questions,
34662
- answers: answers,
34663
- onClose: onClose
34664
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
34665
- text: text,
34666
- imagePath: imagePath,
34667
- onClose: onClose,
34668
- type: exports.NPCDialogType.TextAndThumbnail
34669
- }) : React__default.createElement(NPCDialog, {
34670
- text: text,
34671
- onClose: onClose,
34672
- type: exports.NPCDialogType.TextOnly
34673
- })));
34508
+ return React__default.createElement(DraggableContainer, {
34509
+ title: 'Equipments',
34510
+ type: exports.RPGUIContainerTypes.Framed,
34511
+ onCloseButton: function onCloseButton() {
34512
+ if (onClose) onClose();
34513
+ },
34514
+ width: "330px",
34515
+ cancelDrag: ".equipment-container-body"
34516
+ }, React__default.createElement(EquipmentSetContainer, {
34517
+ className: "equipment-container-body"
34518
+ }, React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(0, 3)), React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(3, 7)), React__default.createElement(EquipmentColumn, null, onRenderEquipmentSlotRange(7, 10))));
34674
34519
  };
34675
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
34676
- displayName: "HistoryDialog__BackgroundContainer",
34677
- componentId: "sc-u6oe75-0"
34678
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
34679
- return props.imgPath;
34680
- }, function (props) {
34681
- return props.imgPath ? 'cover' : 'auto';
34682
- });
34683
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
34684
- displayName: "HistoryDialog__DialogContainer",
34685
- componentId: "sc-u6oe75-1"
34686
- })(["display:flex;justify-content:center;padding-top:200px;"]);
34520
+ var EquipmentSetContainer = /*#__PURE__*/styled.div.withConfig({
34521
+ displayName: "EquipmentSet__EquipmentSetContainer",
34522
+ componentId: "sc-1wuddg2-0"
34523
+ })(["width:inherit;display:flex;justify-content:center;flex-wrap:wrap;flex-direction:row;touch-action:none;"]);
34524
+ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
34525
+ displayName: "EquipmentSet__EquipmentColumn",
34526
+ componentId: "sc-1wuddg2-1"
34527
+ })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
34687
34528
 
34688
34529
  var SlotsContainer = function SlotsContainer(_ref) {
34689
34530
  var children = _ref.children,
@@ -34905,7 +34746,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34905
34746
  return word[0];
34906
34747
  }));
34907
34748
  };
34908
- return React__default.createElement(Container$f, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34749
+ return React__default.createElement(Container$d, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34909
34750
  id: "shortcuts_list"
34910
34751
  }, Array.from({
34911
34752
  length: 6
@@ -34921,7 +34762,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34921
34762
  }, getContent(i));
34922
34763
  })));
34923
34764
  };
34924
- var Container$f = /*#__PURE__*/styled.div.withConfig({
34765
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34925
34766
  displayName: "ShortcutsSetter__Container",
34926
34767
  componentId: "sc-xuouuf-0"
34927
34768
  })(["p{margin:0;margin-left:0.5rem;}"]);
@@ -34958,7 +34799,8 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34958
34799
  dragScale = _ref.dragScale,
34959
34800
  shortcuts = _ref.shortcuts,
34960
34801
  setItemShortcut = _ref.setItemShortcut,
34961
- removeShortcut = _ref.removeShortcut;
34802
+ removeShortcut = _ref.removeShortcut,
34803
+ equipmentSet = _ref.equipmentSet;
34962
34804
  var _useState = React.useState({
34963
34805
  isOpen: false,
34964
34806
  maxQuantity: 1,
@@ -35017,173 +34859,499 @@ var ItemContainer$1 = function ItemContainer(_ref) {
35017
34859
  },
35018
34860
  atlasIMG: atlasIMG,
35019
34861
  atlasJSON: atlasJSON,
35020
- isSelectingShortcut: settingShortcutIndex !== -1
34862
+ isSelectingShortcut: settingShortcutIndex !== -1,
34863
+ equipmentSet: equipmentSet
35021
34864
  }));
35022
34865
  }
35023
- return slots;
34866
+ return slots;
34867
+ };
34868
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
34869
+ title: itemContainer.name || 'Container',
34870
+ onClose: onClose,
34871
+ initialPosition: initialPosition
34872
+ }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
34873
+ setSettingShortcutIndex: setSettingShortcutIndex,
34874
+ settingShortcutIndex: settingShortcutIndex,
34875
+ shortcuts: shortcuts,
34876
+ removeShortcut: removeShortcut,
34877
+ atlasIMG: atlasIMG,
34878
+ atlasJSON: atlasJSON
34879
+ }), React__default.createElement(ItemsContainer, {
34880
+ className: "item-container-body"
34881
+ }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
34882
+ quantity: quantitySelect.maxQuantity,
34883
+ onConfirm: function onConfirm(quantity) {
34884
+ quantitySelect.callback(quantity);
34885
+ setQuantitySelect({
34886
+ isOpen: false,
34887
+ maxQuantity: 1,
34888
+ callback: function callback() {}
34889
+ });
34890
+ },
34891
+ onClose: function onClose() {
34892
+ quantitySelect.callback(-1);
34893
+ setQuantitySelect({
34894
+ isOpen: false,
34895
+ maxQuantity: 1,
34896
+ callback: function callback() {}
34897
+ });
34898
+ }
34899
+ })));
34900
+ };
34901
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
34902
+ displayName: "ItemContainer__ItemsContainer",
34903
+ componentId: "sc-15y5p9l-0"
34904
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
34905
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
34906
+ displayName: "ItemContainer__QuantitySelectorContainer",
34907
+ componentId: "sc-15y5p9l-1"
34908
+ })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
34909
+
34910
+ var ItemSelector = function ItemSelector(_ref) {
34911
+ var atlasIMG = _ref.atlasIMG,
34912
+ atlasJSON = _ref.atlasJSON,
34913
+ options = _ref.options,
34914
+ onClose = _ref.onClose,
34915
+ onSelect = _ref.onSelect;
34916
+ var _useState = React.useState(),
34917
+ selectedValue = _useState[0],
34918
+ setSelectedValue = _useState[1];
34919
+ var handleClick = function handleClick() {
34920
+ var element = document.querySelector("input[name='test']:checked");
34921
+ var elementValue = element.value;
34922
+ setSelectedValue(elementValue);
34923
+ };
34924
+ React.useEffect(function () {
34925
+ if (selectedValue) {
34926
+ onSelect(selectedValue);
34927
+ }
34928
+ }, [selectedValue]);
34929
+ return React__default.createElement(DraggableContainer, {
34930
+ type: exports.RPGUIContainerTypes.Framed,
34931
+ width: "500px",
34932
+ cancelDrag: ".equipment-container-body .arrow-selector",
34933
+ onCloseButton: function onCloseButton() {
34934
+ if (onClose) {
34935
+ onClose();
34936
+ }
34937
+ }
34938
+ }, React__default.createElement("div", {
34939
+ style: {
34940
+ width: '100%'
34941
+ }
34942
+ }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
34943
+ className: "golden"
34944
+ })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
34945
+ return React__default.createElement(RadioOptionsWrapper$1, {
34946
+ key: index
34947
+ }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
34948
+ atlasIMG: atlasIMG,
34949
+ atlasJSON: atlasJSON,
34950
+ spriteKey: option.imageKey,
34951
+ imgScale: 3
34952
+ })), React__default.createElement("div", null, React__default.createElement("input", {
34953
+ className: "rpgui-radio",
34954
+ type: "radio",
34955
+ value: option.name,
34956
+ name: "test"
34957
+ }), React__default.createElement("label", {
34958
+ onPointerDown: handleClick,
34959
+ style: {
34960
+ display: 'flex',
34961
+ alignItems: 'center'
34962
+ }
34963
+ }, option.name, " ", React__default.createElement("br", null), option.description)));
34964
+ })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
34965
+ buttonType: exports.ButtonTypes.RPGUIButton,
34966
+ onPointerDown: onClose
34967
+ }, "Cancel"), React__default.createElement(Button, {
34968
+ buttonType: exports.ButtonTypes.RPGUIButton
34969
+ }, "Select")));
34970
+ };
34971
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
34972
+ displayName: "ItemSelector__Title",
34973
+ componentId: "sc-gptoxp-0"
34974
+ })(["font-size:0.6rem;color:yellow !important;"]);
34975
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
34976
+ displayName: "ItemSelector__Subtitle",
34977
+ componentId: "sc-gptoxp-1"
34978
+ })(["font-size:0.4rem;color:yellow !important;"]);
34979
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
34980
+ displayName: "ItemSelector__RadioInputScroller",
34981
+ componentId: "sc-gptoxp-2"
34982
+ })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
34983
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34984
+ displayName: "ItemSelector__SpriteAtlasWrapper",
34985
+ componentId: "sc-gptoxp-3"
34986
+ })(["margin-right:40px;"]);
34987
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34988
+ displayName: "ItemSelector__RadioOptionsWrapper",
34989
+ componentId: "sc-gptoxp-4"
34990
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
34991
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
34992
+ displayName: "ItemSelector__ButtonWrapper",
34993
+ componentId: "sc-gptoxp-5"
34994
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
34995
+
34996
+ var ListMenu = function ListMenu(_ref) {
34997
+ var options = _ref.options,
34998
+ onSelected = _ref.onSelected,
34999
+ x = _ref.x,
35000
+ y = _ref.y;
35001
+ return React__default.createElement(Container$e, {
35002
+ x: x,
35003
+ y: y
35004
+ }, React__default.createElement("ul", {
35005
+ className: "rpgui-list-imp",
35006
+ style: {
35007
+ overflow: 'hidden'
35008
+ }
35009
+ }, options.map(function (params, index) {
35010
+ return React__default.createElement(ListElement$1, {
35011
+ key: (params == null ? void 0 : params.id) || index,
35012
+ onPointerDown: function onPointerDown() {
35013
+ onSelected(params == null ? void 0 : params.id);
35014
+ }
35015
+ }, (params == null ? void 0 : params.text) || 'No text');
35016
+ })));
35017
+ };
35018
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
35019
+ displayName: "ListMenu__Container",
35020
+ componentId: "sc-i9097t-0"
35021
+ })(["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) {
35022
+ return props.y || 0;
35023
+ }, function (props) {
35024
+ return props.x || 0;
35025
+ }, uiFonts.size.xsmall);
35026
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
35027
+ displayName: "ListMenu__ListElement",
35028
+ componentId: "sc-i9097t-1"
35029
+ })(["margin-right:0.5rem;"]);
35030
+
35031
+ var img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
35032
+
35033
+ 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';
35034
+
35035
+ (function (ImgSide) {
35036
+ ImgSide["right"] = "right";
35037
+ ImgSide["left"] = "left";
35038
+ })(exports.ImgSide || (exports.ImgSide = {}));
35039
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
35040
+ var _textAndTypeArray$sli;
35041
+ var _onClose = _ref.onClose,
35042
+ textAndTypeArray = _ref.textAndTypeArray;
35043
+ var _useState = React.useState(false),
35044
+ showGoNextIndicator = _useState[0],
35045
+ setShowGoNextIndicator = _useState[1];
35046
+ var _useState2 = React.useState(0),
35047
+ slide = _useState2[0],
35048
+ setSlide = _useState2[1];
35049
+ var onHandleSpacePress = function onHandleSpacePress(event) {
35050
+ if (event.code === 'Space') {
35051
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
35052
+ setSlide(function (prev) {
35053
+ return prev + 1;
35054
+ });
35055
+ } else {
35056
+ // if there's no more text chunks, close the dialog
35057
+ _onClose();
35058
+ }
35059
+ }
35060
+ };
35061
+ React.useEffect(function () {
35062
+ document.addEventListener('keydown', onHandleSpacePress);
35063
+ return function () {
35064
+ return document.removeEventListener('keydown', onHandleSpacePress);
35065
+ };
35066
+ }, [slide]);
35067
+ return React__default.createElement(RPGUIContainer, {
35068
+ type: exports.RPGUIContainerTypes.FramedGold,
35069
+ width: '50%',
35070
+ height: '180px'
35071
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$f, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
35072
+ flex: '70%'
35073
+ }, React__default.createElement(NPCDialogText, {
35074
+ onStartStep: function onStartStep() {
35075
+ return setShowGoNextIndicator(false);
35076
+ },
35077
+ onEndStep: function onEndStep() {
35078
+ return setShowGoNextIndicator(true);
35079
+ },
35080
+ text: textAndTypeArray[slide].text || 'No text provided.',
35081
+ onClose: function onClose() {
35082
+ if (_onClose) {
35083
+ _onClose();
35084
+ }
35085
+ }
35086
+ })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
35087
+ src: textAndTypeArray[slide].imagePath || img$6
35088
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
35089
+ right: '10.5rem',
35090
+ src: img$7
35091
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
35092
+ src: textAndTypeArray[slide].imagePath || img$6
35093
+ })), React__default.createElement(TextContainer, {
35094
+ flex: '70%'
35095
+ }, React__default.createElement(NPCDialogText, {
35096
+ onStartStep: function onStartStep() {
35097
+ return setShowGoNextIndicator(false);
35098
+ },
35099
+ onEndStep: function onEndStep() {
35100
+ return setShowGoNextIndicator(true);
35101
+ },
35102
+ text: textAndTypeArray[slide].text || 'No text provided.',
35103
+ onClose: function onClose() {
35104
+ if (_onClose) {
35105
+ _onClose();
35106
+ }
35107
+ }
35108
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
35109
+ right: '1rem',
35110
+ src: img$7
35111
+ }))), ")"));
35112
+ };
35113
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
35114
+ displayName: "NPCMultiDialog__Container",
35115
+ componentId: "sc-rvu5wg-0"
35116
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
35117
+ var TextContainer = /*#__PURE__*/styled.div.withConfig({
35118
+ displayName: "NPCMultiDialog__TextContainer",
35119
+ componentId: "sc-rvu5wg-1"
35120
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
35121
+ var flex = _ref2.flex;
35122
+ return flex;
35123
+ });
35124
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
35125
+ displayName: "NPCMultiDialog__ThumbnailContainer",
35126
+ componentId: "sc-rvu5wg-2"
35127
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
35128
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
35129
+ displayName: "NPCMultiDialog__NPCThumbnail",
35130
+ componentId: "sc-rvu5wg-3"
35131
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
35132
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
35133
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
35134
+ componentId: "sc-rvu5wg-4"
35135
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
35136
+ var right = _ref3.right;
35137
+ return right;
35138
+ });
35139
+
35140
+ //@ts-ignore
35141
+ var useEventListener = function useEventListener(type, handler, el) {
35142
+ if (el === void 0) {
35143
+ el = window;
35144
+ }
35145
+ var savedHandler = React__default.useRef();
35146
+ React__default.useEffect(function () {
35147
+ savedHandler.current = handler;
35148
+ }, [handler]);
35149
+ React__default.useEffect(function () {
35150
+ //@ts-ignore
35151
+ var listener = function listener(e) {
35152
+ return savedHandler.current(e);
35153
+ };
35154
+ el.addEventListener(type, listener);
35155
+ return function () {
35156
+ el.removeEventListener(type, listener);
35157
+ };
35158
+ }, [type, el]);
35159
+ };
35160
+
35161
+ var DynamicText = function DynamicText(_ref) {
35162
+ var text = _ref.text,
35163
+ onFinish = _ref.onFinish,
35164
+ onStart = _ref.onStart;
35165
+ var _useState = React.useState(''),
35166
+ textState = _useState[0],
35167
+ setTextState = _useState[1];
35168
+ React.useEffect(function () {
35169
+ var i = 0;
35170
+ var interval = setInterval(function () {
35171
+ // on every interval, show one more character
35172
+ if (i === 0) {
35173
+ if (onStart) {
35174
+ onStart();
35175
+ }
35176
+ }
35177
+ if (i < text.length) {
35178
+ setTextState(text.substring(0, i + 1));
35179
+ i++;
35180
+ } else {
35181
+ clearInterval(interval);
35182
+ if (onFinish) {
35183
+ onFinish();
35184
+ }
35185
+ }
35186
+ }, 50);
35187
+ return function () {
35188
+ clearInterval(interval);
35189
+ };
35190
+ }, [text]);
35191
+ return React__default.createElement(TextContainer$1, null, textState);
35192
+ };
35193
+ var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
35194
+ displayName: "DynamicText__TextContainer",
35195
+ componentId: "sc-1ggl9nd-0"
35196
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
35197
+
35198
+ var QuestionDialog = function QuestionDialog(_ref) {
35199
+ var questions = _ref.questions,
35200
+ answers = _ref.answers,
35201
+ onClose = _ref.onClose;
35202
+ var _useState = React.useState(questions[0]),
35203
+ currentQuestion = _useState[0],
35204
+ setCurrentQuestion = _useState[1];
35205
+ var _useState2 = React.useState(false),
35206
+ canShowAnswers = _useState2[0],
35207
+ setCanShowAnswers = _useState2[1];
35208
+ var onGetFirstAnswer = function onGetFirstAnswer() {
35209
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
35210
+ return null;
35211
+ }
35212
+ var firstAnswerId = currentQuestion.answerIds[0];
35213
+ return answers.find(function (answer) {
35214
+ return answer.id === firstAnswerId;
35215
+ });
35024
35216
  };
35025
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
35026
- title: itemContainer.name || 'Container',
35027
- onClose: onClose,
35028
- initialPosition: initialPosition
35029
- }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
35030
- setSettingShortcutIndex: setSettingShortcutIndex,
35031
- settingShortcutIndex: settingShortcutIndex,
35032
- shortcuts: shortcuts,
35033
- removeShortcut: removeShortcut,
35034
- atlasIMG: atlasIMG,
35035
- atlasJSON: atlasJSON
35036
- }), React__default.createElement(ItemsContainer, {
35037
- className: "item-container-body"
35038
- }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
35039
- quantity: quantitySelect.maxQuantity,
35040
- onConfirm: function onConfirm(quantity) {
35041
- quantitySelect.callback(quantity);
35042
- setQuantitySelect({
35043
- isOpen: false,
35044
- maxQuantity: 1,
35045
- callback: function callback() {}
35046
- });
35047
- },
35048
- onClose: function onClose() {
35049
- quantitySelect.callback(-1);
35050
- setQuantitySelect({
35051
- isOpen: false,
35052
- maxQuantity: 1,
35053
- callback: function callback() {}
35217
+ var _useState3 = React.useState(onGetFirstAnswer()),
35218
+ currentAnswer = _useState3[0],
35219
+ setCurrentAnswer = _useState3[1];
35220
+ React.useEffect(function () {
35221
+ setCurrentAnswer(onGetFirstAnswer());
35222
+ }, [currentQuestion]);
35223
+ var onGetAnswers = function onGetAnswers(answerIds) {
35224
+ return answerIds.map(function (answerId) {
35225
+ return answers.find(function (answer) {
35226
+ return answer.id === answerId;
35054
35227
  });
35228
+ });
35229
+ };
35230
+ var onKeyPress = function onKeyPress(e) {
35231
+ switch (e.key) {
35232
+ case 'ArrowDown':
35233
+ // select next answer, if any.
35234
+ // if no next answer, select first answer
35235
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
35236
+ // (answer) => answer?.id === currentAnswer!.id + 1
35237
+ // );
35238
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
35239
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
35240
+ });
35241
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
35242
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
35243
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
35244
+ });
35245
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
35246
+ break;
35247
+ case 'ArrowUp':
35248
+ // select previous answer, if any.
35249
+ // if no previous answer, select last answer
35250
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
35251
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
35252
+ });
35253
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
35254
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
35255
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
35256
+ });
35257
+ if (previousAnswer) {
35258
+ setCurrentAnswer(previousAnswer);
35259
+ } else {
35260
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
35261
+ }
35262
+ break;
35263
+ case 'Enter':
35264
+ setCanShowAnswers(false);
35265
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
35266
+ onClose();
35267
+ return;
35268
+ } else {
35269
+ setCurrentQuestion(questions.find(function (question) {
35270
+ return question.id === currentAnswer.nextQuestionId;
35271
+ }));
35272
+ }
35273
+ break;
35055
35274
  }
35056
- })));
35057
- };
35058
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
35059
- displayName: "ItemContainer__ItemsContainer",
35060
- componentId: "sc-15y5p9l-0"
35061
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
35062
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
35063
- displayName: "ItemContainer__QuantitySelectorContainer",
35064
- componentId: "sc-15y5p9l-1"
35065
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
35066
-
35067
- var ItemSelector = function ItemSelector(_ref) {
35068
- var atlasIMG = _ref.atlasIMG,
35069
- atlasJSON = _ref.atlasJSON,
35070
- options = _ref.options,
35071
- onClose = _ref.onClose,
35072
- onSelect = _ref.onSelect;
35073
- var _useState = React.useState(),
35074
- selectedValue = _useState[0],
35075
- setSelectedValue = _useState[1];
35076
- var handleClick = function handleClick() {
35077
- var element = document.querySelector("input[name='test']:checked");
35078
- var elementValue = element.value;
35079
- setSelectedValue(elementValue);
35080
35275
  };
35081
- React.useEffect(function () {
35082
- if (selectedValue) {
35083
- onSelect(selectedValue);
35276
+ useEventListener('keydown', onKeyPress);
35277
+ var onAnswerClick = function onAnswerClick(answer) {
35278
+ setCanShowAnswers(false);
35279
+ if (answer.nextQuestionId) {
35280
+ // if there is a next question, go to it
35281
+ setCurrentQuestion(questions.find(function (question) {
35282
+ return question.id === answer.nextQuestionId;
35283
+ }));
35284
+ } else {
35285
+ // else, finish dialog!
35286
+ onClose();
35084
35287
  }
35085
- }, [selectedValue]);
35086
- return React__default.createElement(DraggableContainer, {
35087
- type: exports.RPGUIContainerTypes.Framed,
35088
- width: "500px",
35089
- cancelDrag: ".equipment-container-body .arrow-selector",
35090
- onCloseButton: function onCloseButton() {
35091
- if (onClose) {
35092
- onClose();
35093
- }
35288
+ };
35289
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
35290
+ var answerIds = currentQuestion.answerIds;
35291
+ if (!answerIds) {
35292
+ return null;
35094
35293
  }
35095
- }, React__default.createElement("div", {
35096
- style: {
35097
- width: '100%'
35294
+ var answers = onGetAnswers(answerIds);
35295
+ if (!answers) {
35296
+ return null;
35098
35297
  }
35099
- }, React__default.createElement(Title$2, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
35100
- className: "golden"
35101
- })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
35102
- return React__default.createElement(RadioOptionsWrapper$1, {
35103
- key: index
35104
- }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
35105
- atlasIMG: atlasIMG,
35106
- atlasJSON: atlasJSON,
35107
- spriteKey: option.imageKey,
35108
- imgScale: 3
35109
- })), React__default.createElement("div", null, React__default.createElement("input", {
35110
- className: "rpgui-radio",
35111
- type: "radio",
35112
- value: option.name,
35113
- name: "test"
35114
- }), React__default.createElement("label", {
35115
- onPointerDown: handleClick,
35116
- style: {
35117
- display: 'flex',
35118
- alignItems: 'center'
35298
+ return answers.map(function (answer) {
35299
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
35300
+ var selectedColor = isSelected ? 'yellow' : 'white';
35301
+ if (answer) {
35302
+ return React__default.createElement(AnswerRow, {
35303
+ key: "answer_" + answer.id
35304
+ }, React__default.createElement(AnswerSelectedIcon, {
35305
+ color: selectedColor
35306
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
35307
+ key: answer.id,
35308
+ onPointerDown: function onPointerDown() {
35309
+ return onAnswerClick(answer);
35310
+ },
35311
+ color: selectedColor
35312
+ }, answer.text));
35119
35313
  }
35120
- }, option.name, " ", React__default.createElement("br", null), option.description)));
35121
- })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
35122
- buttonType: exports.ButtonTypes.RPGUIButton,
35123
- onPointerDown: onClose
35124
- }, "Cancel"), React__default.createElement(Button, {
35125
- buttonType: exports.ButtonTypes.RPGUIButton
35126
- }, "Select")));
35127
- };
35128
- var Title$2 = /*#__PURE__*/styled.h1.withConfig({
35129
- displayName: "ItemSelector__Title",
35130
- componentId: "sc-gptoxp-0"
35131
- })(["font-size:0.6rem;color:yellow !important;"]);
35132
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
35133
- displayName: "ItemSelector__Subtitle",
35134
- componentId: "sc-gptoxp-1"
35135
- })(["font-size:0.4rem;color:yellow !important;"]);
35136
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
35137
- displayName: "ItemSelector__RadioInputScroller",
35138
- componentId: "sc-gptoxp-2"
35139
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
35140
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35141
- displayName: "ItemSelector__SpriteAtlasWrapper",
35142
- componentId: "sc-gptoxp-3"
35143
- })(["margin-right:40px;"]);
35144
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35145
- displayName: "ItemSelector__RadioOptionsWrapper",
35146
- componentId: "sc-gptoxp-4"
35147
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
35148
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
35149
- displayName: "ItemSelector__ButtonWrapper",
35150
- componentId: "sc-gptoxp-5"
35151
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
35152
-
35153
- var ListMenu = function ListMenu(_ref) {
35154
- var options = _ref.options,
35155
- onSelected = _ref.onSelected,
35156
- x = _ref.x,
35157
- y = _ref.y;
35158
- return React__default.createElement(Container$g, {
35159
- x: x,
35160
- y: y
35161
- }, React__default.createElement("ul", {
35162
- className: "rpgui-list-imp",
35163
- style: {
35164
- overflow: 'hidden'
35314
+ return null;
35315
+ });
35316
+ };
35317
+ return React__default.createElement(Container$g, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
35318
+ text: currentQuestion.text,
35319
+ onStart: function onStart() {
35320
+ return setCanShowAnswers(false);
35321
+ },
35322
+ onFinish: function onFinish() {
35323
+ return setCanShowAnswers(true);
35165
35324
  }
35166
- }, options.map(function (params, index) {
35167
- return React__default.createElement(ListElement$1, {
35168
- key: (params == null ? void 0 : params.id) || index,
35169
- onPointerDown: function onPointerDown() {
35170
- onSelected(params == null ? void 0 : params.id);
35171
- }
35172
- }, (params == null ? void 0 : params.text) || 'No text');
35173
- })));
35325
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
35174
35326
  };
35175
35327
  var Container$g = /*#__PURE__*/styled.div.withConfig({
35176
- displayName: "ListMenu__Container",
35177
- componentId: "sc-i9097t-0"
35178
- })(["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) {
35179
- return props.y || 0;
35180
- }, function (props) {
35181
- return props.x || 0;
35182
- }, uiFonts.size.xsmall);
35183
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
35184
- displayName: "ListMenu__ListElement",
35185
- componentId: "sc-i9097t-1"
35186
- })(["margin-right:0.5rem;"]);
35328
+ displayName: "QuestionDialog__Container",
35329
+ componentId: "sc-bxc5u0-0"
35330
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
35331
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
35332
+ displayName: "QuestionDialog__QuestionContainer",
35333
+ componentId: "sc-bxc5u0-1"
35334
+ })(["flex:100%;width:100%;"]);
35335
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
35336
+ displayName: "QuestionDialog__AnswersContainer",
35337
+ componentId: "sc-bxc5u0-2"
35338
+ })(["flex:100%;"]);
35339
+ var Answer = /*#__PURE__*/styled.p.withConfig({
35340
+ displayName: "QuestionDialog__Answer",
35341
+ componentId: "sc-bxc5u0-3"
35342
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
35343
+ return props.color;
35344
+ });
35345
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
35346
+ displayName: "QuestionDialog__AnswerSelectedIcon",
35347
+ componentId: "sc-bxc5u0-4"
35348
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
35349
+ return props.color;
35350
+ });
35351
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
35352
+ displayName: "QuestionDialog__AnswerRow",
35353
+ componentId: "sc-bxc5u0-5"
35354
+ })(["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;}"]);
35187
35355
 
35188
35356
  var ProgressBar = function ProgressBar(_ref) {
35189
35357
  var max = _ref.max,
@@ -35242,7 +35410,7 @@ var Container$h = /*#__PURE__*/styled.div.withConfig({
35242
35410
  return props.style;
35243
35411
  });
35244
35412
 
35245
- var img$9 = 'data:image/png;base64,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';
35413
+ var img$8 = 'data:image/png;base64,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';
35246
35414
 
35247
35415
  var QuestInfo = function QuestInfo(_ref) {
35248
35416
  var quests = _ref.quests,
@@ -35283,8 +35451,8 @@ var QuestInfo = function QuestInfo(_ref) {
35283
35451
  onPointerDown: onRightClick
35284
35452
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35285
35453
  className: "drag-handler"
35286
- }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35287
- src: quests[currentIndex].thumbnail || img$9
35454
+ }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
35455
+ src: quests[currentIndex].thumbnail || img$8
35288
35456
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35289
35457
  className: "golden"
35290
35458
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -35302,8 +35470,8 @@ var QuestInfo = function QuestInfo(_ref) {
35302
35470
  }, button.title);
35303
35471
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
35304
35472
  className: "drag-handler"
35305
- }, React__default.createElement(Title$3, null, React__default.createElement(Thumbnail, {
35306
- src: quests[0].thumbnail || img$9
35473
+ }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
35474
+ src: quests[0].thumbnail || img$8
35307
35475
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
35308
35476
  className: "golden"
35309
35477
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -35349,7 +35517,7 @@ var TitleContainer$1 = /*#__PURE__*/styled.div.withConfig({
35349
35517
  displayName: "QuestInfo__TitleContainer",
35350
35518
  componentId: "sc-15s2boc-6"
35351
35519
  })(["width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:1rem;"]);
35352
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
35520
+ var Title$4 = /*#__PURE__*/styled.h1.withConfig({
35353
35521
  displayName: "QuestInfo__Title",
35354
35522
  componentId: "sc-15s2boc-7"
35355
35523
  })(["color:white;z-index:22;font-size:", " !important;color:", " !important;"], uiFonts.size.medium, uiColors.yellow);
@@ -35371,7 +35539,7 @@ var QuestList = function QuestList(_ref) {
35371
35539
  style: {
35372
35540
  width: '100%'
35373
35541
  }
35374
- }, React__default.createElement(Title$4, null, "Quests"), React__default.createElement("hr", {
35542
+ }, React__default.createElement(Title$5, null, "Quests"), React__default.createElement("hr", {
35375
35543
  className: "golden"
35376
35544
  }), React__default.createElement(QuestListContainer, null, quests ? quests.map(function (quest, i) {
35377
35545
  return React__default.createElement("div", {
@@ -35392,7 +35560,7 @@ var QuestDraggableContainer$1 = /*#__PURE__*/styled(DraggableContainer).withConf
35392
35560
  displayName: "QuestList__QuestDraggableContainer",
35393
35561
  componentId: "sc-1a2vx6q-0"
35394
35562
  })([".container-close{top:10px;right:10px;}.quest-title{text-align:left;margin-left:44px;margin-top:20px;color:yellow;}.quest-desc{margin-top:12px;margin-left:44px;}.rpgui-progress{min-width:80%;margin:0 auto;}"]);
35395
- var Title$4 = /*#__PURE__*/styled.h1.withConfig({
35563
+ var Title$5 = /*#__PURE__*/styled.h1.withConfig({
35396
35564
  displayName: "QuestList__Title",
35397
35565
  componentId: "sc-1a2vx6q-1"
35398
35566
  })(["z-index:22;font-size:", " !important;color:yellow !important;"], uiFonts.size.medium);
@@ -35797,9 +35965,9 @@ var Spell = function Spell(_ref) {
35797
35965
  className: "spell"
35798
35966
  }, disabled && React__default.createElement(Overlay, null, charMagicLevel < minMagicLevelRequired ? 'Low magic level' : manaCost > charMana && 'No mana'), React__default.createElement(SpellImage, null, magicWords.split(' ').map(function (word) {
35799
35967
  return word[0];
35800
- })), React__default.createElement(Info, null, React__default.createElement(Title$5, null, React__default.createElement("span", null, name), React__default.createElement("span", {
35968
+ })), React__default.createElement(Info, null, React__default.createElement(Title$6, null, React__default.createElement("span", null, name), React__default.createElement("span", {
35801
35969
  className: "spell"
35802
- }, "(", magicWords, ")")), React__default.createElement(Description, null, description)), React__default.createElement(Divider, null), React__default.createElement(Cost, null, React__default.createElement("span", null, "Mana cost:"), React__default.createElement("span", {
35970
+ }, "(", magicWords, ")")), React__default.createElement(Description$1, null, description)), React__default.createElement(Divider, null), React__default.createElement(Cost, null, React__default.createElement("span", null, "Mana cost:"), React__default.createElement("span", {
35803
35971
  className: "mana"
35804
35972
  }, manaCost)));
35805
35973
  };
@@ -35818,11 +35986,11 @@ var Info = /*#__PURE__*/styled.span.withConfig({
35818
35986
  displayName: "Spell__Info",
35819
35987
  componentId: "sc-j96fa2-2"
35820
35988
  })(["width:0;flex:1;"]);
35821
- var Title$5 = /*#__PURE__*/styled.p.withConfig({
35989
+ var Title$6 = /*#__PURE__*/styled.p.withConfig({
35822
35990
  displayName: "Spell__Title",
35823
35991
  componentId: "sc-j96fa2-3"
35824
35992
  })(["display:flex;flex-wrap:wrap;align-items:center;margin-bottom:5px;margin:0;span{font-size:", " !important;font-weight:bold !important;color:", " !important;margin-right:0.5rem;}.spell{font-size:", " !important;font-weight:normal !important;color:", " !important;}"], uiFonts.size.medium, uiColors.yellow, uiFonts.size.small, uiColors.lightGray);
35825
- var Description = /*#__PURE__*/styled.div.withConfig({
35993
+ var Description$1 = /*#__PURE__*/styled.div.withConfig({
35826
35994
  displayName: "Spell__Description",
35827
35995
  componentId: "sc-j96fa2-4"
35828
35996
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -35888,7 +36056,7 @@ var Spellbook = function Spellbook(_ref) {
35888
36056
  width: "inherit",
35889
36057
  height: "inherit",
35890
36058
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
35891
- }, React__default.createElement(Container$k, null, React__default.createElement(Title$6, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
36059
+ }, React__default.createElement(Container$k, null, React__default.createElement(Title$7, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
35892
36060
  setSettingShortcutIndex: setSettingShortcutIndex,
35893
36061
  settingShortcutIndex: settingShortcutIndex,
35894
36062
  shortcuts: shortcuts,
@@ -35916,7 +36084,7 @@ var Spellbook = function Spellbook(_ref) {
35916
36084
  }, spell)));
35917
36085
  }))));
35918
36086
  };
35919
- var Title$6 = /*#__PURE__*/styled.h1.withConfig({
36087
+ var Title$7 = /*#__PURE__*/styled.h1.withConfig({
35920
36088
  displayName: "Spellbook__Title",
35921
36089
  componentId: "sc-r02nfq-0"
35922
36090
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
@@ -35934,16 +36102,16 @@ var TextArea = function TextArea(_ref) {
35934
36102
  return React__default.createElement("textarea", Object.assign({}, props));
35935
36103
  };
35936
36104
 
35937
- var img$a = 'data:image/gif;base64,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';
36105
+ var img$9 = 'data:image/gif;base64,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';
35938
36106
 
35939
- var img$b = 'data:image/gif;base64,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';
36107
+ var img$a = 'data:image/gif;base64,R0lGODlhTgBNAPMAAAAAALcILyZ31ESZ+lrC/1Ds//vvpv3wo4G8//////38+QAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlAgHm5ybmZV2KHh0naWcepYlo22mradzqUUClK61nJSxIJiMrgm+v664oSKrXqa/yMmmbrkexVXHydK+y2bNULON0dPTppLXGs9UpdzlCaVt4FpsZuTm5ejWwx3iU53v753p89jtnPj49JVRZ2ELgYMFoP0DaE6gF4JjBBycSCChEncMucV7yC+DQYoI/y8uzAjvFUddEkGGRHKPZMlN8lCqXDmgpctuJs90XDdzpc2bynJWgSjh40yLP4ECE1pHZs8CB5MqPcd0ClEARlVCjTpy6kadTrWC7KpU4NaDVndeyNqT64GpSzedBblHbcGUbSmSddlprsokV7HizUtAKsO+hAkMCCw48UTD+RAnZsw2L0aApfy2pTw48eWGczX3ZNzYsdtNAf2KVkm6tOnC2+JqXg2ytWBStiSLzWv7dh5XBnS/Pti7nj9TW2kT7u1bT03dBZSPtuuMnfMkqqXXpl79uhLR2icyj+gdSfjN3FF6Pz89kXU3itnPHO/xfXlm6VXZv3+ShnH+gOUnikAUAFpFny7/XYeGGBOssR8qQjBYQRQPpoOGgHc4WOEeYGAYB4VBBDGEhMTkYCKJKKao4oostujiizDGKOOMF0QAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBB8ikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bIv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6B6ChoHpMdieec6KqoXqcRQKaq7Khmq4gmI2zurSUth6oZbMJw8Szc74dwF2rxM3Oq27IG7iGzM7Xw6uT0hnKVNbY2NBm3Bfe36Lh6gmq0aa/bGaq6+vt5O/J8cGh9PSibeUqbCFAoMAyfv38sSoTcMJAggQNTkmXsN5Chvg0PIRYcMm8iur/7HlpCGAjR4lIKIIMefFMxm4COEJEOUDlSnEtq5A0eTKJzZvPcta5FVNmRJ8IgV77h5Go0YgEayZV2ozpyJdaihotAPEnVXZCp+zUepLjx69gF3KFuGTsU6Negf5bazSJ27dmp1IVRfdpqRA838YFyRcvRJISAj89e1NV37eIS5I1zLiiY8OHscLEnFevP7oHHkPWvJkzwcohH4s2GjnxZMyol4peLbO161SyloKiTZug7du4dRkobLo26Wn6gs9a29vwb+B5ls9s/vS5w+R0Lp+kztH6dVJTVnP3ffzDOTrjR7c43yZ99fIi2FchMMA9a/ivwIP3jlx/Hv5QYOefQUtxSDGgTgCaJx8paIhxnYH+geGgQEYIGA0a+NFQIYRngJGhGlEEIeIQE8aXw4klpqjiiiy26OKLMMYo44w0XhABACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBB8ikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bIv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6n2d2J555B6anpqCcRQKaf6iwp64IqyCYk7G5spq1HqRmusGndL0dv166CcrLunPFG7eLscvU1bGUzxnHVdPV3sqxbtkX21Td39/hbeMV5VOw6PEJsOKivmzAqPLy9GbsYwIIFCijbx+/Yf7sQQlIoOFAc6cMGkS1TqGGLQ0zPlxSUGI8ign/bTHMKJBjR4/pQHr5BwAjyZJKTqJMmaoMS5cvNw6QOdMawpUWtY0kqZNnT2Y/Q4l86bAhEqNH5yWtcnOoxow7I0b1plLpB5xXSUI9qrIAyT1BtVhlSgDeVqTDzLJlkpbcWrZjUVKUy5bAAJYt777M6xEV376AA/cdrHXr3sUNE4Nd7JasYciR66rFnLGyXr4DDiPWvJnzOYkHRItmmljCZMqe+a1e/bK1a3z5CM+jLXCx7dtzklFTcJlzbdIXcbcRVpw35N/A6TDnW8A5W+gT3HXRpdo6SezZlUuHRdt75hriQZkf3UJ7m/XXkYtwX8UvfNbyWYFSlZ8E/f1LgGdMRXoAUtXfKFIUSJWAtvyXBxpihJcggGBE2I4RBK6DxoF9rDHhGWBwSEQPQZQ4hIXz5aAiiiy26OKLMMYo44w01mjjjRdEAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgesrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIF6/X37OUrE8/CFgII/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQIK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbA3Dm5GaSJzGfNREmETrUHKuNKC/QpFiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidTug61e3BFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjAkovosXLknIkScLHqx36IG5AxAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzW3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkCoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgesrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIF6/X37OUrE8/CFgII/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQIK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbA3Dm5GaSJzGfNREmETrUHKuNKC/QpFiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidTug61e3BFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjAkovosXLknIkScLHqx36IG5AxAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzW3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkCoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeeQemp6agnEUCmn+osKeuCKsgmJOxubKatR6kZrrBp3S9Hb9eugnKy7pzxRu3i7HL1NWxlM8Zx1XT1d7KsW7ZF9tU3d/f4W3jFeVTsOjxCbDior5swKjy8vRm7GMCCBQoo28fv2H+7EEJSKDhQHOnDBpEtU6hhi0NMz5cUlBiPIoJ/20xzCiQY0eP6UB6+QcAI8mSSk6iTJmqDEuXLzcOkDnTGsKVFrWNJKmTZ09mP0OJfOmwIRKjR+clrXJzqMaMOyNG9aZS6QecV0lCPaqyAMk9QbVYZUoA3lakw8yyZZKW3Fq2Y1FSlMuWwACWLe++zOsRFd++gAP3Hax1697FDRODXeyWrGHIkeuqxZyxsl6+Aw4j1ryZ8zmJB0SLZppYwmTKnvmtXv2ytWt8+QjPoy1wse3bc5JRU3CZc23SF3G3EVacN+TfwOkw51vAOVvoE9x10aXaOkns2ZVLh0Xbe+Ya4kGZH91Ce5v115GLcF/FL3zW8lmBUpWfBP39S4BnTEV6AFLV3yhSFEiVgLb8lwcaYoSXIIBgRNiOEQSug8aBfawx4RlgcEhED0GUOISF8+WgIoostujiizDGKOOMNNZo440XRAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgEHyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsi/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZSZjZYmeHoHoKGgekx2J55zoqqhepxFApqrsqGariCYjbO6tJS2HqhlswnDxLNzvh3AXavEzc6rbsgbuIbMztfDq5PSGcpU1tjY0GbcF97fouHqCarRpr9sZqrr6+3k78nxwaH09KJt5SpsIUCgwDJ+/fyxKhNwwkCCBA1OSZew3kKG+DQ8hFhwybyK6v/seWkIYCNHiUgoggx58UzGbgI4QkQ5QOVKcS2rkDR5MonNm89y1rkVU2ZEnwiBXvuHkajRiARrJlXajOnIl1qKGi0A8SdVdkKn7NR6kuPHr2AXcoW4ZOxTo16B/ltrNInbt2anUhVF92mpEDzfxgXJFy9EkhICPz17U1Xft4hLkjXMuKJjw4exwsTctbI/ugceQ9a8mTMBcJ9lijYaOfFkyp6Xil4ts7XrVLKWgqJNm6Dt27h1GShsujbpafqCz1rb2/Bv4HmWz2z+9LnD5HQun6TO0fp1UlNWc/d9/MM5OuNHtzjfJn318iLYVyEwwD1r+K/Ag/eOXH8e/lBg559BS3FIMaBOAJonHyloiHGdgf6B4aBARggYDRr40VAhhGeAkaEaUQQh4hATxpfDiSWmqOKKLLbo4oswxijjjDReEAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgEHyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsi/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZQIB5ucm5mVdih4dJ2lnHqWJaNtpq2nc6lFApSutZyUsSCYjK4Jvr+uuKEiq16mv8jJpm65HsVVx8nSvstmzVCzjdHT06aS1xrPVKXc5QmlbeBabGbk5uXo1sMd4lOd7++d6fPY7Zz4+PSVUWdhC4GDBaD9A2hOoBeCYwQcnEggoRJ3DLnFe8gvg0GKCP8vLswI7xVHXRJBhkRyj2TJTfJQqlw5oKXLbibPdFw3c6XNm8pyVoEo4eNMiz+BAhNaR2bPAgeTKj3HdApRAEZVQo06cupGnU61guyqVODWg1Z3Xsjak+uBqUs3nQW5R23BlG0pknXZaa7KJFex4s1LQCrDvoQJDAgsOPFEw/kQJ2bMNi9GgKX8tqU8OPHlhnM192Tc2LHbTQH9ilZJurTpwtvial4NsrVgUrYki81r+3YeVwZ0vz7Yu54/U1tpE+7tW09N3QWUj7brjJ3zJKql16Ze/boS0donMo/oHUn4zdxRej8/PZF1N4rZzxzv8X15ZulV2b9/koZx/oDlJ4pAFABaRZ8u/12HhhgTrLEfKkIwWEEUD6aDhoB3OFjhHmBgGAeFQQQxhITE5GAiiSimqOKKLLbo4oswxijjjBdEAAA7';
35940
36108
 
35941
- var img$c = 'data:image/gif;base64,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';
36109
+ var img$b = 'data:image/gif;base64,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';
35942
36110
 
35943
36111
  var DayNightPeriod = function DayNightPeriod(_ref) {
35944
36112
  var _periodOfDaySrcFiles;
35945
36113
  var periodOfDay = _ref.periodOfDay;
35946
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$b, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$c, _periodOfDaySrcFiles);
36114
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
35947
36115
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
35948
36116
  src: periodOfDaySrcFiles[periodOfDay]
35949
36117
  }));
@@ -35953,7 +36121,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
35953
36121
  componentId: "sc-10t97fw-0"
35954
36122
  })(["width:100%;img{width:67%;}"]);
35955
36123
 
35956
- 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';
36124
+ 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';
35957
36125
 
35958
36126
  var TimeWidget = function TimeWidget(_ref) {
35959
36127
  var onClose = _ref.onClose,
@@ -35968,7 +36136,7 @@ var TimeWidget = function TimeWidget(_ref) {
35968
36136
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
35969
36137
  displayName: "TimeWidget__WidgetContainer",
35970
36138
  componentId: "sc-1ja236h-0"
35971
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$d);
36139
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
35972
36140
  var Time = /*#__PURE__*/styled.div.withConfig({
35973
36141
  displayName: "TimeWidget__Time",
35974
36142
  componentId: "sc-1ja236h-1"
@@ -35988,7 +36156,9 @@ var TradingItemRow = function TradingItemRow(_ref) {
35988
36156
  atlasJSON = _ref.atlasJSON,
35989
36157
  onQuantityChange = _ref.onQuantityChange,
35990
36158
  traderItem = _ref.traderItem,
35991
- selectedQty = _ref.selectedQty;
36159
+ selectedQty = _ref.selectedQty,
36160
+ equipmentSet = _ref.equipmentSet,
36161
+ scale = _ref.scale;
35992
36162
  var onLeftClick = function onLeftClick(qty) {
35993
36163
  if (qty === void 0) {
35994
36164
  qty = 1;
@@ -35996,22 +36166,28 @@ var TradingItemRow = function TradingItemRow(_ref) {
35996
36166
  onQuantityChange(traderItem, Math.max(0, selectedQty - qty));
35997
36167
  };
35998
36168
  var onRightClick = function onRightClick(qty) {
35999
- var _traderItem$qty;
36169
+ var _traderItem$stackQty;
36000
36170
  if (qty === void 0) {
36001
36171
  qty = 1;
36002
36172
  }
36003
- onQuantityChange(traderItem, Math.min((_traderItem$qty = traderItem.qty) != null ? _traderItem$qty : 999, selectedQty + qty));
36173
+ onQuantityChange(traderItem, Math.min((_traderItem$stackQty = traderItem.stackQty) != null ? _traderItem$stackQty : 999, selectedQty + qty));
36004
36174
  };
36005
- return React__default.createElement(ItemWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer$1, null, React__default.createElement(SpriteFromAtlas, {
36175
+ return React__default.createElement(ItemWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer$1, null, React__default.createElement(ItemInfoWrapper, {
36176
+ atlasIMG: atlasIMG,
36177
+ atlasJSON: atlasJSON,
36178
+ equipmentSet: equipmentSet,
36179
+ item: traderItem,
36180
+ scale: scale
36181
+ }, React__default.createElement(SpriteFromAtlas, {
36006
36182
  atlasIMG: atlasIMG,
36007
36183
  atlasJSON: atlasJSON,
36008
36184
  spriteKey: shared.getItemTextureKeyPath({
36009
36185
  key: traderItem.key,
36010
- stackQty: traderItem.qty || 1,
36186
+ stackQty: traderItem.stackQty || 1,
36011
36187
  texturePath: traderItem.texturePath
36012
36188
  }, atlasJSON),
36013
36189
  imgScale: 2.5
36014
- }))), React__default.createElement(ItemNameContainer, null, React__default.createElement(NameValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
36190
+ })))), React__default.createElement(ItemNameContainer, null, React__default.createElement(NameValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
36015
36191
  maxLines: 1,
36016
36192
  maxWidth: "250px"
36017
36193
  }, capitalize(traderItem.name))), React__default.createElement("p", null, "$", traderItem.price))), React__default.createElement(QuantityContainer, null, React__default.createElement(SelectArrow, {
@@ -36084,7 +36260,9 @@ var TradingMenu = function TradingMenu(_ref) {
36084
36260
  atlasJSON = _ref.atlasJSON,
36085
36261
  atlasIMG = _ref.atlasIMG,
36086
36262
  characterAvailableGold = _ref.characterAvailableGold,
36087
- onConfirm = _ref.onConfirm;
36263
+ onConfirm = _ref.onConfirm,
36264
+ equipmentSet = _ref.equipmentSet,
36265
+ scale = _ref.scale;
36088
36266
  var _useState = React.useState(0),
36089
36267
  sum = _useState[0],
36090
36268
  setSum = _useState[1];
@@ -36142,7 +36320,7 @@ var TradingMenu = function TradingMenu(_ref) {
36142
36320
  style: {
36143
36321
  width: '100%'
36144
36322
  }
36145
- }, React__default.createElement(Title$7, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
36323
+ }, React__default.createElement(Title$8, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
36146
36324
  className: "golden"
36147
36325
  })), React__default.createElement(TradingComponentScrollWrapper, {
36148
36326
  id: "TraderContainer"
@@ -36155,7 +36333,9 @@ var TradingMenu = function TradingMenu(_ref) {
36155
36333
  atlasJSON: atlasJSON,
36156
36334
  onQuantityChange: onQuantityChange,
36157
36335
  traderItem: tradeItem,
36158
- selectedQty: (_qtyMap$get = qtyMap.get(tradeItem.key)) != null ? _qtyMap$get : 0
36336
+ selectedQty: (_qtyMap$get = qtyMap.get(tradeItem.key)) != null ? _qtyMap$get : 0,
36337
+ equipmentSet: equipmentSet,
36338
+ scale: scale
36159
36339
  }));
36160
36340
  })), React__default.createElement(GoldWrapper, null, React__default.createElement("p", null, "Available Gold:"), React__default.createElement("p", null, "$", characterAvailableGold)), React__default.createElement(TotalWrapper, null, React__default.createElement("p", null, "Total:"), React__default.createElement("p", null, "$", sum)), !hasGoldForSale() ? React__default.createElement(AlertWrapper, null, React__default.createElement("p", null, " Sorry, not enough money.")) : React__default.createElement(GoldWrapper, null, React__default.createElement("p", null, "Final Gold:"), React__default.createElement("p", null, "$", getFinalGold())), React__default.createElement(ButtonWrapper$2, null, React__default.createElement(Button, {
36161
36341
  buttonType: exports.ButtonTypes.RPGUIButton,
@@ -36170,7 +36350,7 @@ var TradingMenu = function TradingMenu(_ref) {
36170
36350
  }
36171
36351
  }, "Cancel"))));
36172
36352
  };
36173
- var Title$7 = /*#__PURE__*/styled.h1.withConfig({
36353
+ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
36174
36354
  displayName: "TradingMenu__Title",
36175
36355
  componentId: "sc-1wjsz1l-0"
36176
36356
  })(["z-index:22;font-size:0.6rem;color:yellow !important;"]);
@@ -36215,6 +36395,219 @@ var Container$l = /*#__PURE__*/styled.div.withConfig({
36215
36395
  return props.maxLines;
36216
36396
  });
36217
36397
 
36398
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
36399
+
36400
+ var chunkString = function chunkString(str, length) {
36401
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
36402
+ };
36403
+
36404
+ var img$d = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
36405
+
36406
+ var NPCDialogText = function NPCDialogText(_ref) {
36407
+ var text = _ref.text,
36408
+ onClose = _ref.onClose,
36409
+ onEndStep = _ref.onEndStep,
36410
+ onStartStep = _ref.onStartStep,
36411
+ type = _ref.type;
36412
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
36413
+ function maxCharacters(width) {
36414
+ // Set the font size to 16 pixels
36415
+ var fontSize = 11.2;
36416
+ // Calculate the number of characters that can fit in one line
36417
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
36418
+ // Calculate the number of lines that can fit in the div
36419
+ var linesPerDiv = Math.floor(180 / fontSize);
36420
+ // Calculate the maximum number of characters that can fit in the div
36421
+ var maxCharacters = charactersPerLine * linesPerDiv;
36422
+ // Return the maximum number of characters
36423
+ return Math.round(maxCharacters / 5);
36424
+ }
36425
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
36426
+ var _useState = React.useState(0),
36427
+ chunkIndex = _useState[0],
36428
+ setChunkIndex = _useState[1];
36429
+ var onHandleSpacePress = function onHandleSpacePress(event) {
36430
+ if (event.code === 'Space') {
36431
+ goToNextStep();
36432
+ }
36433
+ };
36434
+ var goToNextStep = function goToNextStep() {
36435
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
36436
+ if (hasNextChunk) {
36437
+ setChunkIndex(function (prev) {
36438
+ return prev + 1;
36439
+ });
36440
+ } else {
36441
+ // if there's no more text chunks, close the dialog
36442
+ onClose();
36443
+ }
36444
+ };
36445
+ React.useEffect(function () {
36446
+ document.addEventListener('keydown', onHandleSpacePress);
36447
+ return function () {
36448
+ return document.removeEventListener('keydown', onHandleSpacePress);
36449
+ };
36450
+ }, [chunkIndex]);
36451
+ var _useState2 = React.useState(false),
36452
+ showGoNextIndicator = _useState2[0],
36453
+ setShowGoNextIndicator = _useState2[1];
36454
+ return React__default.createElement(Container$m, null, React__default.createElement(DynamicText, {
36455
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
36456
+ onFinish: function onFinish() {
36457
+ setShowGoNextIndicator(true);
36458
+ onEndStep && onEndStep();
36459
+ },
36460
+ onStart: function onStart() {
36461
+ setShowGoNextIndicator(false);
36462
+ onStartStep && onStartStep();
36463
+ }
36464
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
36465
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
36466
+ src: IS_MOBILE_OR_TABLET ? img$d : img$7,
36467
+ onPointerDown: function onPointerDown() {
36468
+ goToNextStep();
36469
+ }
36470
+ }));
36471
+ };
36472
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
36473
+ displayName: "NPCDialogText__Container",
36474
+ componentId: "sc-1cxkdh9-0"
36475
+ })([""]);
36476
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
36477
+ displayName: "NPCDialogText__PressSpaceIndicator",
36478
+ componentId: "sc-1cxkdh9-1"
36479
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
36480
+ var right = _ref2.right;
36481
+ return right;
36482
+ });
36483
+
36484
+ (function (NPCDialogType) {
36485
+ NPCDialogType["TextOnly"] = "TextOnly";
36486
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
36487
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
36488
+ var NPCDialog = function NPCDialog(_ref) {
36489
+ var text = _ref.text,
36490
+ type = _ref.type,
36491
+ _onClose = _ref.onClose,
36492
+ imagePath = _ref.imagePath,
36493
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
36494
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
36495
+ questions = _ref.questions,
36496
+ answers = _ref.answers;
36497
+ return React__default.createElement(RPGUIContainer, {
36498
+ type: exports.RPGUIContainerTypes.FramedGold,
36499
+ width: isQuestionDialog ? '600px' : '80%',
36500
+ height: '180px'
36501
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
36502
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36503
+ }, React__default.createElement(QuestionDialog, {
36504
+ questions: questions,
36505
+ answers: answers,
36506
+ onClose: function onClose() {
36507
+ if (_onClose) {
36508
+ _onClose();
36509
+ }
36510
+ }
36511
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
36512
+ src: imagePath || img$6
36513
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$n, null, React__default.createElement(TextContainer$2, {
36514
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
36515
+ }, React__default.createElement(NPCDialogText, {
36516
+ type: type,
36517
+ text: text || 'No text provided.',
36518
+ onClose: function onClose() {
36519
+ if (_onClose) {
36520
+ _onClose();
36521
+ }
36522
+ }
36523
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
36524
+ src: imagePath || img$6
36525
+ })))));
36526
+ };
36527
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
36528
+ displayName: "NPCDialog__Container",
36529
+ componentId: "sc-1b4aw74-0"
36530
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
36531
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
36532
+ displayName: "NPCDialog__TextContainer",
36533
+ componentId: "sc-1b4aw74-1"
36534
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
36535
+ var flex = _ref2.flex;
36536
+ return flex;
36537
+ });
36538
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
36539
+ displayName: "NPCDialog__ThumbnailContainer",
36540
+ componentId: "sc-1b4aw74-2"
36541
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
36542
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
36543
+ displayName: "NPCDialog__NPCThumbnail",
36544
+ componentId: "sc-1b4aw74-3"
36545
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
36546
+
36547
+ var HistoryDialog = function HistoryDialog(_ref) {
36548
+ var backgroundImgPath = _ref.backgroundImgPath,
36549
+ fullCoverBackground = _ref.fullCoverBackground,
36550
+ questions = _ref.questions,
36551
+ answers = _ref.answers,
36552
+ text = _ref.text,
36553
+ imagePath = _ref.imagePath,
36554
+ textAndTypeArray = _ref.textAndTypeArray,
36555
+ onClose = _ref.onClose;
36556
+ var _useState = React.useState(0),
36557
+ img = _useState[0],
36558
+ setImage = _useState[1];
36559
+ var onHandleSpacePress = function onHandleSpacePress(event) {
36560
+ if (event.code === 'Space') {
36561
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
36562
+ setImage(function (prev) {
36563
+ return prev + 1;
36564
+ });
36565
+ } else {
36566
+ // if there's no more text chunks, close the dialog
36567
+ onClose();
36568
+ }
36569
+ }
36570
+ };
36571
+ React.useEffect(function () {
36572
+ document.addEventListener('keydown', onHandleSpacePress);
36573
+ return function () {
36574
+ return document.removeEventListener('keydown', onHandleSpacePress);
36575
+ };
36576
+ }, [backgroundImgPath]);
36577
+ return React__default.createElement(BackgroundContainer, {
36578
+ imgPath: backgroundImgPath[img],
36579
+ fullImg: fullCoverBackground
36580
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
36581
+ textAndTypeArray: textAndTypeArray,
36582
+ onClose: onClose
36583
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
36584
+ questions: questions,
36585
+ answers: answers,
36586
+ onClose: onClose
36587
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
36588
+ text: text,
36589
+ imagePath: imagePath,
36590
+ onClose: onClose,
36591
+ type: exports.NPCDialogType.TextAndThumbnail
36592
+ }) : React__default.createElement(NPCDialog, {
36593
+ text: text,
36594
+ onClose: onClose,
36595
+ type: exports.NPCDialogType.TextOnly
36596
+ })));
36597
+ };
36598
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
36599
+ displayName: "HistoryDialog__BackgroundContainer",
36600
+ componentId: "sc-u6oe75-0"
36601
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
36602
+ return props.imgPath;
36603
+ }, function (props) {
36604
+ return props.imgPath ? 'cover' : 'auto';
36605
+ });
36606
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
36607
+ displayName: "HistoryDialog__DialogContainer",
36608
+ componentId: "sc-u6oe75-1"
36609
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
36610
+
36218
36611
  exports.Button = Button;
36219
36612
  exports.CharacterSelection = CharacterSelection;
36220
36613
  exports.Chat = Chat;
@@ -36227,6 +36620,7 @@ exports.Dropdown = Dropdown;
36227
36620
  exports.DropdownSelectorContainer = DropdownSelectorContainer;
36228
36621
  exports.DynamicText = DynamicText;
36229
36622
  exports.EquipmentSet = EquipmentSet;
36623
+ exports.EquipmentSlotSpriteByType = EquipmentSlotSpriteByType;
36230
36624
  exports.ErrorBoundary = ErrorBoundary;
36231
36625
  exports.HistoryDialog = HistoryDialog;
36232
36626
  exports.Input = Input;
@@ -36255,5 +36649,6 @@ exports.TimeWidget = TimeWidget;
36255
36649
  exports.TradingMenu = TradingMenu;
36256
36650
  exports.Truncate = Truncate;
36257
36651
  exports._RPGUI = _RPGUI;
36652
+ exports.rarityColor = rarityColor;
36258
36653
  exports.useEventListener = useEventListener;
36259
36654
  //# sourceMappingURL=long-bow.cjs.development.js.map