@rpg-engine/long-bow 0.2.85 → 0.2.87
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/Abstractions/SlotsContainer.d.ts +1 -0
- package/dist/components/DraggableContainer.d.ts +1 -0
- package/dist/components/Equipment/EquipmentSet.d.ts +4 -0
- package/dist/components/Input.d.ts +1 -0
- package/dist/components/Item/Inventory/ItemContainer.d.ts +8 -0
- package/dist/components/Item/Inventory/ItemQuantitySelector.d.ts +7 -0
- package/dist/components/Item/Inventory/ItemSlot.d.ts +5 -0
- package/dist/components/RangeSlider.d.ts +1 -0
- package/dist/long-bow.cjs.development.js +361 -75
- 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 +362 -76
- package/dist/long-bow.esm.js.map +1 -1
- package/dist/stories/ItemQuantitySelector.stories.d.ts +5 -0
- package/package.json +1 -1
- package/src/components/Abstractions/SlotsContainer.tsx +3 -0
- package/src/components/DraggableContainer.tsx +3 -0
- package/src/components/Equipment/EquipmentSet.tsx +30 -0
- package/src/components/Input.tsx +6 -2
- package/src/components/Item/Inventory/ItemContainer.tsx +92 -6
- package/src/components/Item/Inventory/ItemQuantitySelector.tsx +137 -0
- package/src/components/Item/Inventory/ItemSlot.tsx +144 -25
- package/src/components/RangeSlider.tsx +37 -14
- package/src/mocks/itemContainer.mocks.ts +1 -1
- package/src/stories/EquipmentSet.stories.tsx +4 -0
- package/src/stories/ItemContainer.stories.tsx +82 -15
- package/src/stories/ItemQuantitySelector.stories.tsx +26 -0
- package/src/stories/RangeSlider.stories.tsx +10 -9
- package/src/.DS_Store +0 -0
- package/src/components/NPCDialog/.DS_Store +0 -0
- package/src/components/NPCDialog/img/.DS_Store +0 -0
- package/src/mocks/.DS_Store +0 -0
- package/src/mocks/atlas/.DS_Store +0 -0
package/dist/long-bow.esm.js
CHANGED
|
@@ -32718,9 +32718,13 @@ var uiColors = {
|
|
|
32718
32718
|
brownGreen: '#346524'
|
|
32719
32719
|
};
|
|
32720
32720
|
|
|
32721
|
+
var _excluded$2 = ["innerRef"];
|
|
32721
32722
|
var Input = function Input(_ref) {
|
|
32722
32723
|
var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
|
|
32723
|
-
|
|
32724
|
+
var rest = _objectWithoutPropertiesLoose(props, _excluded$2);
|
|
32725
|
+
return React.createElement("input", Object.assign({}, rest, {
|
|
32726
|
+
ref: props.innerRef
|
|
32727
|
+
}));
|
|
32724
32728
|
};
|
|
32725
32729
|
|
|
32726
32730
|
var RPGUIContainerTypes;
|
|
@@ -32960,7 +32964,12 @@ var DraggableContainer = function DraggableContainer(_ref) {
|
|
|
32960
32964
|
imgWidth = _ref$imgWidth === void 0 ? '20px' : _ref$imgWidth,
|
|
32961
32965
|
cancelDrag = _ref.cancelDrag,
|
|
32962
32966
|
onPositionChange = _ref.onPositionChange,
|
|
32963
|
-
onOutsideClick = _ref.onOutsideClick
|
|
32967
|
+
onOutsideClick = _ref.onOutsideClick,
|
|
32968
|
+
_ref$initialPosition = _ref.initialPosition,
|
|
32969
|
+
initialPosition = _ref$initialPosition === void 0 ? {
|
|
32970
|
+
x: 0,
|
|
32971
|
+
y: 0
|
|
32972
|
+
} : _ref$initialPosition;
|
|
32964
32973
|
var draggableRef = useRef(null);
|
|
32965
32974
|
useOutsideClick(draggableRef, 'item-container');
|
|
32966
32975
|
useEffect(function () {
|
|
@@ -32985,7 +32994,8 @@ var DraggableContainer = function DraggableContainer(_ref) {
|
|
|
32985
32994
|
y: data.y
|
|
32986
32995
|
});
|
|
32987
32996
|
}
|
|
32988
|
-
}
|
|
32997
|
+
},
|
|
32998
|
+
defaultPosition: initialPosition
|
|
32989
32999
|
}, React.createElement(Container$6, {
|
|
32990
33000
|
ref: draggableRef,
|
|
32991
33001
|
width: width,
|
|
@@ -33458,22 +33468,44 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
|
|
|
33458
33468
|
slotSpriteMask = _ref.slotSpriteMask,
|
|
33459
33469
|
_onMouseOver = _ref.onMouseOver,
|
|
33460
33470
|
_onMouseOut = _ref.onMouseOut,
|
|
33461
|
-
|
|
33471
|
+
onClick = _ref.onClick,
|
|
33462
33472
|
_onSelected = _ref.onSelected,
|
|
33463
33473
|
atlasJSON = _ref.atlasJSON,
|
|
33464
33474
|
atlasIMG = _ref.atlasIMG,
|
|
33465
33475
|
_ref$isContextMenuDis = _ref.isContextMenuDisabled,
|
|
33466
|
-
isContextMenuDisabled = _ref$isContextMenuDis === void 0 ? false : _ref$isContextMenuDis
|
|
33476
|
+
isContextMenuDisabled = _ref$isContextMenuDis === void 0 ? false : _ref$isContextMenuDis,
|
|
33477
|
+
onDragEnd = _ref.onDragEnd,
|
|
33478
|
+
onDragStart = _ref.onDragStart,
|
|
33479
|
+
onPlaceDrop = _ref.onPlaceDrop,
|
|
33480
|
+
checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
|
|
33481
|
+
openQuantitySelector = _ref.openQuantitySelector;
|
|
33467
33482
|
var _useState = useState(false),
|
|
33468
33483
|
isTooltipVisible = _useState[0],
|
|
33469
33484
|
setTooltipVisible = _useState[1];
|
|
33470
33485
|
var _useState2 = useState(false),
|
|
33471
33486
|
isContextMenuVisible = _useState2[0],
|
|
33472
33487
|
setIsContextMenuVisible = _useState2[1];
|
|
33473
|
-
var _useState3 = useState(
|
|
33474
|
-
|
|
33475
|
-
|
|
33488
|
+
var _useState3 = useState(false),
|
|
33489
|
+
isFocused = _useState3[0],
|
|
33490
|
+
setIsFocused = _useState3[1];
|
|
33491
|
+
var _useState4 = useState(false),
|
|
33492
|
+
wasDragged = _useState4[0],
|
|
33493
|
+
setWasDragged = _useState4[1];
|
|
33494
|
+
var _useState5 = useState({
|
|
33495
|
+
x: 0,
|
|
33496
|
+
y: 0
|
|
33497
|
+
}),
|
|
33498
|
+
dragPosition = _useState5[0],
|
|
33499
|
+
setDragPosition = _useState5[1];
|
|
33500
|
+
var dragContainer = useRef(null);
|
|
33501
|
+
var _useState6 = useState([]),
|
|
33502
|
+
contextActions = _useState6[0],
|
|
33503
|
+
setContextActions = _useState6[1];
|
|
33476
33504
|
useEffect(function () {
|
|
33505
|
+
setDragPosition({
|
|
33506
|
+
x: 0,
|
|
33507
|
+
y: 0
|
|
33508
|
+
});
|
|
33477
33509
|
if (item) {
|
|
33478
33510
|
setContextActions(generateContextMenu(item, containerType));
|
|
33479
33511
|
}
|
|
@@ -33565,30 +33597,95 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
|
|
|
33565
33597
|
return renderItem(itemToRender);
|
|
33566
33598
|
}
|
|
33567
33599
|
};
|
|
33600
|
+
var resetItem = function resetItem() {
|
|
33601
|
+
setTooltipVisible(false);
|
|
33602
|
+
setIsFocused(false);
|
|
33603
|
+
setWasDragged(false);
|
|
33604
|
+
};
|
|
33605
|
+
var onSuccesfulDrag = function onSuccesfulDrag(quantity) {
|
|
33606
|
+
resetItem();
|
|
33607
|
+
if (quantity === -1) setDragPosition({
|
|
33608
|
+
x: 0,
|
|
33609
|
+
y: 0
|
|
33610
|
+
});else if (item) {
|
|
33611
|
+
onDragEnd(quantity);
|
|
33612
|
+
resetItem();
|
|
33613
|
+
}
|
|
33614
|
+
};
|
|
33568
33615
|
return React.createElement(Container$a, {
|
|
33569
33616
|
className: "rpgui-icon empty-slot",
|
|
33617
|
+
onMouseUp: function onMouseUp() {
|
|
33618
|
+
var data = item ? item : null;
|
|
33619
|
+
if (onPlaceDrop) onPlaceDrop(data, slotIndex, containerType);
|
|
33620
|
+
},
|
|
33621
|
+
onTouchEnd: function onTouchEnd(e) {
|
|
33622
|
+
var _document$elementFrom;
|
|
33623
|
+
var _e$changedTouches$ = e.changedTouches[0],
|
|
33624
|
+
clientX = _e$changedTouches$.clientX,
|
|
33625
|
+
clientY = _e$changedTouches$.clientY;
|
|
33626
|
+
var simulatedEvent = new MouseEvent('mouseup', {
|
|
33627
|
+
clientX: clientX,
|
|
33628
|
+
clientY: clientY,
|
|
33629
|
+
bubbles: true
|
|
33630
|
+
});
|
|
33631
|
+
(_document$elementFrom = document.elementFromPoint(clientX, clientY)) == null ? void 0 : _document$elementFrom.dispatchEvent(simulatedEvent);
|
|
33632
|
+
}
|
|
33633
|
+
}, item && React.createElement(Draggable, {
|
|
33634
|
+
onStop: function onStop() {
|
|
33635
|
+
if (wasDragged) {
|
|
33636
|
+
setWasDragged(false);
|
|
33637
|
+
var target = dragContainer.current;
|
|
33638
|
+
if (!target || !wasDragged) return;
|
|
33639
|
+
var style = window.getComputedStyle(target);
|
|
33640
|
+
var matrix = new DOMMatrixReadOnly(style.transform);
|
|
33641
|
+
var x = matrix.m41;
|
|
33642
|
+
var y = matrix.m42;
|
|
33643
|
+
setDragPosition({
|
|
33644
|
+
x: x,
|
|
33645
|
+
y: y
|
|
33646
|
+
});
|
|
33647
|
+
setTimeout(function () {
|
|
33648
|
+
if (checkIfItemCanBeMoved()) {
|
|
33649
|
+
if (item.stackQty && item.stackQty !== 1 && openQuantitySelector) openQuantitySelector(item.stackQty, onSuccesfulDrag);else onSuccesfulDrag(item.stackQty);
|
|
33650
|
+
} else {
|
|
33651
|
+
resetItem();
|
|
33652
|
+
setDragPosition({
|
|
33653
|
+
x: 0,
|
|
33654
|
+
y: 0
|
|
33655
|
+
});
|
|
33656
|
+
}
|
|
33657
|
+
}, 100);
|
|
33658
|
+
} else if (item) {
|
|
33659
|
+
if (!isContextMenuDisabled) setIsContextMenuVisible(!isContextMenuVisible);
|
|
33660
|
+
onClick(item.type, containerType, item);
|
|
33661
|
+
}
|
|
33662
|
+
},
|
|
33663
|
+
onStart: function onStart() {
|
|
33664
|
+
if (onDragStart) onDragStart(item, slotIndex, containerType);
|
|
33665
|
+
},
|
|
33666
|
+
onDrag: function onDrag() {
|
|
33667
|
+
setWasDragged(true);
|
|
33668
|
+
setIsFocused(true);
|
|
33669
|
+
},
|
|
33670
|
+
position: dragPosition
|
|
33671
|
+
}, React.createElement(ItemContainer, {
|
|
33672
|
+
ref: dragContainer,
|
|
33673
|
+
isFocused: isFocused,
|
|
33570
33674
|
onMouseOver: function onMouseOver(event) {
|
|
33571
|
-
|
|
33675
|
+
_onMouseOver(event, slotIndex, item, event.clientX, event.clientY);
|
|
33572
33676
|
},
|
|
33573
33677
|
onMouseOut: function onMouseOut() {
|
|
33574
33678
|
if (_onMouseOut) _onMouseOut();
|
|
33575
33679
|
},
|
|
33576
33680
|
onMouseEnter: function onMouseEnter() {
|
|
33577
|
-
|
|
33681
|
+
setTooltipVisible(true);
|
|
33578
33682
|
},
|
|
33579
33683
|
onMouseLeave: function onMouseLeave() {
|
|
33580
|
-
return setTooltipVisible(false);
|
|
33581
|
-
},
|
|
33582
|
-
onClick: function onClick() {
|
|
33583
33684
|
setTooltipVisible(false);
|
|
33584
|
-
if (item) {
|
|
33585
|
-
if (!isContextMenuDisabled) {
|
|
33586
|
-
setIsContextMenuVisible(!isContextMenuVisible);
|
|
33587
|
-
}
|
|
33588
|
-
_onClick(item.type, containerType, item);
|
|
33589
|
-
}
|
|
33590
33685
|
}
|
|
33591
|
-
},
|
|
33686
|
+
}, onRenderSlot(item))), isTooltipVisible && item && React.createElement(ItemTooltip, {
|
|
33687
|
+
label: item.name
|
|
33688
|
+
}), !isContextMenuDisabled && isContextMenuVisible && contextActions && React.createElement(RelativeListMenu, {
|
|
33592
33689
|
options: contextActions,
|
|
33593
33690
|
onSelected: function onSelected(optionId) {
|
|
33594
33691
|
setIsContextMenuVisible(false);
|
|
@@ -33599,21 +33696,25 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
|
|
|
33599
33696
|
onOutsideClick: function onOutsideClick() {
|
|
33600
33697
|
setIsContextMenuVisible(false);
|
|
33601
33698
|
}
|
|
33602
|
-
})
|
|
33603
|
-
label: item.name
|
|
33604
|
-
}), onRenderSlot(item));
|
|
33699
|
+
}));
|
|
33605
33700
|
});
|
|
33606
33701
|
var Container$a = /*#__PURE__*/styled.div.withConfig({
|
|
33607
33702
|
displayName: "ItemSlot__Container",
|
|
33608
33703
|
componentId: "sc-l2j5ef-0"
|
|
33609
33704
|
})(["margin:0.1rem;.sprite-from-atlas-img{position:relative;top:1.5rem;left:1.5rem;}position:relative;"]);
|
|
33705
|
+
var ItemContainer = /*#__PURE__*/styled.div.withConfig({
|
|
33706
|
+
displayName: "ItemSlot__ItemContainer",
|
|
33707
|
+
componentId: "sc-l2j5ef-1"
|
|
33708
|
+
})(["width:100%;height:100%;position:relative;", ""], function (props) {
|
|
33709
|
+
return props.isFocused && 'z-index: 100; pointer-events: none;';
|
|
33710
|
+
});
|
|
33610
33711
|
var ItemQtyContainer = /*#__PURE__*/styled.div.withConfig({
|
|
33611
33712
|
displayName: "ItemSlot__ItemQtyContainer",
|
|
33612
|
-
componentId: "sc-l2j5ef-
|
|
33613
|
-
})(["position:relative;width:85%;height:16px;top:25px;left:2px;display:flex;justify-content:flex-end;"]);
|
|
33713
|
+
componentId: "sc-l2j5ef-2"
|
|
33714
|
+
})(["position:relative;width:85%;height:16px;top:25px;left:2px;pointer-events:none;display:flex;justify-content:flex-end;"]);
|
|
33614
33715
|
var ItemQty = /*#__PURE__*/styled.span.withConfig({
|
|
33615
33716
|
displayName: "ItemSlot__ItemQty",
|
|
33616
|
-
componentId: "sc-l2j5ef-
|
|
33717
|
+
componentId: "sc-l2j5ef-3"
|
|
33617
33718
|
})(["&.regular{font-size:", ";}&.small{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall);
|
|
33618
33719
|
|
|
33619
33720
|
var EquipmentSet = function EquipmentSet(_ref) {
|
|
@@ -33623,7 +33724,11 @@ var EquipmentSet = function EquipmentSet(_ref) {
|
|
|
33623
33724
|
_onSelected = _ref.onSelected,
|
|
33624
33725
|
onItemClick = _ref.onItemClick,
|
|
33625
33726
|
atlasIMG = _ref.atlasIMG,
|
|
33626
|
-
atlasJSON = _ref.atlasJSON
|
|
33727
|
+
atlasJSON = _ref.atlasJSON,
|
|
33728
|
+
onItemDragEnd = _ref.onItemDragEnd,
|
|
33729
|
+
onItemDragStart = _ref.onItemDragStart,
|
|
33730
|
+
onItemPlaceDrop = _ref.onItemPlaceDrop,
|
|
33731
|
+
checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved;
|
|
33627
33732
|
var neck = equipmentSet.neck,
|
|
33628
33733
|
leftHand = equipmentSet.leftHand,
|
|
33629
33734
|
ring = equipmentSet.ring,
|
|
@@ -33659,6 +33764,16 @@ var EquipmentSet = function EquipmentSet(_ref) {
|
|
|
33659
33764
|
onSelected: function onSelected(optionId) {
|
|
33660
33765
|
if (_onSelected) _onSelected(optionId);
|
|
33661
33766
|
},
|
|
33767
|
+
onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
|
|
33768
|
+
if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
|
|
33769
|
+
},
|
|
33770
|
+
onDragEnd: function onDragEnd(quantity) {
|
|
33771
|
+
if (onItemDragEnd) onItemDragEnd(quantity);
|
|
33772
|
+
},
|
|
33773
|
+
checkIfItemCanBeMoved: checkIfItemCanBeMoved,
|
|
33774
|
+
onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
|
|
33775
|
+
if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
|
|
33776
|
+
},
|
|
33662
33777
|
atlasIMG: atlasIMG,
|
|
33663
33778
|
atlasJSON: atlasJSON
|
|
33664
33779
|
});
|
|
@@ -33679,11 +33794,11 @@ var EquipmentSet = function EquipmentSet(_ref) {
|
|
|
33679
33794
|
var EquipmentSetContainer = /*#__PURE__*/styled.div.withConfig({
|
|
33680
33795
|
displayName: "EquipmentSet__EquipmentSetContainer",
|
|
33681
33796
|
componentId: "sc-1wuddg2-0"
|
|
33682
|
-
})(["width:inherit;display:flex;justify-content:center;flex-wrap:wrap;flex-direction:row;"]);
|
|
33797
|
+
})(["width:inherit;display:flex;justify-content:center;flex-wrap:wrap;flex-direction:row;touch-action:none;"]);
|
|
33683
33798
|
var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
|
|
33684
33799
|
displayName: "EquipmentSet__EquipmentColumn",
|
|
33685
33800
|
componentId: "sc-1wuddg2-1"
|
|
33686
|
-
})(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;"]);
|
|
33801
|
+
})(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
|
|
33687
33802
|
|
|
33688
33803
|
var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobile({
|
|
33689
33804
|
tablet: true
|
|
@@ -34232,7 +34347,8 @@ var SlotsContainer = function SlotsContainer(_ref) {
|
|
|
34232
34347
|
title = _ref.title,
|
|
34233
34348
|
onClose = _ref.onClose,
|
|
34234
34349
|
_onPositionChange = _ref.onPositionChange,
|
|
34235
|
-
onOutsideClick = _ref.onOutsideClick
|
|
34350
|
+
onOutsideClick = _ref.onOutsideClick,
|
|
34351
|
+
initialPosition = _ref.initialPosition;
|
|
34236
34352
|
return React.createElement(DraggableContainer, {
|
|
34237
34353
|
title: title,
|
|
34238
34354
|
type: RPGUIContainerTypes.Framed,
|
|
@@ -34253,11 +34369,164 @@ var SlotsContainer = function SlotsContainer(_ref) {
|
|
|
34253
34369
|
});
|
|
34254
34370
|
}
|
|
34255
34371
|
},
|
|
34256
|
-
onOutsideClick: onOutsideClick
|
|
34372
|
+
onOutsideClick: onOutsideClick,
|
|
34373
|
+
initialPosition: initialPosition
|
|
34257
34374
|
}, children);
|
|
34258
34375
|
};
|
|
34259
34376
|
|
|
34260
|
-
var
|
|
34377
|
+
var RangeSliderType;
|
|
34378
|
+
(function (RangeSliderType) {
|
|
34379
|
+
RangeSliderType["Slider"] = "rpgui-slider";
|
|
34380
|
+
RangeSliderType["GoldSlider"] = "rpgui-slider golden";
|
|
34381
|
+
})(RangeSliderType || (RangeSliderType = {}));
|
|
34382
|
+
var RangeSlider = function RangeSlider(_ref) {
|
|
34383
|
+
var type = _ref.type,
|
|
34384
|
+
valueMin = _ref.valueMin,
|
|
34385
|
+
valueMax = _ref.valueMax,
|
|
34386
|
+
width = _ref.width,
|
|
34387
|
+
_onChange = _ref.onChange,
|
|
34388
|
+
value = _ref.value;
|
|
34389
|
+
var sliderId = v4();
|
|
34390
|
+
var containerRef = useRef(null);
|
|
34391
|
+
var _useState = useState(0),
|
|
34392
|
+
left = _useState[0],
|
|
34393
|
+
setLeft = _useState[1];
|
|
34394
|
+
useEffect(function () {
|
|
34395
|
+
var _containerRef$current;
|
|
34396
|
+
var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
|
|
34397
|
+
setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
|
|
34398
|
+
}, [value, valueMin, valueMax]);
|
|
34399
|
+
var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
|
|
34400
|
+
return React.createElement("div", {
|
|
34401
|
+
style: {
|
|
34402
|
+
width: width,
|
|
34403
|
+
position: 'relative'
|
|
34404
|
+
},
|
|
34405
|
+
className: "rpgui-slider-container " + typeClass,
|
|
34406
|
+
id: "rpgui-slider-" + sliderId,
|
|
34407
|
+
ref: containerRef
|
|
34408
|
+
}, React.createElement("div", {
|
|
34409
|
+
style: {
|
|
34410
|
+
pointerEvents: 'none'
|
|
34411
|
+
}
|
|
34412
|
+
}, React.createElement("div", {
|
|
34413
|
+
className: "rpgui-slider-track " + typeClass
|
|
34414
|
+
}), React.createElement("div", {
|
|
34415
|
+
className: "rpgui-slider-left-edge " + typeClass
|
|
34416
|
+
}), React.createElement("div", {
|
|
34417
|
+
className: "rpgui-slider-right-edge " + typeClass
|
|
34418
|
+
}), React.createElement("div", {
|
|
34419
|
+
className: "rpgui-slider-thumb " + typeClass,
|
|
34420
|
+
style: {
|
|
34421
|
+
left: left
|
|
34422
|
+
}
|
|
34423
|
+
})), React.createElement(Input$1, {
|
|
34424
|
+
type: "range",
|
|
34425
|
+
style: {
|
|
34426
|
+
width: width
|
|
34427
|
+
},
|
|
34428
|
+
min: valueMin,
|
|
34429
|
+
max: valueMax,
|
|
34430
|
+
onChange: function onChange(e) {
|
|
34431
|
+
return _onChange(Number(e.target.value));
|
|
34432
|
+
},
|
|
34433
|
+
value: value,
|
|
34434
|
+
className: "rpgui-cursor-point"
|
|
34435
|
+
}));
|
|
34436
|
+
};
|
|
34437
|
+
var Input$1 = /*#__PURE__*/styled.input.withConfig({
|
|
34438
|
+
displayName: "RangeSlider__Input",
|
|
34439
|
+
componentId: "sc-v8mte9-0"
|
|
34440
|
+
})(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
|
|
34441
|
+
|
|
34442
|
+
var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
|
|
34443
|
+
var quantity = _ref.quantity,
|
|
34444
|
+
onConfirm = _ref.onConfirm,
|
|
34445
|
+
onClose = _ref.onClose;
|
|
34446
|
+
var _useState = useState(quantity),
|
|
34447
|
+
value = _useState[0],
|
|
34448
|
+
setValue = _useState[1];
|
|
34449
|
+
var inputRef = useRef(null);
|
|
34450
|
+
useEffect(function () {
|
|
34451
|
+
if (inputRef.current) {
|
|
34452
|
+
inputRef.current.focus();
|
|
34453
|
+
inputRef.current.select();
|
|
34454
|
+
var closeSelector = function closeSelector(e) {
|
|
34455
|
+
if (e.key === 'Escape') {
|
|
34456
|
+
onClose();
|
|
34457
|
+
}
|
|
34458
|
+
};
|
|
34459
|
+
document.addEventListener('keydown', closeSelector);
|
|
34460
|
+
return function () {
|
|
34461
|
+
document.removeEventListener('keydown', closeSelector);
|
|
34462
|
+
};
|
|
34463
|
+
}
|
|
34464
|
+
return function () {};
|
|
34465
|
+
}, []);
|
|
34466
|
+
return React.createElement(StyledContainer, {
|
|
34467
|
+
type: RPGUIContainerTypes.Framed,
|
|
34468
|
+
width: "25rem"
|
|
34469
|
+
}, React.createElement(CloseButton$2, {
|
|
34470
|
+
className: "container-close",
|
|
34471
|
+
onClick: onClose,
|
|
34472
|
+
onTouchStart: onClose
|
|
34473
|
+
}, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
|
|
34474
|
+
style: {
|
|
34475
|
+
width: '100%'
|
|
34476
|
+
},
|
|
34477
|
+
onSubmit: function onSubmit(e) {
|
|
34478
|
+
e.preventDefault();
|
|
34479
|
+
var numberValue = Number(value);
|
|
34480
|
+
if (Number.isNaN(numberValue)) {
|
|
34481
|
+
return;
|
|
34482
|
+
}
|
|
34483
|
+
onConfirm(Math.max(1, Math.min(quantity, numberValue)));
|
|
34484
|
+
},
|
|
34485
|
+
noValidate: true
|
|
34486
|
+
}, React.createElement(StyledInput, {
|
|
34487
|
+
innerRef: inputRef,
|
|
34488
|
+
placeholder: "Enter quantity",
|
|
34489
|
+
type: "number",
|
|
34490
|
+
min: 1,
|
|
34491
|
+
max: quantity,
|
|
34492
|
+
value: value,
|
|
34493
|
+
onChange: function onChange(e) {
|
|
34494
|
+
setValue(e.target.value);
|
|
34495
|
+
},
|
|
34496
|
+
onBlur: function onBlur(e) {
|
|
34497
|
+
var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
|
|
34498
|
+
setValue(newValue);
|
|
34499
|
+
}
|
|
34500
|
+
}), React.createElement(RangeSlider, {
|
|
34501
|
+
type: RangeSliderType.Slider,
|
|
34502
|
+
valueMin: 1,
|
|
34503
|
+
valueMax: quantity,
|
|
34504
|
+
width: "100%",
|
|
34505
|
+
onChange: setValue,
|
|
34506
|
+
value: value
|
|
34507
|
+
}), React.createElement(Button, {
|
|
34508
|
+
buttonType: ButtonTypes.RPGUIButton,
|
|
34509
|
+
type: "submit"
|
|
34510
|
+
}, "Confirm")));
|
|
34511
|
+
};
|
|
34512
|
+
var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
|
|
34513
|
+
displayName: "ItemQuantitySelector__StyledContainer",
|
|
34514
|
+
componentId: "sc-yfdtpn-0"
|
|
34515
|
+
})(["display:flex;flex-direction:column;align-items:center;"]);
|
|
34516
|
+
var StyledForm = /*#__PURE__*/styled.form.withConfig({
|
|
34517
|
+
displayName: "ItemQuantitySelector__StyledForm",
|
|
34518
|
+
componentId: "sc-yfdtpn-1"
|
|
34519
|
+
})(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
|
|
34520
|
+
var StyledInput = /*#__PURE__*/styled(Input).withConfig({
|
|
34521
|
+
displayName: "ItemQuantitySelector__StyledInput",
|
|
34522
|
+
componentId: "sc-yfdtpn-2"
|
|
34523
|
+
})(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
|
|
34524
|
+
var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
|
|
34525
|
+
displayName: "ItemQuantitySelector__CloseButton",
|
|
34526
|
+
componentId: "sc-yfdtpn-3"
|
|
34527
|
+
})(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
|
|
34528
|
+
|
|
34529
|
+
var ItemContainer$1 = function ItemContainer(_ref) {
|
|
34261
34530
|
var itemContainer = _ref.itemContainer,
|
|
34262
34531
|
onClose = _ref.onClose,
|
|
34263
34532
|
_onMouseOver = _ref.onMouseOver,
|
|
@@ -34267,7 +34536,19 @@ var ItemContainer = function ItemContainer(_ref) {
|
|
|
34267
34536
|
atlasJSON = _ref.atlasJSON,
|
|
34268
34537
|
atlasIMG = _ref.atlasIMG,
|
|
34269
34538
|
_ref$disableContextMe = _ref.disableContextMenu,
|
|
34270
|
-
disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe
|
|
34539
|
+
disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
|
|
34540
|
+
onItemDragEnd = _ref.onItemDragEnd,
|
|
34541
|
+
onItemDragStart = _ref.onItemDragStart,
|
|
34542
|
+
onItemPlaceDrop = _ref.onItemPlaceDrop,
|
|
34543
|
+
checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
|
|
34544
|
+
initialPosition = _ref.initialPosition;
|
|
34545
|
+
var _useState = useState({
|
|
34546
|
+
isOpen: false,
|
|
34547
|
+
maxQuantity: 1,
|
|
34548
|
+
callback: function callback(_quantity) {}
|
|
34549
|
+
}),
|
|
34550
|
+
quantitySelect = _useState[0],
|
|
34551
|
+
setQuantitySelect = _useState[1];
|
|
34271
34552
|
var onRenderSlots = function onRenderSlots() {
|
|
34272
34553
|
var slots = [];
|
|
34273
34554
|
for (var i = 0; i < itemContainer.slotQty; i++) {
|
|
@@ -34287,23 +34568,63 @@ var ItemContainer = function ItemContainer(_ref) {
|
|
|
34287
34568
|
onSelected: function onSelected(optionId, item) {
|
|
34288
34569
|
if (_onSelected) _onSelected(optionId, item);
|
|
34289
34570
|
},
|
|
34571
|
+
onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
|
|
34572
|
+
if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
|
|
34573
|
+
},
|
|
34574
|
+
onDragEnd: function onDragEnd(quantity) {
|
|
34575
|
+
if (onItemDragEnd) onItemDragEnd(quantity);
|
|
34576
|
+
},
|
|
34577
|
+
checkIfItemCanBeMoved: checkIfItemCanBeMoved,
|
|
34578
|
+
openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
|
|
34579
|
+
setQuantitySelect({
|
|
34580
|
+
isOpen: true,
|
|
34581
|
+
maxQuantity: maxQuantity,
|
|
34582
|
+
callback: callback
|
|
34583
|
+
});
|
|
34584
|
+
},
|
|
34585
|
+
onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
|
|
34586
|
+
if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
|
|
34587
|
+
},
|
|
34290
34588
|
atlasIMG: atlasIMG,
|
|
34291
34589
|
atlasJSON: atlasJSON
|
|
34292
34590
|
}));
|
|
34293
34591
|
}
|
|
34294
34592
|
return slots;
|
|
34295
34593
|
};
|
|
34296
|
-
return React.createElement(SlotsContainer, {
|
|
34594
|
+
return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
|
|
34297
34595
|
title: itemContainer.name || 'Container',
|
|
34298
|
-
onClose: onClose
|
|
34596
|
+
onClose: onClose,
|
|
34597
|
+
initialPosition: initialPosition
|
|
34299
34598
|
}, React.createElement(ItemsContainer, {
|
|
34300
34599
|
className: "item-container-body"
|
|
34301
|
-
}, onRenderSlots()))
|
|
34600
|
+
}, onRenderSlots())), quantitySelect.isOpen && React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
|
|
34601
|
+
quantity: quantitySelect.maxQuantity,
|
|
34602
|
+
onConfirm: function onConfirm(quantity) {
|
|
34603
|
+
quantitySelect.callback(quantity);
|
|
34604
|
+
setQuantitySelect({
|
|
34605
|
+
isOpen: false,
|
|
34606
|
+
maxQuantity: 1,
|
|
34607
|
+
callback: function callback() {}
|
|
34608
|
+
});
|
|
34609
|
+
},
|
|
34610
|
+
onClose: function onClose() {
|
|
34611
|
+
quantitySelect.callback(-1);
|
|
34612
|
+
setQuantitySelect({
|
|
34613
|
+
isOpen: false,
|
|
34614
|
+
maxQuantity: 1,
|
|
34615
|
+
callback: function callback() {}
|
|
34616
|
+
});
|
|
34617
|
+
}
|
|
34618
|
+
})));
|
|
34302
34619
|
};
|
|
34303
34620
|
var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
|
|
34304
34621
|
displayName: "ItemContainer__ItemsContainer",
|
|
34305
34622
|
componentId: "sc-15y5p9l-0"
|
|
34306
34623
|
})(["max-width:280px;display:flex;justify-content:center;flex-wrap:wrap;"]);
|
|
34624
|
+
var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
|
|
34625
|
+
displayName: "ItemContainer__QuantitySelectorContainer",
|
|
34626
|
+
componentId: "sc-15y5p9l-1"
|
|
34627
|
+
})(["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);"]);
|
|
34307
34628
|
|
|
34308
34629
|
var ListMenu = function ListMenu(_ref) {
|
|
34309
34630
|
var options = _ref.options,
|
|
@@ -34603,41 +34924,6 @@ var InputRadio = function InputRadio(_ref) {
|
|
|
34603
34924
|
}));
|
|
34604
34925
|
};
|
|
34605
34926
|
|
|
34606
|
-
var RangeSliderType;
|
|
34607
|
-
(function (RangeSliderType) {
|
|
34608
|
-
RangeSliderType["Slider"] = "rpgui-slider";
|
|
34609
|
-
RangeSliderType["GoldSlider"] = "rpgui-slider golden";
|
|
34610
|
-
})(RangeSliderType || (RangeSliderType = {}));
|
|
34611
|
-
var RangeSlider = function RangeSlider(_ref) {
|
|
34612
|
-
var type = _ref.type,
|
|
34613
|
-
valueMin = _ref.valueMin,
|
|
34614
|
-
valueMax = _ref.valueMax,
|
|
34615
|
-
width = _ref.width,
|
|
34616
|
-
onChange = _ref.onChange;
|
|
34617
|
-
var sliderId = v4();
|
|
34618
|
-
var onHandleMouseUp = function onHandleMouseUp() {
|
|
34619
|
-
var rpguiSlider = document.getElementById("rpgui-slider-" + sliderId);
|
|
34620
|
-
var value = _RPGUI.get_value(rpguiSlider);
|
|
34621
|
-
onChange(Number(value));
|
|
34622
|
-
};
|
|
34623
|
-
return React.createElement("div", {
|
|
34624
|
-
onMouseUp: onHandleMouseUp
|
|
34625
|
-
}, React.createElement(Input$1, {
|
|
34626
|
-
className: type === RangeSliderType.Slider ? RangeSliderType.Slider : RangeSliderType.GoldSlider,
|
|
34627
|
-
type: "range",
|
|
34628
|
-
style: {
|
|
34629
|
-
width: width
|
|
34630
|
-
},
|
|
34631
|
-
min: valueMin,
|
|
34632
|
-
max: valueMax,
|
|
34633
|
-
id: "rpgui-slider-" + sliderId
|
|
34634
|
-
}));
|
|
34635
|
-
};
|
|
34636
|
-
var Input$1 = /*#__PURE__*/styled.input.withConfig({
|
|
34637
|
-
displayName: "RangeSlider__Input",
|
|
34638
|
-
componentId: "sc-v8mte9-0"
|
|
34639
|
-
})(["opacity:0;"]);
|
|
34640
|
-
|
|
34641
34927
|
var SimpleProgressBar = function SimpleProgressBar(_ref) {
|
|
34642
34928
|
var value = _ref.value,
|
|
34643
34929
|
_ref$bgColor = _ref.bgColor,
|
|
@@ -34807,7 +35093,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
|
|
|
34807
35093
|
};
|
|
34808
35094
|
return React.createElement(SkillsDraggableContainer, {
|
|
34809
35095
|
title: "Skills"
|
|
34810
|
-
}, onCloseButton && React.createElement(CloseButton$
|
|
35096
|
+
}, onCloseButton && React.createElement(CloseButton$3, {
|
|
34811
35097
|
onClick: onCloseButton,
|
|
34812
35098
|
onTouchStart: onCloseButton
|
|
34813
35099
|
}, "X"), React.createElement(SkillSplitDiv, null, React.createElement("p", null, "General"), React.createElement("hr", {
|
|
@@ -34837,7 +35123,7 @@ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
|
|
|
34837
35123
|
displayName: "SkillsContainer__SkillSplitDiv",
|
|
34838
35124
|
componentId: "sc-1g0c67q-1"
|
|
34839
35125
|
})(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
|
|
34840
|
-
var CloseButton$
|
|
35126
|
+
var CloseButton$3 = /*#__PURE__*/styled.div.withConfig({
|
|
34841
35127
|
displayName: "SkillsContainer__CloseButton",
|
|
34842
35128
|
componentId: "sc-1g0c67q-2"
|
|
34843
35129
|
})(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:0.7rem;"]);
|
|
@@ -34872,7 +35158,7 @@ var TimeWidget = function TimeWidget(_ref) {
|
|
|
34872
35158
|
var onClose = _ref.onClose,
|
|
34873
35159
|
TimeClock = _ref.TimeClock,
|
|
34874
35160
|
periodOfDay = _ref.periodOfDay;
|
|
34875
|
-
return React.createElement(Draggable, null, React.createElement(WidgetContainer, null, React.createElement(CloseButton$
|
|
35161
|
+
return React.createElement(Draggable, null, React.createElement(WidgetContainer, null, React.createElement(CloseButton$4, {
|
|
34876
35162
|
onClick: onClose
|
|
34877
35163
|
}, "X"), React.createElement(DayNightContainer, null, React.createElement(DayNightPeriod, {
|
|
34878
35164
|
periodOfDay: periodOfDay
|
|
@@ -34886,7 +35172,7 @@ var Time = /*#__PURE__*/styled.div.withConfig({
|
|
|
34886
35172
|
displayName: "TimeWidget__Time",
|
|
34887
35173
|
componentId: "sc-1ja236h-1"
|
|
34888
35174
|
})(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
|
|
34889
|
-
var CloseButton$
|
|
35175
|
+
var CloseButton$4 = /*#__PURE__*/styled.p.withConfig({
|
|
34890
35176
|
displayName: "TimeWidget__CloseButton",
|
|
34891
35177
|
componentId: "sc-1ja236h-2"
|
|
34892
35178
|
})(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);
|
|
@@ -35199,5 +35485,5 @@ var ButtonWrapper$2 = /*#__PURE__*/styled.div.withConfig({
|
|
|
35199
35485
|
componentId: "sc-gptoxp-5"
|
|
35200
35486
|
})(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
|
|
35201
35487
|
|
|
35202
|
-
export { Button, ButtonTypes, CharacterSelection, Chat, CheckButton, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SkillProgressBar, SkillsContainer, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, useEventListener };
|
|
35488
|
+
export { Button, ButtonTypes, CharacterSelection, Chat, CheckButton, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SkillProgressBar, SkillsContainer, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, useEventListener };
|
|
35203
35489
|
//# sourceMappingURL=long-bow.esm.js.map
|