@rpg-engine/long-bow 0.3.51 → 0.3.53

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 (39) hide show
  1. package/dist/components/CircularController/CircularController.d.ts +6 -3
  2. package/dist/components/Item/Inventory/ItemContainer.d.ts +4 -1
  3. package/dist/components/Item/Inventory/ItemSlot.d.ts +1 -0
  4. package/dist/components/Shortcuts/Shortcuts.d.ts +12 -0
  5. package/dist/components/Shortcuts/ShortcutsSetter.d.ts +12 -0
  6. package/dist/components/Shortcuts/SingleShortcut.d.ts +1 -0
  7. package/dist/components/Spellbook/Spellbook.d.ts +5 -3
  8. package/dist/components/Spellbook/constants.d.ts +3 -3
  9. package/dist/index.d.ts +1 -1
  10. package/dist/long-bow.cjs.development.js +292 -146
  11. package/dist/long-bow.cjs.development.js.map +1 -1
  12. package/dist/long-bow.cjs.production.min.js +1 -1
  13. package/dist/long-bow.cjs.production.min.js.map +1 -1
  14. package/dist/long-bow.esm.js +293 -146
  15. package/dist/long-bow.esm.js.map +1 -1
  16. package/dist/stories/{QuickSpells.stories.d.ts → Shortcuts.stories.d.ts} +2 -2
  17. package/package.json +2 -2
  18. package/src/components/Abstractions/SlotsContainer.tsx +2 -2
  19. package/src/components/CircularController/CircularController.tsx +119 -36
  20. package/src/components/Item/Inventory/ItemContainer.tsx +39 -4
  21. package/src/components/Item/Inventory/ItemSlot.tsx +38 -3
  22. package/src/components/Shortcuts/Shortcuts.tsx +129 -0
  23. package/src/components/Shortcuts/ShortcutsSetter.tsx +132 -0
  24. package/src/components/Shortcuts/SingleShortcut.ts +61 -0
  25. package/src/components/Spellbook/Spellbook.tsx +15 -9
  26. package/src/components/Spellbook/constants.ts +5 -9
  27. package/src/components/TradingMenu/TradingMenu.tsx +2 -2
  28. package/src/components/TradingMenu/items.mock.ts +59 -0
  29. package/src/index.tsx +1 -1
  30. package/src/mocks/itemContainer.mocks.ts +22 -20
  31. package/src/stories/CircullarController.stories.tsx +9 -5
  32. package/src/stories/ItemContainer.stories.tsx +76 -2
  33. package/src/stories/Shortcuts.stories.tsx +39 -0
  34. package/src/stories/Spellbook.stories.tsx +35 -38
  35. package/dist/components/Spellbook/QuickSpells.d.ts +0 -10
  36. package/dist/components/Spellbook/SpellbookShortcuts.d.ts +0 -10
  37. package/src/components/Spellbook/QuickSpells.tsx +0 -120
  38. package/src/components/Spellbook/SpellbookShortcuts.tsx +0 -77
  39. package/src/stories/QuickSpells.stories.tsx +0 -38
@@ -33058,62 +33058,20 @@ var CheckButton = function CheckButton(_ref) {
33058
33058
  }));
33059
33059
  };
33060
33060
 
