@rpg-engine/long-bow 0.8.32 → 0.8.34

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.
@@ -31159,44 +31159,6 @@ var CellName = /*#__PURE__*/styled__default.h3.withConfig({
31159
31159
  componentId: "sc-w48fdf-2"
31160
31160
  })(["font-size:0.7rem;color:#fef08a;margin:0;text-align:center;font-family:'Press Start 2P',cursive;line-height:1.2;word-break:break-word;max-width:100%;"]);
31161
31161
 
31162
- var Collapsible = function Collapsible(_ref) {
31163
- var title = _ref.title,
31164
- children = _ref.children,
31165
- _ref$defaultOpen = _ref.defaultOpen,
31166
- defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
31167
- className = _ref.className;
31168
- var _useState = React.useState(defaultOpen),
31169
- isOpen = _useState[0],
31170
- setIsOpen = _useState[1];
31171
- return React__default.createElement(Container$o, {
31172
- className: className
31173
- }, React__default.createElement(Header$1, {
31174
- onClick: function onClick() {
31175
- return setIsOpen(!isOpen);
31176
- }
31177
- }, React__default.createElement(Title$3, null, title), React__default.createElement(Icon$1, null, isOpen ? React__default.createElement(fa.FaChevronUp, null) : React__default.createElement(fa.FaChevronDown, null))), isOpen && React__default.createElement(Content$1, null, children));
31178
- };
31179
- var Container$o = /*#__PURE__*/styled__default.div.withConfig({
31180
- displayName: "Collapsible__Container",
31181
- componentId: "sc-s4h8ey-0"
31182
- })(["background:rgba(0,0,0,0.3);border-radius:4px;overflow:hidden;border:1px solid ", ";"], uiColors.darkGray);
31183
- var Header$1 = /*#__PURE__*/styled__default.div.withConfig({
31184
- displayName: "Collapsible__Header",
31185
- componentId: "sc-s4h8ey-1"
31186
- })(["padding:10px 12px;background:rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color 0.2s ease;&:hover{background:rgba(0,0,0,0.4);}"]);
31187
- var Title$3 = /*#__PURE__*/styled__default.h3.withConfig({
31188
- displayName: "Collapsible__Title",
31189
- componentId: "sc-s4h8ey-2"
31190
- })(["margin:0;font-size:0.6rem;color:", ";font-family:'Press Start 2P',cursive;letter-spacing:0.5px;"], uiColors.yellow);
31191
- var Icon$1 = /*#__PURE__*/styled__default.span.withConfig({
31192
- displayName: "Collapsible__Icon",
31193
- componentId: "sc-s4h8ey-3"
31194
- })(["color:", ";font-size:0.6rem;display:flex;align-items:center;"], uiColors.yellow);
31195
- var Content$1 = /*#__PURE__*/styled__default.div.withConfig({
31196
- displayName: "Collapsible__Content",
31197
- componentId: "sc-s4h8ey-4"
31198
- })(["padding:6px;"]);
31199
-
31200
31162
  var BaseInformationDetails = function BaseInformationDetails(_ref) {
31201
31163
  var name = _ref.name,
31202
31164
  spriteKey = _ref.spriteKey,
@@ -31204,20 +31166,20 @@ var BaseInformationDetails = function BaseInformationDetails(_ref) {
31204
31166
  atlasIMG = _ref.atlasIMG,
31205
31167
  onBack = _ref.onBack,
31206
31168
  children = _ref.children;
31207
- return React__default.createElement(Container$p, null, React__default.createElement(Overlay, {
31169
+ return React__default.createElement(Container$o, null, React__default.createElement(Overlay, {
31208
31170
  onClick: onBack
31209
31171
  }), React__default.createElement(Modal, null, React__default.createElement(CloseButton$5, {
31210
31172
  onClick: onBack
31211
- }, React__default.createElement(fa.FaTimes, null)), React__default.createElement(Header$2, null, React__default.createElement(SpriteContainer$2, null, React__default.createElement(SpriteFromAtlas, {
31173
+ }, React__default.createElement(fa.FaTimes, null)), React__default.createElement(Header$1, null, React__default.createElement(SpriteContainer$2, null, React__default.createElement(SpriteFromAtlas, {
31212
31174
  atlasJSON: atlasJSON,
31213
31175
  atlasIMG: atlasIMG,
31214
31176
  spriteKey: spriteKey,
31215
31177
  width: 32,
31216
31178
  height: 32,
31217
31179
  imgScale: 1
31218
- })), React__default.createElement(Title$4, null, name)), React__default.createElement(Content$2, null, children)));
31180
+ })), React__default.createElement(Title$3, null, name)), React__default.createElement(Content$1, null, children)));
31219
31181
  };
