@rpg-engine/long-bow 0.7.86 → 0.7.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.
@@ -1,12 +1,8 @@
1
1
  import React from 'react';
2
- export interface IQuantitySelect {
3
- isOpen: boolean;
4
- maxQuantity: number;
5
- callback: (_quantity: number) => void;
6
- }
2
+ import { IQuantitySelect } from '../../QuantitySelector/QuantitySelectorModal';
7
3
  interface IProps {
8
4
  quantitySelect: IQuantitySelect;
9
5
  setQuantitySelect: React.Dispatch<React.SetStateAction<IQuantitySelect>>;
10
6
  }
11
7
  export declare const ItemQuantitySelectorModal: ({ quantitySelect, setQuantitySelect, }: IProps) => JSX.Element;
12
- export {};
8
+ export type { IQuantitySelect };
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ export interface IQuantitySelect {
3
+ isOpen: boolean;
4
+ maxQuantity: number;
5
+ callback: (quantity: number) => void;
6
+ title?: string;
7
+ initialQuantity?: number;
8
+ }
9
+ interface IProps {
10
+ quantitySelect: IQuantitySelect;
11
+ setQuantitySelect: React.Dispatch<React.SetStateAction<IQuantitySelect>>;
12
+ }
13
+ export declare const QuantitySelectorModal: ({ quantitySelect, setQuantitySelect, }: IProps) => JSX.Element;
14
+ export {};
package/dist/index.d.ts CHANGED
@@ -21,7 +21,6 @@ export * from './components/Input';
21
21
  export * from './components/InternalTabs/InternalTabs';
22
22
  export { ErrorBoundary } from './components/Item/Inventory/ErrorBoundary';
23
23
  export * from './components/Item/Inventory/ItemContainer';
24
- export * from './components/Item/Inventory/ItemQuantitySelectorModal';
25
24
  export * from './components/Item/Inventory/ItemSlot';
26
25
  export * from './components/itemSelector/ItemSelector';
27
26
  export * from './components/Leaderboard/Leaderboard';
@@ -30587,47 +30587,52 @@ var StyledInput = /*#__PURE__*/styled__default.input.withConfig({
30587
30587
  componentId: "sc-z4ut57-3"
30588
30588
  })(["width:100%;padding:0.5rem;background-color:rgba(0,0,0,0.25);border:none;color:white;font-size:1rem;text-align:center;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
30589
30589
 
30590
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
30591
- var quantity = _ref.quantity,
30592
- onConfirm = _ref.onConfirm,
30593
- onClose = _ref.onClose;
30594
- return React__default.createElement(QuantitySelector, {
30595
- maxQuantity: quantity,
30596
- initialQuantity: quantity,
30597
- title: "Select quantity to move",
30598
- onConfirm: onConfirm,
30599
- onClose: onClose
30590
+ var validateQuantitySelect = function validateQuantitySelect(quantitySelect) {
30591
+ return _extends({}, quantitySelect, {
30592
+ maxQuantity: Math.max(1, quantitySelect.maxQuantity),
30593
+ initialQuantity: quantitySelect.initialQuantity ? Math.max(1, Math.min(quantitySelect.maxQuantity, quantitySelect.initialQuantity)) : undefined
30600
30594
  });
30601
30595
  };
30602
-
30603
- var ItemQuantitySelectorModal = function ItemQuantitySelectorModal(_ref) {
30596
+ var QuantitySelectorModal = function QuantitySelectorModal(_ref) {
30604
30597
  var quantitySelect = _ref.quantitySelect,
30605
30598
  setQuantitySelect = _ref.setQuantitySelect;
30606
- return React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
30607
- quantity: quantitySelect.maxQuantity,
30599
+ var resetQuantitySelect = function resetQuantitySelect() {
30600
+ setQuantitySelect({
30601
+ isOpen: false,
30602
+ maxQuantity: 1,
30603
+ callback: function callback() {}
30604
+ });
30605
+ };
30606
+ // Validate the input values
30607
+ var validatedQuantitySelect = validateQuantitySelect(quantitySelect);
30608
+ return React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(QuantitySelector, {
30609
+ maxQuantity: validatedQuantitySelect.maxQuantity,
30610
+ initialQuantity: validatedQuantitySelect.initialQuantity,
30611
+ title: validatedQuantitySelect.title,
30608
30612
  onConfirm: function onConfirm(quantity) {
30609
- quantitySelect.callback(quantity);
30610
- setQuantitySelect({
30611
- isOpen: false,
30612
- maxQuantity: 1,
30613
- callback: function callback() {}
30614
- });
30613
+ validatedQuantitySelect.callback(quantity);
30614
+ resetQuantitySelect();
30615
30615
  },
30616
30616
  onClose: function onClose() {
30617
- quantitySelect.callback(-1);
30618
- setQuantitySelect({
30619
- isOpen: false,
30620
- maxQuantity: 1,
30621
- callback: function callback() {}
30622
- });
30617
+ validatedQuantitySelect.callback(-1);
30618
+ resetQuantitySelect();
30623
30619
  }
30624
30620
  })));
30625
30621
  };
30626
30622
  var QuantitySelectorContainer = /*#__PURE__*/styled__default.div.withConfig({
30627
- displayName: "ItemQuantitySelectorModal__QuantitySelectorContainer",
30628
- componentId: "sc-1b8cosc-0"
30623
+ displayName: "QuantitySelectorModal__QuantitySelectorContainer",
30624
+ componentId: "sc-aye686-0"
30629
30625
  })(["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);"]);
30630
30626
 
30627
+ var ItemQuantitySelectorModal = function ItemQuantitySelectorModal(_ref) {
30628
+ var quantitySelect = _ref.quantitySelect,
30629
+ setQuantitySelect = _ref.setQuantitySelect;
30630
+ return React__default.createElement(QuantitySelectorModal, {
30631
+ quantitySelect: quantitySelect,
30632
+ setQuantitySelect: setQuantitySelect
30633
+ });
30634
+ };
30635
+
30631
30636
  var MIN_SLOTS_FOR_SCROLL = 20;
30632
30637
  var ItemContainer$1 = /*#__PURE__*/React__default.memo(function (_ref) {
30633
30638
  var itemContainer = _ref.itemContainer,
@@ -34108,7 +34113,6 @@ exports.Input = Input;
34108
34113
  exports.InputRadio = InputRadio$1;
34109
34114
  exports.InternalTabs = InternalTabs;
34110
34115
  exports.ItemContainer = ItemContainer$1;
34111
- exports.ItemQuantitySelectorModal = ItemQuantitySelectorModal;
34112
34116
  exports.ItemSelector = ItemSelector;
34113
34117
  exports.ItemSlot = ItemSlot;
34114
34118
  exports.Leaderboard = Leaderboard;