@rpg-engine/long-bow 0.2.16 → 0.2.18

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.
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface IProps {
3
+ elementDOMId: string;
4
+ elementRenderedDOMKey: string;
5
+ children: React.ReactNode;
6
+ RPGUICreateFunction: 'dropdown' | 'slider' | 'checkbox' | 'draggable' | 'progress' | 'radio' | 'list';
7
+ }
8
+ export declare const RPGUIForceRenderStart: React.FC<IProps>;
9
+ export {};
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from './components/NPCDialog/QuestionDialog/QuestionDialog';
14
14
  export * from './components/ProgressBar';
15
15
  export * from './components/PropertySelect/PropertySelect';
16
16
  export * from './components/QuestInfo/QuestInfo';
17
+ export * from './components/QuestList';
17
18
  export * from './components/RadioButton';
18
19
  export * from './components/RangeSlider';
19
20
  export * from './components/RPGUIContainer';
@@ -20841,6 +20841,36 @@ var RPGUIRoot = function RPGUIRoot(_ref) {
20841
20841
  }, children);
20842
20842
  };
20843
20843
 
20844
+ var RPGUIForceRenderStart = function RPGUIForceRenderStart(_ref) {
20845
+ var children = _ref.children,
20846
+ elementDOMId = _ref.elementDOMId,
20847
+ elementRenderedDOMKey = _ref.elementRenderedDOMKey,
20848
+ RPGUICreateFunction = _ref.RPGUICreateFunction;
20849
+
20850
+ var _useState = React.useState(false),
20851
+ isRendered = _useState[0],
20852
+ setIsRendered = _useState[1];
20853
+
20854
+ React.useEffect(function () {
20855
+ if (_RPGUI) {
20856
+ var element = document.getElementById(elementDOMId); // create an interval to wait for the element to be rendered
20857
+ // if it's not, trigger the rendering forcefully
20858
+
20859
+ var interval = setInterval(function () {
20860
+ var dropdown = document.querySelector(elementRenderedDOMKey);
20861
+
20862
+ if (!dropdown && !isRendered) {
20863
+ _RPGUI.__create_funcs[RPGUICreateFunction](element);
20864
+
20865
+ setIsRendered(true);
20866
+ clearInterval(interval);
20867
+ }
20868
+ }, 10);
20869
+ }
20870
+ }, []);
20871
+ return React__default.createElement(React__default.Fragment, null, children);
20872
+ };
20873
+
20844
20874
  var Dropdown = function Dropdown(_ref) {
20845
20875
  var options = _ref.options,
20846
20876
  width = _ref.width,
@@ -20866,7 +20896,11 @@ var Dropdown = function Dropdown(_ref) {
20866
20896
  onChange(selectedValue);
20867
20897
  }
20868
20898
  }, [selectedValue]);
20869
- return React__default.createElement("select", {
20899
+ return React__default.createElement(RPGUIForceRenderStart, {
20900
+ elementDOMId: "rpgui-dropdown-" + dropdownId,
20901
+ elementRenderedDOMKey: '[data-rpguitype="dropdown"]',
20902
+ RPGUICreateFunction: "dropdown"
20903
+ }, React__default.createElement("select", {
20870
20904
  id: "rpgui-dropdown-" + dropdownId,
20871
20905
  style: {
20872
20906
  width: width
@@ -20877,7 +20911,7 @@ var Dropdown = function Dropdown(_ref) {
20877
20911
  key: option.id,
20878
20912
  value: option.value
20879
20913
  }, option.option);
20880
- }));
20914
+ })));
20881
20915
  };
20882
20916
 