31220
- var Container$p = /*#__PURE__*/styled__default.div.withConfig({
31182
+ var Container$o = /*#__PURE__*/styled__default.div.withConfig({
31221
31183
  displayName: "BaseInformationDetails__Container",
31222
31184
  componentId: "sc-1vguuz8-0"
31223
31185
  })(["position:fixed;inset:0;display:flex;justify-content:center;align-items:center;z-index:9999;"]);
@@ -31228,20 +31190,20 @@ var Overlay = /*#__PURE__*/styled__default.div.withConfig({
31228
31190
  var Modal = /*#__PURE__*/styled__default.div.withConfig({
31229
31191
  displayName: "BaseInformationDetails__Modal",
31230
31192
  componentId: "sc-1vguuz8-2"
31231
- })(["position:fixed;background-color:rgba(0,0,0,0.95);border-radius:4px;padding:12px;overflow:hidden;z-index:1;font-family:'Press Start 2P',cursive;border:1px solid ", ";box-shadow:0 2px 4px rgba(0,0,0,0.2);width:90%;height:90%;top:5%;left:5%;max-width:800px;margin:0 auto;@media (max-width:768px){width:100%;height:100%;top:0;left:0;border-radius:0;padding:8px;}&::-webkit-scrollbar{width:2px;}&::-webkit-scrollbar-track{background:transparent;}&::-webkit-scrollbar-thumb{background-color:", ";border-radius:4px;opacity:0.5;&:hover{opacity:1;}}scrollbar-width:thin;scrollbar-color:", " transparent;"], uiColors.darkGray, uiColors.yellow, uiColors.yellow);
31193
+ })(["position:relative;background-color:rgba(0,0,0,0.95);border-radius:4px;padding:12px;overflow:hidden;z-index:1;font-family:'Press Start 2P',cursive;border:1px solid ", ";box-shadow:0 2px 4px rgba(0,0,0,0.2);width:90%;height:90vh;max-width:800px;max-height:800px;@media (max-width:768px){width:100%;height:100%;border-radius:0;padding:8px;}&::-webkit-scrollbar{width:2px;}&::-webkit-scrollbar-track{background:transparent;}&::-webkit-scrollbar-thumb{background-color:", ";border-radius:4px;opacity:0.5;&:hover{opacity:1;}}scrollbar-width:thin;scrollbar-color:", " transparent;"], uiColors.darkGray, uiColors.yellow, uiColors.yellow);
31232
31194
  var CloseButton$5 = /*#__PURE__*/styled__default.button.withConfig({
31233
31195
  displayName: "BaseInformationDetails__CloseButton",
31234
31196
  componentId: "sc-1vguuz8-3"
31235
31197
  })(["position:absolute;top:20px;right:20px;background:none;border:none;color:", ";font-size:1.2rem;cursor:pointer;padding:0;z-index:1;transition:transform 0.2s ease;&:hover{transform:scale(1.1);}"], uiColors.yellow);
31236
- var Header$2 = /*#__PURE__*/styled__default.div.withConfig({
31198
+ var Header$1 = /*#__PURE__*/styled__default.div.withConfig({
31237
31199
  displayName: "BaseInformationDetails__Header",
31238
31200
  componentId: "sc-1vguuz8-4"
31239
31201
  })(["display:flex;align-items:center;gap:16px;margin-bottom:24px;"]);
31240
- var Content$2 = /*#__PURE__*/styled__default.div.withConfig({
31202
+ var Content$1 = /*#__PURE__*/styled__default.div.withConfig({
31241
31203
  displayName: "BaseInformationDetails__Content",
31242
31204
  componentId: "sc-1vguuz8-5"
31243
31205
  })(["display:flex;flex-direction:column;gap:12px;height:calc(100% - 80px);overflow-y:auto;overflow-x:hidden;padding-right:6px;margin-right:-6px;@media (max-width:768px){height:calc(100% - 64px);gap:8px;padding-right:4px;margin-right:-4px;}"]);
31244
- var Title$4 = /*#__PURE__*/styled__default.h2.withConfig({
31206
+ var Title$3 = /*#__PURE__*/styled__default.h2.withConfig({
31245
31207
  displayName: "BaseInformationDetails__Title",
31246
31208
  componentId: "sc-1vguuz8-6"
31247
31209
  })(["color:", ";font-size:1rem;margin:0;"], uiColors.yellow);
@@ -31250,6 +31212,44 @@ var SpriteContainer$2 = /*#__PURE__*/styled__default.div.withConfig({
31250
31212
  componentId: "sc-1vguuz8-7"
31251
31213
  })(["width:64px;height:64px;background:rgba(0,0,0,0.3);border-radius:4px;display:flex;justify-content:center;align-items:center;position:relative;.sprite-from-atlas-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(2);transform-origin:center;}"]);
31252
31214
 
31215
+ var Collapsible = function Collapsible(_ref) {
31216
+ var title = _ref.title,
31217
+ children = _ref.children,
31218
+ _ref$defaultOpen = _ref.defaultOpen,
31219
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
31220
+ className = _ref.className;
31221
+ var _useState = React.useState(defaultOpen),
31222
+ isOpen = _useState[0],
31223
+ setIsOpen = _useState[1];
31224
+ return React__default.createElement(Container$p, {
31225
+ className: className
31226
+ }, React__default.createElement(Header$2, {
31227
+ onClick: function onClick() {
31228
+ return setIsOpen(!isOpen);
31229
+ }
31230
+ }, React__default.createElement(Title$4, null, title), React__default.createElement(Icon$1, null, isOpen ? React__default.createElement(fa.FaChevronUp, null) : React__default.createElement(fa.FaChevronDown, null))), isOpen && React__default.createElement(Content$2, null, children));
31231
+ };
31232
+ var Container$p = /*#__PURE__*/styled__default.div.withConfig({
31233
+ displayName: "Collapsible__Container",
31234
+ componentId: "sc-s4h8ey-0"
31235
+ })(["background:rgba(0,0,0,0.3);border-radius:4px;overflow:hidden;border:1px solid ", ";"], uiColors.darkGray);
31236
+ var Header$2 = /*#__PURE__*/styled__default.div.withConfig({
31237
+ displayName: "Collapsible__Header",
31238
+ componentId: "sc-s4h8ey-1"
31239
+ })(["padding:10px 12px;background:rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color 0.2s ease;&:hover{background:rgba(0,0,0,0.4);}"]);
31240
+ var Title$4 = /*#__PURE__*/styled__default.h3.withConfig({
31241
+ displayName: "Collapsible__Title",
31242
+ componentId: "sc-s4h8ey-2"
31243
+ })(["margin:0;font-size:0.6rem;color:", ";font-family:'Press Start 2P',cursive;letter-spacing:0.5px;"], uiColors.yellow);
31244
+ var Icon$1 = /*#__PURE__*/styled__default.span.withConfig({
31245
+ displayName: "Collapsible__Icon",
31246
+ componentId: "sc-s4h8ey-3"
31247
+ })(["color:", ";font-size:0.6rem;display:flex;align-items:center;"], uiColors.yellow);
31248
+ var Content$2 = /*#__PURE__*/styled__default.div.withConfig({
31249
+ displayName: "Collapsible__Content",
31250
+ componentId: "sc-s4h8ey-4"
31251
+ })(["padding:6px;"]);
31252
+
31253
31253
  var InformationCenterItemDetails = function InformationCenterItemDetails(_ref) {
31254
31254
  var item = _ref.item,
31255
31255
  itemsAtlasJSON = _ref.itemsAtlasJSON,
@@ -31761,7 +31761,15 @@ var InformationCenterItemsSection = function InformationCenterItemsSection(_ref)
31761
31761
  }
31762
31762
  }, React__default.createElement(InformationCenterItemTooltip, {
31763
31763
  item: tooltipState.item
31764
- }))), selectedItem && React__default.createElement(Portal, null, React__default.createElement(InformationCenterItemDetails, {
31764
+ }))), selectedItem && React__default.createElement(Portal, null, React__default.createElement(BaseInformationDetails, {
31765
+ name: selectedItem.name,
31766
+ spriteKey: selectedItem.texturePath,
31767
+ atlasJSON: itemsAtlasJSON,
31768
+ atlasIMG: itemsAtlasIMG,
31769
+ onBack: function onBack() {
31770
+ return setSelectedItem(null);
31771
+ }
31772
+ }, React__default.createElement(InformationCenterItemDetails, {
31765
31773
  item: selectedItem,
31766
31774
  itemsAtlasJSON: itemsAtlasJSON,
31767
31775
  itemsAtlasIMG: itemsAtlasIMG,
@@ -31769,7 +31777,7 @@ var InformationCenterItemsSection = function InformationCenterItemsSection(_ref)
31769
31777
  onBack: function onBack() {
31770
31778
  return setSelectedItem(null);
31771
31779
  }
31772
- })));
31780
+ }))));
31773
31781
  };