33061
- var QuickSpells = function QuickSpells(_ref) {
33062
- var quickSpells = _ref.quickSpells,
33063
- onSpellCast = _ref.onSpellCast,
33064
- mana = _ref.mana,
33065
- _ref$isBlockedCasting = _ref.isBlockedCastingByKeyboard,
33066
- isBlockedCastingByKeyboard = _ref$isBlockedCasting === void 0 ? false : _ref$isBlockedCasting;
33067
- React.useEffect(function () {
33068
- var handleKeyDown = function handleKeyDown(e) {
33069
- if (isBlockedCastingByKeyboard) return;
33070
- var shortcutIndex = Number(e.key) - 1;
33071
- if (shortcutIndex >= 0 && shortcutIndex <= 3) {
33072
- var shortcut = quickSpells[shortcutIndex];
33073
- if (shortcut != null && shortcut.key && mana >= (shortcut == null ? void 0 : shortcut.manaCost)) {
33074
- onSpellCast(shortcut.key);
33075
- }
33076
- }
33077
- };
33078
- window.addEventListener('keydown', handleKeyDown);
33079
- return function () {
33080
- window.removeEventListener('keydown', handleKeyDown);
33081
- };
33082
- }, [quickSpells, isBlockedCastingByKeyboard]);
33083
- return React__default.createElement(List, null, Array.from({
33084
- length: 4
33085
- }).map(function (_, i) {
33086
- var _quickSpells$i, _quickSpells$i2, _quickSpells$i3, _quickSpells$i4, _quickSpells$i5;
33087
- return React__default.createElement(SpellShortcut, {
33088
- key: i,
33089
- onClick: onSpellCast.bind(null, (_quickSpells$i = quickSpells[i]) == null ? void 0 : _quickSpells$i.key),
33090
- disabled: mana < ((_quickSpells$i2 = quickSpells[i]) == null ? void 0 : _quickSpells$i2.manaCost)
33091
- }, React__default.createElement("span", {
33092
- className: "mana"
33093
- }, ((_quickSpells$i3 = quickSpells[i]) == null ? void 0 : _quickSpells$i3.key) && ((_quickSpells$i4 = quickSpells[i]) == null ? void 0 : _quickSpells$i4.manaCost)), React__default.createElement("span", {
33094
- className: "magicWords"
33095
- }, (_quickSpells$i5 = quickSpells[i]) == null ? void 0 : _quickSpells$i5.magicWords.split(' ').map(function (word) {
33096
- return word[0];
33097
- })), React__default.createElement("span", {
33098
- className: "keyboard"
33099
- }, i + 1));
33100
- }));
33101
- };
33102
- var SpellShortcut = /*#__PURE__*/styled.button.withConfig({
33103
- displayName: "QuickSpells__SpellShortcut",
33104
- componentId: "sc-41yq7s-0"
33105
- })(["width:3rem;height:3rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;position:relative;span{pointer-events:none;}.mana{position:absolute;top:-5px;right:0;font-size:0.65rem;color:", ";}.magicWords{margin-top:4px;}.keyboard{position:absolute;bottom:-5px;left:0;font-size:0.65rem;color:", ";}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.darkGray, uiColors.gray);
33106
- var List = /*#__PURE__*/styled.p.withConfig({
33107
- displayName: "QuickSpells__List",
33108
- componentId: "sc-41yq7s-1"
33109
- })(["width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;box-sizing:border-box;margin:0 !important;"]);
33061
+ var SingleShortcut = /*#__PURE__*/styled.button.withConfig({
33062
+ displayName: "SingleShortcut",
33063
+ componentId: "sc-vz5ev8-0"
33064
+ })(["width:3rem;height:3rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;position:relative;span{pointer-events:none;}.mana{position:absolute;top:-5px;right:0;font-size:0.65rem;color:", ";}.qty{position:absolute;top:-5px;right:0;font-size:0.65rem;}.magicWords{margin-top:4px;}.keyboard{position:absolute;bottom:-5px;left:0;font-size:0.65rem;color:", ";}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, uiColors.darkGray, uiColors.blue, uiColors.yellow, uiColors.darkGray, uiColors.gray);
33110
33065
 
33111
33066
  var CircularController = function CircularController(_ref) {
33112
33067
  var onActionClick = _ref.onActionClick,
33113
33068
  onCancelClick = _ref.onCancelClick,
33114
- onSpellClick = _ref.onSpellClick,
33069
+ onShortcutClick = _ref.onShortcutClick,
33115
33070
  mana = _ref.mana,
33116
- spells = _ref.spells;
33071
+ shortcuts = _ref.shortcuts,
33072
+ inventory = _ref.inventory,
33073
+ atlasIMG = _ref.atlasIMG,
33074
+ atlasJSON = _ref.atlasJSON;
33117
33075
  var onTouchStart = function onTouchStart(e) {
33118
33076
  var target = e.target;
33119
33077
  target == null ? void 0 : target.classList.add('active');
@@ -33125,25 +33083,70 @@ var CircularController = function CircularController(_ref) {
33125
33083
  }, 100);
33126
33084
  action();
33127
33085
  };
33128
- return React__default.createElement(ButtonsContainer, null, React__default.createElement(SpellsContainer, null, Array.from({
33129
- length: 4
33130
- }).map(function (_, i) {
33131
- var variant = i === 0 ? 'top' : i === 3 ? 'bottom' : '';
33132
- var spell = spells[i];
33133
- var onSpellClickBinded = spell ? onSpellClick.bind(null, spell.key) : function () {};
33086
+ var renderShortcut = function renderShortcut(i) {
33087
+ var _shortcuts$i, _shortcuts$i2, _shortcuts$i4, _payload$manaCost;
33088
+ var variant = '';
33089
+ if (i === 0) variant = 'top';else if (i >= 3) variant = "bottom-" + (i - 3);
33090
+ var onShortcutClickBinded = ((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) !== shared.ShortcutType.None ? onShortcutClick.bind(null, i) : function () {};
33091
+ if (((_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.type) === shared.ShortcutType.Item) {
33092
+ var _shortcuts$i3;
33093
+ var _payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
33094
+ var itemsFromEquipment = [];
33095
+ if (inventory) {
33096
+ Object.keys(inventory.slots).forEach(function (i) {
33097
+ var _inventory$slots$inde;
33098
+ var index = parseInt(i);
33099
+ if (((_inventory$slots$inde = inventory.slots[index]) == null ? void 0 : _inventory$slots$inde.key) === (_payload == null ? void 0 : _payload.key)) {
33100
+ itemsFromEquipment.push(inventory.slots[index]);
33101
+ }
33102
+ });
33103
+ }
33104
+ var totalQty = itemsFromEquipment.reduce(function (acc, item) {
33105
+ return acc + ((item == null ? void 0 : item.stackQty) || 1);
33106
+ }, 0);
33107
+ return React__default.createElement(StyledShortcut, {
33108
+ key: i,
33109
+ onTouchStart: onTouchStart,
33110
+ onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
33111
+ disabled: false,
33112
+ className: variant
33113
+ }, _payload && React__default.createElement(SpriteFromAtlas, {
33114
+ atlasIMG: atlasIMG,
33115
+ atlasJSON: atlasJSON,
33116
+ spriteKey: shared.getItemTextureKeyPath({
33117
+ key: _payload.texturePath,
33118
+ texturePath: _payload.texturePath,
33119
+ stackQty: _payload.stackQty || 1
33120
+ }, atlasJSON),
33121
+ width: 32,
33122
+ height: 32,
33123
+ imgScale: 1.4,
33124
+ imgStyle: {
33125
+ left: '4px'
33126
+ }
33127
+ }), React__default.createElement("span", {
33128
+ className: "qty"
33129
+ }, totalQty));
33130
+ }
33131
+ var payload = (_shortcuts$i4 = shortcuts[i]) == null ? void 0 : _shortcuts$i4.payload;
33134
33132
  return React__default.createElement(StyledShortcut, {
33135
33133
  key: i,
33136
- disabled: mana < (spell == null ? void 0 : spell.manaCost),
33137
33134
  onTouchStart: onTouchStart,
33138
- onTouchEnd: onTouchEnd.bind(null, onSpellClickBinded),
33135
+ onTouchEnd: onTouchEnd.bind(null, onShortcutClickBinded),
33136
+ disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0),
33139
33137
  className: variant
33140
33138
  }, React__default.createElement("span", {
33141
33139
  className: "mana"
33142
- }, (spell == null ? void 0 : spell.key) && (spell == null ? void 0 : spell.manaCost)), React__default.createElement("span", {
33140
+ }, payload && payload.manaCost), React__default.createElement("span", {
33143
33141
  className: "magicWords"
33144
- }, spell == null ? void 0 : spell.magicWords.split(' ').map(function (word) {
33142
+ }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
33145
33143
  return word[0];
33146
33144
  })));
33145
+ };
33146
+ return React__default.createElement(ButtonsContainer, null, React__default.createElement(ShortcutsContainer, null, Array.from({
33147
+ length: 6
33148
+ }).map(function (_, i) {
33149
+ return renderShortcut(i);
33147
33150
  })), React__default.createElement(Button$2, {
33148
33151
  onTouchStart: onTouchStart,
33149
33152
  onTouchEnd: onTouchEnd.bind(null, onActionClick)
@@ -33157,7 +33160,7 @@ var CircularController = function CircularController(_ref) {
33157
33160
  var Button$2 = /*#__PURE__*/styled.button.withConfig({
33158
33161
  displayName: "CircularController__Button",
33159
33162
  componentId: "sc-1fewf3h-0"
33160
- })(["width:4.3rem;height:4.3rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color 0.1s;&.active{background-color:", ";}.sword{transform:rotate(-45deg);height:2.5rem;width:1.9rem;pointer-events:none;}"], uiColors.lightGray, uiColors.darkGray, uiColors.gray);
33163
+ })(["width:4.3rem;height:4.3rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color 0.1s;margin-top:-3rem;&.active{background-color:", ";}.sword{transform:rotate(-45deg);height:2.5rem;width:1.9rem;pointer-events:none;}"], uiColors.lightGray, uiColors.darkGray, uiColors.gray);
33161
33164
  var CancelButton = /*#__PURE__*/styled(Button$2).withConfig({
33162
33165
  displayName: "CircularController__CancelButton",
33163
33166
  componentId: "sc-1fewf3h-1"
@@ -33166,14 +33169,14 @@ var ButtonsContainer = /*#__PURE__*/styled.div.withConfig({
33166
33169
  displayName: "CircularController__ButtonsContainer",
33167
33170
  componentId: "sc-1fewf3h-2"
33168
33171
  })(["display:flex;align-items:center;justify-content:center;gap:0.5rem;"]);
33169
- var SpellsContainer = /*#__PURE__*/styled.div.withConfig({
33170
- displayName: "CircularController__SpellsContainer",
33172
+ var ShortcutsContainer = /*#__PURE__*/styled.div.withConfig({
33173
+ displayName: "CircularController__ShortcutsContainer",
33171
33174
  componentId: "sc-1fewf3h-3"
33172
- })(["display:flex;align-items:center;justify-content:center;gap:0.4rem;flex-direction:column;.top{transform:translate(93%,25%);}.bottom{transform:translate(93%,-25%);}"]);
33173
- var StyledShortcut = /*#__PURE__*/styled(SpellShortcut).withConfig({
33175
+ })(["display:flex;align-items:center;justify-content:center;gap:0.5rem;flex-direction:column;margin-top:3rem;.top{transform:translate(93%,25%);}.bottom-0{transform:translate(93%,-25%);}.bottom-1{transform:translate(-120%,calc(-5.5rem));}.bottom-2{transform:translate(-30%,calc(-5.5rem - 25%));}"]);
33176
+ var StyledShortcut = /*#__PURE__*/styled(SingleShortcut).withConfig({
33174
33177
  displayName: "CircularController__StyledShortcut",
33175
33178
  componentId: "sc-1fewf3h-4"
33176
- })(["width:2.5rem;height:2.5rem;transition:background-color 0.1s;.mana{font-size:0.5rem;}&:hover,&:focus,&:active{background-color:", ";}&.active{background-color:", ";}"], uiColors.lightGray, uiColors.gray);
33179
+ })(["width:2.5rem;height:2.5rem;transition:background-color 0.1s;.mana,.qty{font-size:0.5rem;}&:hover,&:focus,&:active{background-color:", ";}&.active{background-color:", ";}"], uiColors.lightGray, uiColors.gray);
33177
33180
 
33178
33181
  function useOutsideClick(ref, id) {
33179
33182
  React.useEffect(function () {
@@ -33762,7 +33765,8 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33762
33765
  checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
33763
33766
  openQuantitySelector = _ref.openQuantitySelector,
33764
33767
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
33765
- dragScale = _ref.dragScale;
33768
+ dragScale = _ref.dragScale,
33769
+ isSelectingShortcut = _ref.isSelectingShortcut;
33766
33770
  var _useState = React.useState(false),
33767
33771
  isTooltipVisible = _useState[0],
33768
33772
  setTooltipVisible = _useState[1];
@@ -33795,6 +33799,7 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33795
33799
  });
33796
33800
  setIsFocused(false);
33797
33801
  if (item) {
33802
+ console.log(item);
33798
33803
  setContextActions(generateContextMenu(item, containerType));
33799
33804
  }
33800
33805
  }, [item]);
@@ -33926,12 +33931,14 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33926
33931
  bubbles: true
33927
33932
  });
33928
33933
  (_document$elementFrom = document.elementFromPoint(clientX, clientY)) == null ? void 0 : _document$elementFrom.dispatchEvent(simulatedEvent);
33929
- }
33934
+ },
33935
+ isSelectingShortcut: isSelectingShortcut && ((item == null ? void 0 : item.type) === shared.ItemType.Consumable || (item == null ? void 0 : item.type) === shared.ItemType.Tool)
33930
33936
  }, React__default.createElement(Draggable, {
33937
+ axis: isSelectingShortcut ? 'none' : 'both',
33931
33938
  defaultClassName: item ? 'draggable' : 'empty-slot',
33932
33939
  scale: dragScale,
33933
33940
  onStop: function onStop(e, data) {
33934
- if (wasDragged && item) {
33941
+ if (wasDragged && item && !isSelectingShortcut) {
33935
33942
  var _e$target;
33936
33943
  //@ts-ignore
33937
33944
  var classes = Array.from((_e$target = e.target) == null ? void 0 : _e$target.classList);
@@ -33969,12 +33976,12 @@ var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
33969
33976
  }
33970
33977
  }, 100);
33971
33978
  } else if (item) {
33972
- if (!isContextMenuDisabled) setIsContextMenuVisible(!isContextMenuVisible);
33979
+ if (!isContextMenuDisabled && !isSelectingShortcut) setIsContextMenuVisible(!isContextMenuVisible);
33973
33980
  onClick(item.type, containerType, item);
33974
33981
  }
33975
33982
  },
33976
33983
  onStart: function onStart() {
33977
- if (!item) {
33984
+ if (!item || isSelectingShortcut) {
33978
33985
  return;
33979
33986
  }
33980
33987
  if (onDragStart) {
@@ -34036,7 +34043,7 @@ var rarityColor = function rarityColor(item) {
34036
34043
  var Container$a = /*#__PURE__*/styled.div.withConfig({
34037
34044
  displayName: "ItemSlot__Container",
34038
34045
  componentId: "sc-l2j5ef-0"
34039
- })(["margin:0.1rem;.sprite-from-atlas-img{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}position:relative;"], function (_ref2) {
34046
+ })(["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) {
34040
34047
  var item = _ref2.item;
34041
34048
  return rarityColor(item);
34042
34049
  }, function (_ref3) {
@@ -34045,6 +34052,9 @@ var Container$a = /*#__PURE__*/styled.div.withConfig({
34045
34052
  }, function (_ref4) {
34046
34053
  var item = _ref4.item;
34047
34054
  return "0 0 4px 3px " + rarityColor(item);
34055
+ }, function (_ref5) {
34056
+ var isSelectingShortcut = _ref5.isSelectingShortcut;
34057
+ return isSelectingShortcut ? 'bg-color-change 1s infinite' : 'none';
34048
34058
  });
34049
34059
  var ItemContainer = /*#__PURE__*/styled.div.withConfig({
34050
34060
  displayName: "ItemSlot__ItemContainer",
@@ -34170,8 +34180,8 @@ var SlotsContainer = function SlotsContainer(_ref) {
34170
34180
  onClose();
34171
34181
  }
34172
34182
  },
34173
- width: "330px",
34174
- cancelDrag: ".item-container-body",
34183
+ width: "400px",
34184
+ cancelDrag: ".item-container-body, #shortcuts_list",
34175
34185
  onPositionChange: function onPositionChange(_ref2) {
34176
34186
  var x = _ref2.x,
34177
34187
  y = _ref2.y;
@@ -34342,6 +34352,72 @@ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
34342
34352
  componentId: "sc-yfdtpn-3"
34343
34353
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
34344
34354
 
34355
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
34356
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
34357
+ settingShortcutIndex = _ref.settingShortcutIndex,
34358
+ shortcuts = _ref.shortcuts,
34359
+ removeShortcut = _ref.removeShortcut,
34360
+ atlasJSON = _ref.atlasJSON,
34361
+ atlasIMG = _ref.atlasIMG;
34362
+ var getContent = function getContent(index) {
34363
+ var _shortcuts$index, _shortcuts$index3;
34364
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
34365
+ var _shortcuts$index2;
34366
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
34367
+ if (!_payload) return null;
34368
+ return React__default.createElement(SpriteFromAtlas, {
34369
+ atlasIMG: atlasIMG,
34370
+ atlasJSON: atlasJSON,
34371
+ spriteKey: shared.getItemTextureKeyPath({
34372
+ key: _payload.texturePath,
34373
+ texturePath: _payload.texturePath,
34374
+ stackQty: _payload.stackQty || 1
34375
+ }, atlasJSON),
34376
+ width: 32,
34377
+ height: 32,
34378
+ imgScale: 1.6,
34379
+ imgStyle: {
34380
+ left: '5px'
34381
+ }
34382
+ });
34383
+ }
34384
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
34385
+ return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
34386
+ return word[0];
34387
+ }));
34388
+ };
34389
+ return React__default.createElement(Container$b, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
34390
+ id: "shortcuts_list"
34391
+ }, Array.from({
34392
+ length: 6
34393
+ }).map(function (_, i) {
34394
+ return React__default.createElement(Shortcut, {
34395
+ key: i,
34396
+ onClick: function onClick() {
34397
+ removeShortcut(i);
34398
+ if (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None) setSettingShortcutIndex(i);
34399
+ },
34400
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
34401
+ isBeingSet: settingShortcutIndex === i
34402
+ }, getContent(i));
34403
+ })));
34404
+ };
34405
+ var Container$b = /*#__PURE__*/styled.div.withConfig({
34406
+ displayName: "ShortcutsSetter__Container",
34407
+ componentId: "sc-xuouuf-0"
34408
+ })(["p{margin:0;margin-left:0.5rem;}"]);
34409
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
34410
+ displayName: "ShortcutsSetter__Shortcut",
34411
+ componentId: "sc-xuouuf-1"
34412
+ })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
34413
+ var isBeingSet = _ref2.isBeingSet;
34414
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
34415
+ }, uiColors.darkGray, uiColors.gray);
34416
+ var List = /*#__PURE__*/styled.div.withConfig({
34417
+ displayName: "ShortcutsSetter__List",
34418
+ componentId: "sc-xuouuf-2"
34419
+ })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
34420
+
34345
34421
  var ItemContainer$1 = function ItemContainer(_ref) {
34346
34422
  var itemContainer = _ref.itemContainer,
34347
34423
  onClose = _ref.onClose,
@@ -34360,7 +34436,10 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34360
34436
  checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
34361
34437
  initialPosition = _ref.initialPosition,
34362
34438
  checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
34363
- dragScale = _ref.dragScale;
34439
+ dragScale = _ref.dragScale,
34440
+ shortcuts = _ref.shortcuts,
34441
+ setItemShortcut = _ref.setItemShortcut,
34442
+ removeShortcut = _ref.removeShortcut;
34364
34443
  var _useState = React.useState({
34365
34444
  isOpen: false,
34366
34445
  maxQuantity: 1,
@@ -34368,6 +34447,9 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34368
34447
  }),
34369
34448
  quantitySelect = _useState[0],
34370
34449
  setQuantitySelect = _useState[1];
34450
+ var _useState2 = React.useState(-1),
34451
+ settingShortcutIndex = _useState2[0],
34452
+ setSettingShortcutIndex = _useState2[1];
34371
34453
  var onRenderSlots = function onRenderSlots() {
34372
34454
  var slots = [];
34373
34455
  for (var i = 0; i < itemContainer.slotQty; i++) {
@@ -34381,8 +34463,13 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34381
34463
  onMouseOver: function onMouseOver(event, slotIndex, item) {
34382
34464
  if (_onMouseOver) _onMouseOver(event, slotIndex, item);
34383
34465
  },
34384
- onClick: function onClick(ItemType, ContainerType, item) {
34385
- if (onItemClick) onItemClick(item, ItemType, ContainerType);
34466
+ onClick: function onClick(itemType, containerType, item) {
34467
+ if (settingShortcutIndex !== -1) {
34468
+ setSettingShortcutIndex(-1);
34469
+ if (itemType === shared.ItemType.Consumable || itemType === shared.ItemType.Tool) {
34470
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, settingShortcutIndex);
34471
+ }
34472
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
34386
34473
  },
34387
34474
  onSelected: function onSelected(optionId, item) {
34388
34475
  if (_onSelected) _onSelected(optionId, item);
@@ -34410,7 +34497,8 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34410
34497
  if (_onOutsideDrop) _onOutsideDrop(item, position);
34411
34498
  },
34412
34499
  atlasIMG: atlasIMG,
34413
- atlasJSON: atlasJSON
34500
+ atlasJSON: atlasJSON,
34501
+ isSelectingShortcut: settingShortcutIndex !== -1
34414
34502
  }));
34415
34503
  }
34416
34504
  return slots;
@@ -34419,7 +34507,14 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34419
34507
  title: itemContainer.name || 'Container',
34420
34508
  onClose: onClose,
34421
34509
  initialPosition: initialPosition
34422
- }, React__default.createElement(ItemsContainer, {
34510
+ }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
34511
+ setSettingShortcutIndex: setSettingShortcutIndex,
34512
+ settingShortcutIndex: settingShortcutIndex,
34513
+ shortcuts: shortcuts,
34514
+ removeShortcut: removeShortcut,
34515
+ atlasIMG: atlasIMG,
34516
+ atlasJSON: atlasJSON
34517
+ }), React__default.createElement(ItemsContainer, {
34423
34518
  className: "item-container-body"
34424
34519
  }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
34425
34520
  quantity: quantitySelect.maxQuantity,
@@ -34444,7 +34539,7 @@ var ItemContainer$1 = function ItemContainer(_ref) {
34444
34539
  var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
34445
34540
  displayName: "ItemContainer__ItemsContainer",
34446
34541
  componentId: "sc-15y5p9l-0"
34447
- })(["max-width:280px;display:flex;justify-content:center;flex-wrap:wrap;"]);
34542
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
34448
34543
  var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
34449
34544
  displayName: "ItemContainer__QuantitySelectorContainer",
34450
34545
  componentId: "sc-15y5p9l-1"
@@ -34541,7 +34636,7 @@ var ListMenu = function ListMenu(_ref) {
34541
34636
  onSelected = _ref.onSelected,
34542
34637
  x = _ref.x,
34543
34638
  y = _ref.y;
34544
- return React__default.createElement(Container$b, {
34639
+ return React__default.createElement(Container$c, {
34545
34640
  x: x,
34546
34641
  y: y
34547
34642
  }, React__default.createElement("ul", {
@@ -34558,7 +34653,7 @@ var ListMenu = function ListMenu(_ref) {
34558
34653
  }, (params == null ? void 0 : params.text) || 'No text');
34559
34654
  })));
34560
34655
  };
34561
- var Container$b = /*#__PURE__*/styled.div.withConfig({
34656
+ var Container$c = /*#__PURE__*/styled.div.withConfig({
34562
34657
  displayName: "ListMenu__Container",
34563
34658
  componentId: "sc-i9097t-0"
34564
34659
  })(["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) {
@@ -34611,7 +34706,7 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
34611
34706
  type: exports.RPGUIContainerTypes.FramedGold,
34612
34707
  width: '50%',
34613
34708
  height: '180px'
34614
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$c, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
34709
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$d, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
34615
34710
  flex: '70%'
34616
34711
  }, React__default.createElement(NPCDialogText, {
34617
34712
  onStartStep: function onStartStep() {
@@ -34653,7 +34748,7 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
34653
34748
  src: img$7
34654
34749
  }))), ")"));
34655
34750
  };
