@rpg-engine/long-bow 0.6.1 → 0.6.2
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.
- package/dist/components/Item/Inventory/ItemGem.d.ts +5 -6
- package/dist/components/Stepper.d.ts +14 -0
- package/dist/index.d.ts +1 -0
- package/dist/long-bow.cjs.development.js +113 -30
- package/dist/long-bow.cjs.development.js.map +1 -1
- package/dist/long-bow.cjs.production.min.js +1 -1
- package/dist/long-bow.cjs.production.min.js.map +1 -1
- package/dist/long-bow.esm.js +113 -31
- package/dist/long-bow.esm.js.map +1 -1
- package/dist/stories/Stepper.stories.d.ts +5 -0
- package/package.json +1 -1
- package/src/components/Item/Inventory/ItemGem.tsx +51 -35
- package/src/components/Item/Inventory/ItemSlotRenderer.tsx +1 -3
- package/src/components/Stepper.tsx +115 -0
- package/src/components/TradingMenu/TradingMenu.tsx +2 -2
- package/src/index.tsx +1 -0
- package/src/mocks/itemContainer.mocks.ts +6 -6
- package/src/stories/Stepper.stories.tsx +48 -0
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { IItem } from '@rpg-engine/shared';
|
|
2
3
|
interface IProps {
|
|
3
|
-
|
|
4
|
-
gemQty: number;
|
|
5
|
-
qtyClassName: string;
|
|
4
|
+
item: IItem;
|
|
6
5
|
}
|
|
7
|
-
export declare const onRenderGems: (
|
|
8
|
-
export declare const ItemSlotQty: ({
|
|
9
|
-
export
|
|
6
|
+
export declare const onRenderGems: (item: IItem) => JSX.Element | undefined;
|
|
7
|
+
export declare const ItemSlotQty: ({ item }: IProps) => JSX.Element;
|
|
8
|
+
export default ItemSlotQty;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface IStep {
|
|
3
|
+
component: React.ReactNode;
|
|
4
|
+
id: number;
|
|
5
|
+
}
|
|
6
|
+
interface IStepperProps {
|
|
7
|
+
steps: IStep[];
|
|
8
|
+
finalCTAButton?: {
|
|
9
|
+
label: string;
|
|
10
|
+
onClick: (() => void) | (() => Promise<void>) | ((e: any) => Promise<void>);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare const Stepper: React.FC<IStepperProps>;
|
|
14
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export * from './components/Shortcuts/Shortcuts';
|
|
|
40
40
|
export * from './components/SkillProgressBar';
|
|
41
41
|
export * from './components/SkillsContainer';
|
|
42
42
|
export * from './components/Spellbook/Spellbook';
|
|
43
|
+
export * from './components/Stepper';
|
|
43
44
|
export * from './components/TextArea';
|
|
44
45
|
export * from './components/TimeWidget/TimeWidget';
|
|
45
46
|
export * from './components/TradingMenu/TradingMenu';
|
|
@@ -13665,47 +13665,61 @@ var rarityColor = function rarityColor(item) {
|
|
|
13665
13665
|
}
|
|
13666
13666
|
};
|
|
13667
13667
|
|
|
13668
|
-
var
|
|
13669
|
-
|
|
13670
|
-
|
|
13671
|
-
|
|
13672
|
-
|
|
13668
|
+
var gemColors = {
|
|
13669
|
+
'emerald-gem': '#50C878',
|
|
13670
|
+
'topaz-radiance': '#FFC87C',
|
|
13671
|
+
'sapphire-gem': '#0F52BA',
|
|
13672
|
+
'ruby-gem': '#E0115F',
|
|
13673
|
+
'misty-quartz-gem': '#D9D9F3',
|
|
13674
|
+
'coral-reef-gem': '#FF7F50',
|
|
13675
|
+
'jasper-gem': '#D73B3E',
|
|
13676
|
+
'earthstone-gem': '#8B4513',
|
|
13677
|
+
'obsidian-gem': '#0B0C0E',
|
|
13678
|
+
'amethyst-gem': '#9966CC'
|
|
13679
|
+
};
|
|
13680
|
+
var defaultColor = '#FFFFFF'; // Default color (white)
|
|
13681
|
+
var onRenderGems = function onRenderGems(item) {
|
|
13682
|
+
var _item$attachedGems;
|
|
13683
|
+
var gemQty = ((_item$attachedGems = item.attachedGems) == null ? void 0 : _item$attachedGems.length) || 0;
|
|
13673
13684
|
if (gemQty > 0) {
|
|
13674
13685
|
return React__default.createElement(ItemSlotQty, {
|
|
13675
|
-
|
|
13676
|
-
gemQty: gemQty,
|
|
13677
|
-
qtyClassName: qtyClassName
|
|
13686
|
+
item: item
|
|
13678
13687
|
});
|
|
13679
13688
|
}
|
|
13680
13689
|
return undefined;
|
|
13681
13690
|
};
|
|
13682
13691
|
var ItemSlotQty = function ItemSlotQty(_ref) {
|
|
13683
|
-
var
|
|
13684
|
-
|
|
13685
|
-
|
|
13686
|
-
var
|
|
13687
|
-
length: gemQty
|
|
13688
|
-
}, function () {
|
|
13689
|
-
return '🔶';
|
|
13690
|
-
});
|
|
13692
|
+
var _item$attachedGems2;
|
|
13693
|
+
var item = _ref.item;
|
|
13694
|
+
console.log(item.attachedGems);
|
|
13695
|
+
var itemId = item._id;
|
|
13691
13696
|
return React__default.createElement(ItemQtyContainer, {
|
|
13692
13697
|
key: "qty-" + itemId,
|
|
13693
13698
|
className: "item-slot-qty"
|
|
13694
|
-
},
|
|
13695
|
-
|
|
13696
|
-
|
|
13697
|
-
|
|
13698
|
-
|
|
13699
|
-
}
|
|
13699
|
+
}, (_item$attachedGems2 = item.attachedGems) == null ? void 0 : _item$attachedGems2.map(function (gem, index) {
|
|
13700
|
+
return React__default.createElement(Gem, {
|
|
13701
|
+
key: itemId + "-gem-" + index,
|
|
13702
|
+
color: gemColors[gem.key] || defaultColor
|
|
13703
|
+
});
|
|
13704
|
+
}));
|
|
13700
13705
|
};
|
|
13701
13706
|
var ItemQtyContainer = /*#__PURE__*/styled__default.div.withConfig({
|
|
13702
13707
|
displayName: "ItemGem__ItemQtyContainer",
|
|
13703
13708
|
componentId: "sc-1ekseaq-0"
|
|
13704
|
-
})(["position:relative;width:85%;height:16px;top:
|
|
13705
|
-
var
|
|
13706
|
-
displayName: "
|
|
13709
|
+
})(["position:relative;width:85%;height:16px;top:26px;left:-2px;pointer-events:none;transform:scale(0.8);display:flex;align-items:center;justify-content:center;opacity:0.8;"]);
|
|
13710
|
+
var Gem = /*#__PURE__*/styled__default.div.withConfig({
|
|
13711
|
+
displayName: "ItemGem__Gem",
|
|
13707
13712
|
componentId: "sc-1ekseaq-1"
|
|
13708
|
-
})(["
|
|
13713
|
+
})(["width:8px;height:8px;background-color:", ";border:1px solid black;transform:rotate(45deg);margin:0 2px;box-shadow:0 0 5px ", ";transition:transform 0.2s,box-shadow 0.2s;&:hover{transform:rotate(45deg) scale(1.2);box-shadow:0 0 10px ", ";}"], function (_ref2) {
|
|
13714
|
+
var color = _ref2.color;
|
|
13715
|
+
return color;
|
|
13716
|
+
}, function (_ref3) {
|
|
13717
|
+
var color = _ref3.color;
|
|
13718
|
+
return color;
|
|
13719
|
+
}, function (_ref4) {
|
|
13720
|
+
var color = _ref4.color;
|
|
13721
|
+
return color;
|
|
13722
|
+
});
|
|
13709
13723
|
|
|
13710
13724
|
var onRenderStackInfo = function onRenderStackInfo(itemId, stackQty) {
|
|
13711
13725
|
var isFractionalStackQty = stackQty % 1 !== 0;
|
|
@@ -13732,7 +13746,7 @@ var ItemSlotQty$1 = function ItemSlotQty(_ref) {
|
|
|
13732
13746
|
}, React__default.createElement(Ellipsis, {
|
|
13733
13747
|
maxLines: 1,
|
|
13734
13748
|
maxWidth: "48px"
|
|
13735
|
-
}, React__default.createElement(ItemQty
|
|
13749
|
+
}, React__default.createElement(ItemQty, {
|
|
13736
13750
|
className: qtyClassName
|
|
13737
13751
|
}, Math.round(stackQty * 100) / 100, ' ')));
|
|
13738
13752
|
};
|
|
@@ -13740,7 +13754,7 @@ var ItemQtyContainer$1 = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
13740
13754
|
displayName: "ItemSlotQty__ItemQtyContainer",
|
|
13741
13755
|
componentId: "sc-keb1s5-0"
|
|
13742
13756
|
})(["position:relative;width:85%;height:16px;top:25px;left:2px;pointer-events:none;display:flex;justify-content:flex-end;"]);
|
|
13743
|
-
var ItemQty
|
|
13757
|
+
var ItemQty = /*#__PURE__*/styled__default.span.withConfig({
|
|
13744
13758
|
displayName: "ItemSlotQty__ItemQty",
|
|
13745
13759
|
componentId: "sc-keb1s5-1"
|
|
13746
13760
|
})(["&.regular{font-size:", ";}&.small{font-size:", ";}&.xsmall{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall, uiFonts.size.xxsmall);
|
|
@@ -13755,7 +13769,7 @@ var ItemSlotRenderer = function ItemSlotRenderer(_ref) {
|
|
|
13755
13769
|
return item.stackQty && item.stackQty > 1 && onRenderStackInfo(item._id, item.stackQty);
|
|
13756
13770
|
};
|
|
13757
13771
|
var renderGems = function renderGems(item) {
|
|
13758
|
-
return item.attachedGems && onRenderGems(item
|
|
13772
|
+
return item.attachedGems && onRenderGems(item);
|
|
13759
13773
|
};
|
|
13760
13774
|
var renderItem = function renderItem(item) {
|
|
13761
13775
|
if (!(item != null && item.texturePath)) {
|
|
@@ -19009,6 +19023,74 @@ var SpellList = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
19009
19023
|
componentId: "sc-r02nfq-2"
|
|
19010
19024
|
})(["width:100%;min-height:0;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem;"]);
|
|
19011
19025
|
|
|
19026
|
+
var Stepper = function Stepper(_ref) {
|
|
19027
|
+
var _steps$currentStep;
|
|
19028
|
+
var steps = _ref.steps,
|
|
19029
|
+
finalCTAButton = _ref.finalCTAButton;
|
|
19030
|
+
var _useState = React.useState(0),
|
|
19031
|
+
currentStep = _useState[0],
|
|
19032
|
+
setCurrentStep = _useState[1];
|
|
19033
|
+
var currentComponent = (_steps$currentStep = steps[currentStep]) == null ? void 0 : _steps$currentStep.component;
|
|
19034
|
+
var totalSteps = steps.length;
|
|
19035
|
+
var onStepChange = function onStepChange(step) {
|
|
19036
|
+
setCurrentStep(step);
|
|
19037
|
+
};
|
|
19038
|
+
return React__default.createElement(StepperContainer, {
|
|
19039
|
+
className: "stepper-container"
|
|
19040
|
+
}, React__default.createElement(StepperTop, null, Array.from({
|
|
19041
|
+
length: totalSteps
|
|
19042
|
+
}, function (_, i) {
|
|
19043
|
+
return React__default.createElement(ProgressIndicator, {
|
|
19044
|
+
key: i,
|
|
19045
|
+
isActive: i <= currentStep,
|
|
19046
|
+
onClick: function onClick() {
|
|
19047
|
+
return onStepChange(i);
|
|
19048
|
+
}
|
|
19049
|
+
});
|
|
19050
|
+
})), React__default.createElement(StepperBody, null, currentComponent), React__default.createElement(StepperFooter, null, currentStep > 0 && React__default.createElement(SelectArrow, {
|
|
19051
|
+
direction: "left",
|
|
19052
|
+
onPointerDown: function onPointerDown() {
|
|
19053
|
+
return onStepChange(Math.max(0, currentStep - 1));
|
|
19054
|
+
}
|
|
19055
|
+
}), currentStep < totalSteps - 1 && React__default.createElement(SelectArrow, {
|
|
19056
|
+
direction: "right",
|
|
19057
|
+
onPointerDown: function onPointerDown() {
|
|
19058
|
+
return onStepChange(Math.min(totalSteps - 1, currentStep + 1));
|
|
19059
|
+
}
|
|
19060
|
+
}), currentStep === totalSteps - 1 && finalCTAButton && React__default.createElement(Button, {
|
|
19061
|
+
buttonType: exports.ButtonTypes.RPGUIButton,
|
|
19062
|
+
onPointerDown: function onPointerDown() {
|
|
19063
|
+
return finalCTAButton.onClick;
|
|
19064
|
+
}
|
|
19065
|
+
}, finalCTAButton.label)));
|
|
19066
|
+
};
|
|
19067
|
+
var StepperContainer = /*#__PURE__*/styled__default.div.withConfig({
|
|
19068
|
+
displayName: "Stepper__StepperContainer",
|
|
19069
|
+
componentId: "sc-13obf1-0"
|
|
19070
|
+
})(["display:flex;flex-direction:column;height:100%;"]);
|
|
19071
|
+
var StepperTop = /*#__PURE__*/styled__default.div.withConfig({
|
|
19072
|
+
displayName: "Stepper__StepperTop",
|
|
19073
|
+
componentId: "sc-13obf1-1"
|
|
19074
|
+
})(["flex:1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:1rem;"]);
|
|
19075
|
+
var StepperBody = /*#__PURE__*/styled__default.div.withConfig({
|
|
19076
|
+
displayName: "Stepper__StepperBody",
|
|
19077
|
+
componentId: "sc-13obf1-2"
|
|
19078
|
+
})(["flex:8;"]);
|
|
19079
|
+
var StepperFooter = /*#__PURE__*/styled__default.div.withConfig({
|
|
19080
|
+
displayName: "Stepper__StepperFooter",
|
|
19081
|
+
componentId: "sc-13obf1-3"
|
|
19082
|
+
})(["margin-top:1rem;flex:1;display:flex;justify-content:flex-end;"]);
|
|
19083
|
+
var ProgressIndicator = /*#__PURE__*/styled__default.div.withConfig({
|
|
19084
|
+
displayName: "Stepper__ProgressIndicator",
|
|
19085
|
+
componentId: "sc-13obf1-4"
|
|
19086
|
+
})(["width:20px;height:20px;border-radius:50%;background-color:", ";margin:0 5px;transition:background-color 0.3s;opacity:", ";border:1px solid ", ";cursor:pointer;"], function (_ref2) {
|
|
19087
|
+
var isActive = _ref2.isActive;
|
|
19088
|
+
return isActive ? uiColors.orange : uiColors.lightGray;
|
|
19089
|
+
}, function (_ref3) {
|
|
19090
|
+
var isActive = _ref3.isActive;
|
|
19091
|
+
return isActive ? 1 : 0.25;
|
|
19092
|
+
}, uiColors.raisinBlack);
|
|
19093
|
+
|
|
19012
19094
|
var TextArea = function TextArea(_ref) {
|
|
19013
19095
|
var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
|
|
19014
19096
|
return React__default.createElement("textarea", Object.assign({}, props));
|
|
@@ -19299,7 +19381,7 @@ var TradingMenu = function TradingMenu(_ref) {
|
|
|
19299
19381
|
scale: scale,
|
|
19300
19382
|
isBuy: isBuy()
|
|
19301
19383
|
}));
|
|
19302
|
-
})), 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, {
|
|
19384
|
+
})), React__default.createElement(GoldWrapper, null, React__default.createElement("p", null, "Available Gold:"), React__default.createElement("p", null, "$", characterAvailableGold.toFixed(2))), 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().toFixed(2))), React__default.createElement(ButtonWrapper$2, null, React__default.createElement(Button, {
|
|
19303
19385
|
buttonType: exports.ButtonTypes.RPGUIButton,
|
|
19304
19386
|
disabled: !hasGoldForSale(),
|
|
19305
19387
|
onPointerDown: function onPointerDown() {
|
|
@@ -19495,6 +19577,7 @@ exports.SkillProgressBar = SkillProgressBar;
|
|
|
19495
19577
|
exports.SkillsContainer = SkillsContainer;
|
|
19496
19578
|
exports.Spellbook = Spellbook;
|
|
19497
19579
|
exports.SpriteFromAtlas = SpriteFromAtlas;
|
|
19580
|
+
exports.Stepper = Stepper;
|
|
19498
19581
|
exports.TextArea = TextArea;
|
|
19499
19582
|
exports.TimeWidget = TimeWidget;
|
|
19500
19583
|
exports.TradingMenu = TradingMenu;
|