31774
31782
  var TooltipWrapper = /*#__PURE__*/styled__default.div.withConfig({
31775
31783
  displayName: "InformationCenterItemsSection__TooltipWrapper",
@@ -31876,6 +31884,12 @@ var InformationCenterNPCDetails = function InformationCenterNPCDetails(_ref) {
31876
31884
  var _useState2 = React.useState(1),
31877
31885
  currentLootPage = _useState2[0],
31878
31886
  setCurrentLootPage = _useState2[1];
31887
+ var _useState3 = React.useState(null),
31888
+ selectedItem = _useState3[0],
31889
+ setSelectedItem = _useState3[1];
31890
+ React.useEffect(function () {
31891
+ setCurrentLootPage(1);
31892
+ }, [lootSearchQuery]);
31879
31893
  var formatText = function formatText(text) {
31880
31894
  if (typeof text === 'number') {
31881
31895
  return text.toString();
@@ -31907,6 +31921,25 @@ var InformationCenterNPCDetails = function InformationCenterNPCDetails(_ref) {
31907
31921
  })) || [];
31908
31922
  var totalLootPages = Math.ceil(filteredLoots.length / ITEMS_PER_PAGE$1);
31909
31923
  var paginatedLoots = filteredLoots.slice((currentLootPage - 1) * ITEMS_PER_PAGE$1, currentLootPage * ITEMS_PER_PAGE$1);
31924
+ var handleItemClick = function handleItemClick(loot) {
31925
+ var item = {
31926
+ key: loot.itemBlueprintKey,
31927
+ name: formatItemName(loot.itemBlueprintKey),
31928
+ texturePath: loot.itemBlueprintKey,
31929
+ textureAtlas: 'items',
31930
+ type: shared.ItemType.Weapon,
31931
+ subType: shared.ItemSubType.Sword,
31932
+ tier: 1,
31933
+ rarity: shared.ItemRarities.Common,
31934
+ weight: 0,
31935
+ maxStackSize: loot.quantityRange ? loot.quantityRange[1] : 1,
31936
+ canSell: true,
31937
+ description: 'A basic item.',
31938
+ basePrice: 100,
31939
+ allowedEquipSlotType: []
31940
+ };
31941
+ setSelectedItem(item);
31942
+ };
31910
31943
  return React__default.createElement(BaseInformationDetails, {
31911
31944
  name: npc.name,
31912
31945
  spriteKey: npc.key,
@@ -31921,11 +31954,17 @@ var InformationCenterNPCDetails = function InformationCenterNPCDetails(_ref) {
31921
31954
  defaultOpen: !isMobile
31922
31955
  }, React__default.createElement(LootSearchContainer, null, React__default.createElement(StyledSearchBar$1, {
31923
31956
  value: lootSearchQuery,
31924
- onChange: setLootSearchQuery,
31957
+ onChange: function onChange(query) {
31958
+ setLootSearchQuery(query);
31959
+ setCurrentLootPage(1);
31960
+ },
31925
31961
  placeholder: "Search loot..."
31926
31962
  })), React__default.createElement(LootGrid, null, paginatedLoots.map(function (loot, index) {
31927
31963
  return React__default.createElement(LootItem, {
31928
- key: index
31964
+ key: loot.itemBlueprintKey + "-" + index,
31965
+ onClick: function onClick() {
31966
+ return handleItemClick(loot);
31967
+ }
31929
31968
  }, React__default.createElement(SpriteFromAtlas, {
31930
31969
  atlasJSON: itemsAtlasJSON,
31931
31970
  atlasIMG: itemsAtlasIMG,
@@ -31959,7 +31998,15 @@ var InformationCenterNPCDetails = function InformationCenterNPCDetails(_ref) {
31959
31998
  height: 24,
31960
31999
  imgScale: 1
31961
32000
  })), React__default.createElement(SpellContent, null, React__default.createElement(SpellName, null, formatText(spell.spellKey)), React__default.createElement(SpellDetails, null, "Power: ", React__default.createElement(SpellValue, null, formatText(spell.power)), React__default.createElement(Separator, null, "\u2022"), "Chance: ", React__default.createElement(SpellValue, null, spell.probability, "%"))));
31962
- }))));
32001
+ }))), selectedItem && React__default.createElement(Portal, null, React__default.createElement(InformationCenterItemDetails, {
32002
+ item: selectedItem,
32003
+ itemsAtlasJSON: itemsAtlasJSON,
32004
+ itemsAtlasIMG: itemsAtlasIMG,
32005
+ droppedBy: [npc],
32006
+ onBack: function onBack() {
32007
+ return setSelectedItem(null);
32008
+ }
32009
+ })));
31963
32010
  };
