@rpg-engine/long-bow 0.7.86 → 0.7.88

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
@@ -56,4 +56,5 @@ export * from './components/TradingMenu/TradingMenu';
56
56
  export * from './components/Truncate';
57
57
  export * from './components/Tutorial/TutorialStepper';
58
58
  export * from './components/typography/DynamicText';
59
+ export * from './components/QuantitySelector/QuantitySelectorModal';
59
60
  export { useEventListener } from './hooks/useEventListener';
@@ -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,
@@ -34126,6 +34131,7 @@ exports.PartyRow = PartyRow;
34126
34131
  exports.PlayersRow = PlayersRow;
34127
34132
  exports.ProgressBar = ProgressBar;
34128
34133
  exports.PropertySelect = PropertySelect;
34134
+ exports.QuantitySelectorModal = QuantitySelectorModal;
34129
34135
  exports.QuestInfo = QuestInfo;
34130
34136
  exports.QuestList = QuestList;
34131
34137
  exports.QuestionDialog = QuestionDialog;