34656
- var Container$c = /*#__PURE__*/styled.div.withConfig({
34751
+ var Container$d = /*#__PURE__*/styled.div.withConfig({
34657
34752
  displayName: "NPCMultiDialog__Container",
34658
34753
  componentId: "sc-rvu5wg-0"
34659
34754
  })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
@@ -34857,7 +34952,7 @@ var QuestionDialog = function QuestionDialog(_ref) {
34857
34952
  return null;
34858
34953
  });
34859
34954
  };
34860
- return React__default.createElement(Container$d, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
34955
+ return React__default.createElement(Container$e, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
34861
34956
  text: currentQuestion.text,
34862
34957
  onStart: function onStart() {
34863
34958
  return setCanShowAnswers(false);
@@ -34867,7 +34962,7 @@ var QuestionDialog = function QuestionDialog(_ref) {
34867
34962
  }
34868
34963
  })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
34869
34964
  };
34870
- var Container$d = /*#__PURE__*/styled.div.withConfig({
34965
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
34871
34966
  displayName: "QuestionDialog__Container",
34872
34967
  componentId: "sc-bxc5u0-0"
34873
34968
  })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
@@ -34913,7 +35008,7 @@ var ProgressBar = function ProgressBar(_ref) {
34913
35008
  }
34914
35009
  return value * 100 / max;