31964
32011
  var InfoSection$1 = /*#__PURE__*/styled__default.div.withConfig({
31965
32012
  displayName: "InformationCenterNPCDetails__InfoSection",
@@ -32044,27 +32091,27 @@ var LootGrid = /*#__PURE__*/styled__default.div.withConfig({
32044
32091
  var LootItem = /*#__PURE__*/styled__default.div.withConfig({
32045
32092
  displayName: "InformationCenterNPCDetails__LootItem",
32046
32093
  componentId: "sc-fdu3xl-20"
32047
- })(["display:flex;align-items:center;gap:4px;background:rgba(255,255,255,0.05);padding:4px;border-radius:4px;min-width:0;"]);
32094
+ })(["display:flex;align-items:center;gap:4px;background:rgba(255,255,255,0.05);padding:4px;border-radius:4px;min-width:0;cursor:pointer;user-select:none;transition:background-color 0.2s ease;&:hover{background:rgba(255,255,255,0.1);}"]);
32048
32095
  var LootDetails = /*#__PURE__*/styled__default.div.withConfig({
32049
32096
  displayName: "InformationCenterNPCDetails__LootDetails",
32050
32097
  componentId: "sc-fdu3xl-21"
32051
- })(["flex:1;display:flex;flex-direction:column;gap:4px;"]);
32098
+ })(["flex:1;display:flex;flex-direction:column;gap:4px;user-select:none;"]);
32052
32099
  var LootName = /*#__PURE__*/styled__default.div.withConfig({
32053
32100
  displayName: "InformationCenterNPCDetails__LootName",
32054
32101
  componentId: "sc-fdu3xl-22"
32055
- })(["color:", ";font-size:0.5rem;"], uiColors.white);
32102
+ })(["color:", ";font-size:0.5rem;user-select:none;"], uiColors.white);
32056
32103
  var LootInfo = /*#__PURE__*/styled__default.div.withConfig({
32057
32104
  displayName: "InformationCenterNPCDetails__LootInfo",
32058
32105
  componentId: "sc-fdu3xl-23"
32059
- })(["display:flex;align-items:center;gap:8px;"]);
32106
+ })(["display:flex;align-items:center;gap:8px;user-select:none;"]);
32060
32107
  var LootChance = /*#__PURE__*/styled__default.span.withConfig({
32061
32108
  displayName: "InformationCenterNPCDetails__LootChance",
32062
32109
  componentId: "sc-fdu3xl-24"
32063
- })(["color:", ";font-size:0.45rem;"], uiColors.yellow);
32110
+ })(["color:", ";font-size:0.45rem;user-select:none;"], uiColors.yellow);
32064
32111
  var LootQuantity = /*#__PURE__*/styled__default.span.withConfig({
32065
32112
  displayName: "InformationCenterNPCDetails__LootQuantity",
32066
32113
  componentId: "sc-fdu3xl-25"
32067
- })(["color:", ";font-size:0.45rem;"], uiColors.lightGray);
32114
+ })(["color:", ";font-size:0.45rem;user-select:none;"], uiColors.lightGray);
32068
32115
  var PaginationContainer$2 = /*#__PURE__*/styled__default.div.withConfig({
32069
32116
  displayName: "InformationCenterNPCDetails__PaginationContainer",
32070
32117
  componentId: "sc-fdu3xl-26"
@@ -32316,7 +32363,15 @@ var InformationCenterBestiarySection = function InformationCenterBestiarySection
32316
32363
  npc: tooltipState.item,
32317
32364
  itemsAtlasJSON: itemsAtlasJSON,
32318
32365
  itemsAtlasIMG: itemsAtlasIMG
32319
- }))), selectedMonster && React__default.createElement(Portal, null, React__default.createElement(InformationCenterNPCDetails, {
32366
+ }))), selectedMonster && React__default.createElement(Portal, null, React__default.createElement(BaseInformationDetails, {
32367
+ name: selectedMonster.name,
32368
+ spriteKey: selectedMonster.key,
32369
+ atlasJSON: entitiesAtlasJSON,
32370
+ atlasIMG: entitiesAtlasIMG,
32371
+ onBack: function onBack() {
32372
+ return setSelectedMonster(null);
32373
+ }
32374
+ }, React__default.createElement(InformationCenterNPCDetails, {
32320
32375
  npc: selectedMonster,
32321
32376
  itemsAtlasJSON: itemsAtlasJSON,
32322
32377
  itemsAtlasIMG: itemsAtlasIMG,
@@ -32327,7 +32382,7 @@ var InformationCenterBestiarySection = function InformationCenterBestiarySection
32327
32382
  onBack: function onBack() {
32328
32383
  return setSelectedMonster(null);
32329
32384
  }
32330
- })));
32385
+ }))));
32331
32386
  };
32332
32387
  var TooltipWrapper$1 = /*#__PURE__*/styled__default.div.withConfig({
32333
32388
  displayName: "InformationCenterBestiarySection__TooltipWrapper",