20883
20917
  var frames$1 = {
@@ -27441,7 +27475,7 @@ var EquipmentSlotSpriteByType = {
27441
27475
  Feet: 'boots/iron-boots.png',
27442
27476
  Inventory: 'containers/bag.png',
27443
27477
  RightHand: 'shields/plate-shield.png',
27444
- Accessory: 'gloves/plate-gloves.png'
27478
+ Accessory: 'ranged-weapons/arrow.png'
27445
27479
  };
27446
27480
  var ItemSlot = /*#__PURE__*/mobxReactLite.observer(function (_ref) {
27447
27481
  var slotIndex = _ref.slotIndex,
@@ -28366,6 +28400,49 @@ var RightArrow$1 = /*#__PURE__*/styled.div.withConfig({
28366
28400
  componentId: "sc-15s2boc-10"
28367
28401
  })(["background-image:url(", ");right:0;position:absolute;width:40px;background-size:100% 100%;height:42px;:active{background-image:url(", ");}"], img$4, img$3);
28368
28402
 
28403
+ var QuestList = function QuestList(_ref) {
28404
+ var quests = _ref.quests,
28405
+ onClose = _ref.onClose;
28406
+ return React__default.createElement(QuestDraggableContainer$1, {
28407
+ type: exports.RPGUIContainerTypes.Framed,
28408
+ onCloseButton: function onCloseButton() {
28409
+ if (onClose) onClose();
28410
+ },
28411
+ width: "520px"
28412
+ }, React__default.createElement("div", {
28413
+ style: {
28414
+ width: '100%'
28415
+ }
28416
+ }, React__default.createElement(Title$2, null, "Quests"), React__default.createElement("hr", {
28417
+ className: "golden"
28418
+ }), React__default.createElement(QuestListContainer, null, quests.map(function (quest, i) {
28419
+ return React__default.createElement("div", {
28420
+ className: "quest-item",
28421
+ key: i
28422
+ }, React__default.createElement("span", {
28423
+ className: "quest-number"
28424
+ }, i + 1), React__default.createElement("div", {
28425
+ className: "quest-detail"
28426
+ }, React__default.createElement("p", {
28427
+ className: "quest-detail__title"
28428
+ }, quest.title), React__default.createElement("p", {
28429
+ className: "quest-detail__description"
28430
+ }, quest.description)));
28431
+ }))));
28432
+ };
28433
+ var QuestDraggableContainer$1 = /*#__PURE__*/styled(DraggableContainer).withConfig({
28434
+ displayName: "QuestList__QuestDraggableContainer",
28435
+ componentId: "sc-1a2vx6q-0"
28436
+ })([".container-close{top:10px;right:10px;}.quest-title{text-align:left;margin-left:44px;margin-top:20px;color:yellow;}.quest-desc{margin-top:12px;margin-left:44px;}.rpgui-progress{min-width:80%;margin:0 auto;}"]);
28437
+ var Title$2 = /*#__PURE__*/styled.h1.withConfig({
28438
+ displayName: "QuestList__Title",
28439
+ componentId: "sc-1a2vx6q-1"
28440
+ })(["z-index:22;font-size:0.6rem;color:yellow !important;"]);
28441
+ var QuestListContainer = /*#__PURE__*/styled.div.withConfig({
28442
+ displayName: "QuestList__QuestListContainer",
28443
+ componentId: "sc-1a2vx6q-2"
28444
+ })(["margin-top:20px;margin-bottom:40px;overflow-y:auto;max-height:400px;.quest-item{display:flex;align-items:flex-start;margin-bottom:12px;}.quest-number{border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin-right:16px;background-color:brown;flex-shrink:0;}.quest-number.completed{background-color:yellow;}p{margin:0;}.quest-detail__title{color:yellow;}.quest-detail__description{margin-top:5px;}"]);
28445
+
28369
28446
  var InputRadio = function InputRadio(_ref) {
28370
28447
  var name = _ref.name,
28371
28448
  items = _ref.items,
@@ -28414,18 +28491,6 @@ var RangeSlider = function RangeSlider(_ref) {
28414
28491
  onChange = _ref.onChange;
28415
28492
  var sliderId = uuid.v4();
28416
28493
 
28417
- var _useState = React.useState(false),
28418
- wasMouseDownFirst = _useState[0],
28419
- setWasMouseDownFirst = _useState[1];
28420
-
28421
- useEventListener('mouseup', function () {
28422
- if (wasMouseDownFirst) {
28423
- onHandleMouseUp();
28424
- }
28425
-
28426
- setWasMouseDownFirst(false);
28427
- });
28428
-
28429
28494
  var onHandleMouseUp = function onHandleMouseUp() {
28430
28495
  var rpguiSlider = document.getElementById("rpgui-slider-" + sliderId);
28431
28496
 
@@ -28434,11 +28499,12 @@ var RangeSlider = function RangeSlider(_ref) {
28434
28499
  onChange(Number(value));
28435
28500
  };
28436
28501
 
28437
- return React__default.createElement("div", {
28438
- onMouseUp: onHandleMouseUp,
28439
- onMouseDown: function onMouseDown() {
28440
- return setWasMouseDownFirst(true);
28441
- }
28502
+ return React__default.createElement(RPGUIForceRenderStart, {
28503
+ elementDOMId: "rpgui-slider-" + sliderId,
28504
+ elementRenderedDOMKey: "[data-rpguitype='slider']",
28505
+ RPGUICreateFunction: "slider"
28506
+ }, React__default.createElement("div", {
28507
+ onMouseUp: onHandleMouseUp
28442
28508
  }, React__default.createElement(Input$1, {
28443
28509
  className: type === exports.RangeSliderType.Slider ? exports.RangeSliderType.Slider : exports.RangeSliderType.GoldSlider,
28444
28510
  type: "range",
@@ -28448,7 +28514,7 @@ var RangeSlider = function RangeSlider(_ref) {
28448
28514
  min: valueMin,
28449
28515
  max: valueMax,
28450
28516
  id: "rpgui-slider-" + sliderId
28451
- }));
28517
+ })));
28452
28518
  };
28453
28519
  var Input$1 = /*#__PURE__*/styled.input.withConfig({
28454
28520
  displayName: "RangeSlider__Input",
@@ -28846,6 +28912,7 @@ exports.NPCMultiDialog = NPCMultiDialog;
28846
28912
  exports.ProgressBar = ProgressBar;
28847
28913
  exports.PropertySelect = PropertySelect;
28848
28914
  exports.QuestInfo = QuestInfo;
28915
+ exports.QuestList = QuestList;
28849
28916
  exports.QuestionDialog = QuestionDialog;
28850
28917
  exports.RPGUIContainer = RPGUIContainer;
28851
28918
  exports.RPGUIRoot = RPGUIRoot;