34915
35010
  };
34916
- return React__default.createElement(Container$e, {
35011
+ return React__default.createElement(Container$f, {
34917
35012
  className: "rpgui-progress",
34918
35013
  "data-value": calculatePercentageValue(max, value) / 100,
34919
35014
  "data-rpguitype": "progress",
@@ -34942,7 +35037,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
34942
35037
  displayName: "ProgressBar__TextOverlay",
34943
35038
  componentId: "sc-qa6fzh-1"
34944
35039
  })(["width:100%;position:relative;"]);
34945
- var Container$e = /*#__PURE__*/styled.div.withConfig({
35040
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
34946
35041
  displayName: "ProgressBar__Container",
34947
35042
  componentId: "sc-qa6fzh-2"
34948
35043
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
@@ -35159,13 +35254,96 @@ var RPGUIRoot = function RPGUIRoot(_ref) {
35159
35254
  }, children);
35160
35255
  };
35161
35256
 
35257
+ var Shortcuts = function Shortcuts(_ref) {
35258
+ var shortcuts = _ref.shortcuts,
35259
+ onShortcutCast = _ref.onShortcutCast,
35260
+ mana = _ref.mana,
35261
+ _ref$isBlockedCasting = _ref.isBlockedCastingByKeyboard,
35262
+ isBlockedCastingByKeyboard = _ref$isBlockedCasting === void 0 ? false : _ref$isBlockedCasting,
35263
+ atlasJSON = _ref.atlasJSON,
35264
+ atlasIMG = _ref.atlasIMG,
35265
+ inventory = _ref.inventory;
35266
+ React.useEffect(function () {
35267
+ var handleKeyDown = function handleKeyDown(e) {
35268
+ if (isBlockedCastingByKeyboard) return;
35269
+ var shortcutIndex = Number(e.key) - 1;
35270
+ if (shortcutIndex >= 0 && shortcutIndex <= 5) {
35271
+ onShortcutCast(shortcutIndex);
35272
+ }
35273
+ };
35274
+ window.addEventListener('keydown', handleKeyDown);
35275
+ return function () {
35276
+ window.removeEventListener('keydown', handleKeyDown);
35277
+ };
35278
+ }, [shortcuts, isBlockedCastingByKeyboard]);
35279
+ return React__default.createElement(List$1, null, Array.from({
35280
+ length: 6
35281
+ }).map(function (_, i) {
35282
+ var _shortcuts$i, _shortcuts$i3, _payload$manaCost;
35283
+ if (((_shortcuts$i = shortcuts[i]) == null ? void 0 : _shortcuts$i.type) === shared.ShortcutType.Item) {
35284
+ var _shortcuts$i2;
35285
+ var _payload = (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.payload;
35286
+ var itemsFromEquipment = [];
35287
+ if (inventory) {
35288
+ Object.keys(inventory.slots).forEach(function (i) {
35289
+ var _inventory$slots$inde;
35290
+ var index = parseInt(i);
35291
+ if (((_inventory$slots$inde = inventory.slots[index]) == null ? void 0 : _inventory$slots$inde.key) === (_payload == null ? void 0 : _payload.key)) {
35292
+ itemsFromEquipment.push(inventory.slots[index]);
35293
+ }
35294
+ });
35295
+ }
35296
+ var totalQty = itemsFromEquipment.reduce(function (acc, item) {
35297
+ return acc + ((item == null ? void 0 : item.stackQty) || 1);
35298
+ }, 0);
35299
+ return React__default.createElement(SingleShortcut, {
35300
+ key: i,
35301
+ onClick: onShortcutCast.bind(null, i),
35302
+ disabled: false
35303
+ }, _payload && React__default.createElement(SpriteFromAtlas, {
35304
+ atlasIMG: atlasIMG,
35305
+ atlasJSON: atlasJSON,
35306
+ spriteKey: shared.getItemTextureKeyPath({
35307
+ key: _payload.texturePath,
35308
+ texturePath: _payload.texturePath,
35309
+ stackQty: _payload.stackQty || 1
35310
+ }, atlasJSON),
35311
+ width: 32,
35312
+ height: 32
35313
+ }), React__default.createElement("span", {
35314
+ className: "qty"
35315
+ }, totalQty), React__default.createElement("span", {
35316
+ className: "keyboard"
35317
+ }, i + 1));
35318
+ }
35319
+ var payload = (_shortcuts$i3 = shortcuts[i]) == null ? void 0 : _shortcuts$i3.payload;
35320
+ return React__default.createElement(SingleShortcut, {
35321
+ key: i,
35322
+ onClick: onShortcutCast.bind(null, i),
35323
+ disabled: mana < ((_payload$manaCost = payload == null ? void 0 : payload.manaCost) != null ? _payload$manaCost : 0)
35324
+ }, React__default.createElement("span", {
35325
+ className: "mana"
35326
+ }, payload && payload.manaCost), React__default.createElement("span", {
35327
+ className: "magicWords"
35328
+ }, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
35329
+ return word[0];
35330
+ })), React__default.createElement("span", {
35331
+ className: "keyboard"
35332
+ }, i + 1));
35333
+ }));
35334
+ };
35335
+ var List$1 = /*#__PURE__*/styled.p.withConfig({
35336
+ displayName: "Shortcuts__List",
35337
+ componentId: "sc-kgtsi7-0"
35338
+ })(["width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;box-sizing:border-box;margin:0 !important;"]);
35339
+
35162
35340
  var SimpleProgressBar = function SimpleProgressBar(_ref) {
35163
35341
  var value = _ref.value,
35164
35342
  _ref$bgColor = _ref.bgColor,
35165
35343
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
35166
35344
  _ref$margin = _ref.margin,
35167
35345
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
35168
- return React__default.createElement(Container$f, {
35346
+ return React__default.createElement(Container$g, {
35169
35347
  className: "simple-progress-bar"
35170
35348
  }, React__default.createElement(ProgressBarContainer, {
35171
35349
  margin: margin
@@ -35174,7 +35352,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35174
35352
  bgColor: bgColor
35175
35353
  }))));
35176
35354
  };
35177
- var Container$f = /*#__PURE__*/styled.div.withConfig({
35355
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
35178
35356
  displayName: "SimpleProgressBar__Container",
35179
35357
  componentId: "sc-mbeil3-0"
35180
35358
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -35402,7 +35580,7 @@ var Spell = function Spell(_ref) {
35402
35580
  isSettingShortcut = _ref.isSettingShortcut,
35403
35581
  minMagicLevelRequired = _ref.minMagicLevelRequired;
35404
35582
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
35405
- return React__default.createElement(Container$g, {
35583
+ return React__default.createElement(Container$h, {
35406
35584
  disabled: disabled,
35407
35585
  onClick: onClick == null ? void 0 : onClick.bind(null, spellKey),
35408
35586
  isSettingShortcut: isSettingShortcut && !disabled,
@@ -35415,7 +35593,7 @@ var Spell = function Spell(_ref) {
35415
35593
  className: "mana"
35416
35594
  }, manaCost)));
35417
35595
  };
35418
- var Container$g = /*#__PURE__*/styled.button.withConfig({
35596
+ var Container$h = /*#__PURE__*/styled.button.withConfig({
35419
35597
  displayName: "Spell__Container",
35420
35598
  componentId: "sc-j96fa2-0"
35421
35599
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;height:5rem;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -35451,43 +35629,6 @@ var Overlay = /*#__PURE__*/styled.p.withConfig({
35451
35629
  componentId: "sc-j96fa2-7"
35452
35630
  })(["margin:0 !important;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:1rem;display:flex;justify-content:center;align-items:center;color:", ";font-size:", " !important;font-weight:bold;z-index:10;background-color:rgba(0 0 0 / 0.2);"], uiColors.yellow, uiFonts.size.large);
35453
35631
 
35454
- var SpellbookShortcuts = function SpellbookShortcuts(_ref) {
35455
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
35456
- settingShortcutIndex = _ref.settingShortcutIndex,
35457
- shortcuts = _ref.shortcuts,
35458
- removeShortcut = _ref.removeShortcut;
35459
- return React__default.createElement(List$1, {
35460
- id: "shortcuts_list"
35461
- }, "Spells shortcuts:", Array.from({
35462
- length: 4
35463
- }).map(function (_, i) {
35464
- var _shortcuts$i2;
35465
- return React__default.createElement(SpellShortcut$1, {
35466
- key: i,
35467
- onClick: function onClick() {
35468
- var _shortcuts$i;
35469
- removeShortcut(i);
35470
- if (!((_shortcuts$i = shortcuts[i]) != null && _shortcuts$i.key)) setSettingShortcutIndex(i);
35471
- },
35472
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
35473
- isBeingSet: settingShortcutIndex === i
35474
- }, React__default.createElement("span", null, (_shortcuts$i2 = shortcuts[i]) == null ? void 0 : _shortcuts$i2.magicWords.split(' ').map(function (word) {
35475
- return word[0];
35476
- })));
35477
- }));
35478
- };
35479
- var SpellShortcut$1 = /*#__PURE__*/styled.button.withConfig({
35480
- displayName: "SpellbookShortcuts__SpellShortcut",
35481
- componentId: "sc-fr4a0d-0"
35482
- })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
35483
- var isBeingSet = _ref2.isBeingSet;
35484
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
35485
- }, uiColors.darkGray, uiColors.gray);
35486
- var List$1 = /*#__PURE__*/styled.p.withConfig({
35487
- displayName: "SpellbookShortcuts__List",
35488
- componentId: "sc-fr4a0d-1"
35489
- })(["width:100%;display:flex;align-items:center;justify-content:flex-end;gap:0.5rem;padding:0.5rem;box-sizing:border-box;margin:0 !important;"]);
35490
-
35491
35632
  var Spellbook = function Spellbook(_ref) {
35492
35633
  var onClose = _ref.onClose,
35493
35634
  onInputFocus = _ref.onInputFocus,
@@ -35497,8 +35638,10 @@ var Spellbook = function Spellbook(_ref) {
35497
35638
  mana = _ref.mana,
35498
35639
  onSpellClick = _ref.onSpellClick,
35499
35640
  setSpellShortcut = _ref.setSpellShortcut,
35500
- spellShortcuts = _ref.spellShortcuts,
35501
- removeSpellShortcut = _ref.removeSpellShortcut;
35641
+ shortcuts = _ref.shortcuts,
35642
+ removeShortcut = _ref.removeShortcut,
35643
+ atlasIMG = _ref.atlasIMG,
35644
+ atlasJSON = _ref.atlasJSON;
35502
35645
  var _useState = React.useState(''),
35503
35646
  search = _useState[0],
35504
35647
  setSearch = _useState[1];
@@ -35535,11 +35678,13 @@ var Spellbook = function Spellbook(_ref) {
35535
35678
  width: "inherit",
35536
35679
  height: "inherit",
35537
35680
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell"
35538
- }, React__default.createElement(Container$h, null, React__default.createElement(Title$6, null, "Learned Spells"), React__default.createElement(SpellbookShortcuts, {
35681
+ }, React__default.createElement(Container$i, null, React__default.createElement(Title$6, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
35539
35682
  setSettingShortcutIndex: setSettingShortcutIndex,
35540
35683
  settingShortcutIndex: settingShortcutIndex,
35541
- shortcuts: spellShortcuts,
35542
- removeShortcut: removeSpellShortcut
35684
+ shortcuts: shortcuts,
35685
+ removeShortcut: removeShortcut,
35686
+ atlasIMG: atlasIMG,
35687
+ atlasJSON: atlasJSON
35543
35688
  }), React__default.createElement(Input, {
35544
35689
  placeholder: "Search for spell",
35545
35690
  value: search,
@@ -35565,7 +35710,7 @@ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
35565
35710
  displayName: "Spellbook__Title",
35566
35711
  componentId: "sc-r02nfq-0"
35567
35712
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
35568
- var Container$h = /*#__PURE__*/styled.div.withConfig({
35713
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
35569
35714
  displayName: "Spellbook__Container",
35570
35715
  componentId: "sc-r02nfq-1"
35571
35716
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -35798,14 +35943,16 @@ var TradingMenu = function TradingMenu(_ref) {
35798
35943
  if (onClose) onClose();
35799
35944
  },
35800
35945
  width: "600px",
35801
- cancelDrag: ".equipment-container-body .arrow-selector"
35946
+ cancelDrag: "#TraderContainer"
35802
35947
  }, React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
35803
35948
  style: {
35804
35949
  width: '100%'
35805
35950
  }
35806
35951
  }, React__default.createElement(Title$7, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
35807
35952
  className: "golden"
35808
- })), React__default.createElement(TradingComponentScrollWrapper, null, traderItems.map(function (tradeItem, index) {
35953
+ })), React__default.createElement(TradingComponentScrollWrapper, {
35954
+ id: "TraderContainer"
35955
+ }, traderItems.map(function (tradeItem, index) {
35809
35956
  var _qtyMap$get;
35810
35957
  return React__default.createElement(ItemWrapper$1, {
35811
35958
  key: tradeItem.key + "_" + index
@@ -35863,11 +36010,11 @@ var Truncate = function Truncate(_ref) {
35863
36010
  var _ref$maxLines = _ref.maxLines,
35864
36011
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
35865
36012
  children = _ref.children;
35866
- return React__default.createElement(Container$i, {
36013
+ return React__default.createElement(Container$j, {
35867
36014
  maxLines: maxLines
35868
36015
  }, children);
35869
36016
  };
35870
- var Container$i = /*#__PURE__*/styled.div.withConfig({
36017
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
35871
36018
  displayName: "Truncate__Container",
35872
36019
  componentId: "sc-6x00qb-0"
35873
36020
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
@@ -35930,7 +36077,7 @@ var NPCDialogText = function NPCDialogText(_ref) {
35930
36077
  var _useState2 = React.useState(false),
35931
36078
  showGoNextIndicator = _useState2[0],
35932
36079
  setShowGoNextIndicator = _useState2[1];
35933
- return React__default.createElement(Container$j, null, React__default.createElement(DynamicText, {
36080
+ return React__default.createElement(Container$k, null, React__default.createElement(DynamicText, {
35934
36081
  text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
35935
36082
  onFinish: function onFinish() {
35936
36083
  setShowGoNextIndicator(true);
@@ -35948,7 +36095,7 @@ var NPCDialogText = function NPCDialogText(_ref) {
35948
36095
  }
35949
36096
  }));
35950
36097
  };
35951
- var Container$j = /*#__PURE__*/styled.div.withConfig({
36098
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
35952
36099
  displayName: "NPCDialogText__Container",
35953
36100
  componentId: "sc-1cxkdh9-0"
35954
36101
  })([""]);
@@ -35989,7 +36136,7 @@ var NPCDialog = function NPCDialog(_ref) {
35989
36136
  }
35990
36137
  })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
35991
36138
  src: imagePath || img$6
35992
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$k, null, React__default.createElement(TextContainer$2, {
36139
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$l, null, React__default.createElement(TextContainer$2, {
35993
36140
  flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
35994
36141
  }, React__default.createElement(NPCDialogText, {
35995
36142
  type: type,
@@ -36003,7 +36150,7 @@ var NPCDialog = function NPCDialog(_ref) {
36003
36150
  src: imagePath || img$6
36004
36151
  })))));
36005
36152
  };
36006
- var Container$k = /*#__PURE__*/styled.div.withConfig({
36153
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
36007
36154
  displayName: "NPCDialog__Container",
36008
36155
  componentId: "sc-1b4aw74-0"
36009
36156
  })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
@@ -36114,13 +36261,12 @@ exports.PropertySelect = PropertySelect;
36114
36261
  exports.QuestInfo = QuestInfo;
36115
36262
  exports.QuestList = QuestList;
36116
36263
  exports.QuestionDialog = QuestionDialog;
36117
- exports.QuickSpells = QuickSpells;
36118
36264
  exports.RPGUIContainer = RPGUIContainer;
36119
36265
  exports.RPGUIRoot = RPGUIRoot;
36120
36266
  exports.RangeSlider = RangeSlider;
36267
+ exports.Shortcuts = Shortcuts;
36121
36268
  exports.SkillProgressBar = SkillProgressBar;
36122
36269
  exports.SkillsContainer = SkillsContainer;
36123
- exports.SpellShortcut = SpellShortcut;
36124
36270
  exports.Spellbook = Spellbook;
36125
36271
  exports.SpriteFromAtlas = SpriteFromAtlas;
36126
36272
  exports.TextArea = TextArea;