@rpg-engine/long-bow 0.1.28 → 0.1.29
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/Button.d.ts +10 -0
- package/dist/{NPCDialog → components/NPCDialog}/NPCDialog.d.ts +2 -2
- package/dist/{NPCDialog → components/NPCDialog}/NPCDialogText.d.ts +0 -0
- package/dist/{NPCDialog → components/NPCDialog}/QuestionDialog/QuestionDialog.d.ts +0 -0
- package/dist/components/RPGUIContainer.d.ts +14 -0
- package/dist/{RPGUI → components}/RPGUIRoot.d.ts +0 -0
- package/dist/{RPGUI/RPGUISlider.d.ts → components/RangeSlider.d.ts} +4 -4
- package/dist/{typography → components/typography}/DynamicText.d.ts +0 -0
- package/dist/index.d.ts +7 -6
- package/dist/long-bow.cjs.development.js +88 -47
- 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 +90 -47
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Button.tsx +26 -0
- package/src/components/ListMenu.tsx +1 -1
- package/src/{NPCDialog → components/NPCDialog}/NPCDialog.tsx +10 -6
- package/src/{NPCDialog → components/NPCDialog}/NPCDialogText.tsx +1 -1
- package/src/{NPCDialog → components/NPCDialog}/QuestionDialog/QuestionDialog.tsx +1 -1
- package/src/{NPCDialog → components/NPCDialog}/img/npcDialog/npcThumbnails/alice.png +0 -0
- package/src/{NPCDialog → components/NPCDialog}/img/space.gif +0 -0
- package/src/{RPGUI → components}/RPGUIContainer.tsx +10 -3
- package/src/{RPGUI → components}/RPGUIRoot.tsx +0 -0
- package/src/{RPGUI/RPGUISlider.tsx → components/RangeSlider.tsx} +7 -8
- package/src/{typography → components/typography}/DynamicText.tsx +0 -0
- package/src/index.tsx +7 -6
- package/dist/RPGUI/RPGUIContainer.d.ts +0 -9
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare enum IButtonTypes {
|
|
3
|
+
RPGUIButton = "rpgui-button",
|
|
4
|
+
RPGUIGoldButton = "rpgui-button golden"
|
|
5
|
+
}
|
|
6
|
+
export interface IButtonsProps {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
type: IButtonTypes;
|
|
9
|
+
}
|
|
10
|
+
export declare const Button: React.FC<IButtonsProps>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { IQuestionDialog, IQuestionDialogAnswer } from '
|
|
2
|
+
import { IQuestionDialog, IQuestionDialogAnswer } from './QuestionDialog/QuestionDialog';
|
|
3
3
|
export declare enum NPCDialogType {
|
|
4
4
|
TextOnly = "TextOnly",
|
|
5
5
|
TextAndThumbnail = "TextAndThumbnail"
|
|
@@ -9,7 +9,7 @@ export interface INPCDialogProps {
|
|
|
9
9
|
type: NPCDialogType;
|
|
10
10
|
imagePath?: string;
|
|
11
11
|
onClose?: () => void;
|
|
12
|
-
isQuestionDialog
|
|
12
|
+
isQuestionDialog?: boolean;
|
|
13
13
|
answers?: IQuestionDialogAnswer[];
|
|
14
14
|
questions?: IQuestionDialog[];
|
|
15
15
|
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare enum RPGUIContainerTypes {
|
|
3
|
+
Framed = "framed",
|
|
4
|
+
FramedGold = "framed-golden",
|
|
5
|
+
FramedGold2 = "framed-golden-2",
|
|
6
|
+
FramedGrey = "framed-grey"
|
|
7
|
+
}
|
|
8
|
+
export interface IRPGUIContainerProps {
|
|
9
|
+
type: RPGUIContainerTypes;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
width?: string;
|
|
12
|
+
height?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const RPGUIContainer: React.FC<IRPGUIContainerProps>;
|
|
File without changes
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare enum
|
|
2
|
+
export declare enum RangeSliderType {
|
|
3
3
|
Slider = "rpgui-slider",
|
|
4
4
|
GoldSlider = "rpgui-slider golden"
|
|
5
5
|
}
|
|
6
|
-
export interface
|
|
7
|
-
type:
|
|
6
|
+
export interface IRangeSliderProps {
|
|
7
|
+
type: RangeSliderType;
|
|
8
8
|
valueMin: number;
|
|
9
9
|
valueMax: number;
|
|
10
10
|
width: string;
|
|
11
11
|
onChange: (value: number) => void;
|
|
12
12
|
}
|
|
13
|
-
export declare const
|
|
13
|
+
export declare const RangeSlider: React.FC<IRangeSliderProps>;
|
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
export * from './components/Button';
|
|
1
2
|
export * from './components/ListMenu';
|
|
3
|
+
export * from './components/NPCDialog/NPCDialog';
|
|
4
|
+
export * from './components/NPCDialog/QuestionDialog/QuestionDialog';
|
|
5
|
+
export * from './components/RangeSlider';
|
|
6
|
+
export * from './components/RPGUIContainer';
|
|
7
|
+
export * from './components/RPGUIRoot';
|
|
8
|
+
export * from './components/typography/DynamicText';
|
|
2
9
|
export { useEventListener } from './hooks/useEventListener';
|
|
3
|
-
export * from './NPCDialog/NPCDialog';
|
|
4
|
-
export * from './NPCDialog/QuestionDialog/QuestionDialog';
|
|
5
|
-
export * from './RPGUI/RPGUIContainer';
|
|
6
|
-
export * from './RPGUI/RPGUIRoot';
|
|
7
|
-
export * from './RPGUI/RPGUISlider';
|
|
8
|
-
export * from './typography/DynamicText';
|
|
@@ -6,11 +6,26 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
6
6
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var React__default = _interopDefault(React);
|
|
9
|
-
var styled = _interopDefault(require('styled-components'));
|
|
10
9
|
require('rpgui/rpgui.min.css');
|
|
11
10
|
require('rpgui/rpgui.min.js');
|
|
11
|
+
var styled = _interopDefault(require('styled-components'));
|
|
12
12
|
var uuid = require('uuid');
|
|
13
13
|
|
|
14
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
15
|
+
if (source == null) return {};
|
|
16
|
+
var target = {};
|
|
17
|
+
var sourceKeys = Object.keys(source);
|
|
18
|
+
var key, i;
|
|
19
|
+
|
|
20
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
21
|
+
key = sourceKeys[i];
|
|
22
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
23
|
+
target[key] = source[key];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return target;
|
|
27
|
+
}
|
|
28
|
+
|
|
14
29
|
var _RPGUI = RPGUI;
|
|
15
30
|
var RPGUIRoot = function RPGUIRoot(_ref) {
|
|
16
31
|
var children = _ref.children;
|
|
@@ -19,6 +34,24 @@ var RPGUIRoot = function RPGUIRoot(_ref) {
|
|
|
19
34
|
}, children);
|
|
20
35
|
};
|
|
21
36
|
|
|
37
|
+
var _excluded = ["children", "type"];
|
|
38
|
+
|
|
39
|
+
(function (IButtonTypes) {
|
|
40
|
+
IButtonTypes["RPGUIButton"] = "rpgui-button";
|
|
41
|
+
IButtonTypes["RPGUIGoldButton"] = "rpgui-button golden";
|
|
42
|
+
})(exports.IButtonTypes || (exports.IButtonTypes = {}));
|
|
43
|
+
|
|
44
|
+
var Button = function Button(_ref) {
|
|
45
|
+
var children = _ref.children,
|
|
46
|
+
type = _ref.type,
|
|
47
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
48
|
+
|
|
49
|
+
return React__default.createElement(RPGUIRoot, null, React__default.createElement("button", Object.assign({
|
|
50
|
+
className: type,
|
|
51
|
+
type: "button"
|
|
52
|
+
}, props), React__default.createElement("p", null, children)));
|
|
53
|
+
};
|
|
54
|
+
|
|
22
55
|
var ListMenu = function ListMenu(_ref) {
|
|
23
56
|
var options = _ref.options,
|
|
24
57
|
onSelected = _ref.onSelected,
|
|
@@ -54,27 +87,12 @@ var ListElement = /*#__PURE__*/styled.li.withConfig({
|
|
|
54
87
|
componentId: "sc-i9097t-1"
|
|
55
88
|
})(["margin-right:0.5rem;"]);
|
|
56
89
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
React__default.useEffect(function () {
|
|
64
|
-
savedHandler.current = handler;
|
|
65
|
-
}, [handler]);
|
|
66
|
-
React__default.useEffect(function () {
|
|
67
|
-
//@ts-ignore
|
|
68
|
-
var listener = function listener(e) {
|
|
69
|
-
return savedHandler.current(e);
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
el.addEventListener(type, listener);
|
|
73
|
-
return function () {
|
|
74
|
-
el.removeEventListener(type, listener);
|
|
75
|
-
};
|
|
76
|
-
}, [type, el]);
|
|
77
|
-
};
|
|
90
|
+
(function (RPGUIContainerTypes) {
|
|
91
|
+
RPGUIContainerTypes["Framed"] = "framed";
|
|
92
|
+
RPGUIContainerTypes["FramedGold"] = "framed-golden";
|
|
93
|
+
RPGUIContainerTypes["FramedGold2"] = "framed-golden-2";
|
|
94
|
+
RPGUIContainerTypes["FramedGrey"] = "framed-grey";
|
|
95
|
+
})(exports.RPGUIContainerTypes || (exports.RPGUIContainerTypes = {}));
|
|
78
96
|
|
|
79
97
|
var RPGUIContainer = function RPGUIContainer(_ref) {
|
|
80
98
|
var children = _ref.children,
|
|
@@ -90,8 +108,8 @@ var RPGUIContainer = function RPGUIContainer(_ref) {
|
|
|
90
108
|
};
|
|
91
109
|
var Container$1 = /*#__PURE__*/styled.div.withConfig({
|
|
92
110
|
displayName: "RPGUIContainer__Container",
|
|
93
|
-
componentId: "sc-
|
|
94
|
-
})(["height:", ";width:", ";display:flex;flex-wrap:wrap;"], function (props) {
|
|
111
|
+
componentId: "sc-a8l4p8-0"
|
|
112
|
+
})(["height:", ";width:", ";display:flex;flex-wrap:wrap;image-rendering:pixelated;"], function (props) {
|
|
95
113
|
return props.height;
|
|
96
114
|
}, function (_ref2) {
|
|
97
115
|
var width = _ref2.width;
|
|
@@ -144,7 +162,7 @@ var DynamicText = function DynamicText(_ref) {
|
|
|
144
162
|
};
|
|
145
163
|
var TextContainer = /*#__PURE__*/styled.p.withConfig({
|
|
146
164
|
displayName: "DynamicText__TextContainer",
|
|
147
|
-
componentId: "sc-
|
|
165
|
+
componentId: "sc-1ggl9nd-0"
|
|
148
166
|
})(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
|
|
149
167
|
|
|
150
168
|
var NPCDialogText = function NPCDialogText(_ref) {
|
|
@@ -187,9 +205,31 @@ var NPCDialogText = function NPCDialogText(_ref) {
|
|
|
187
205
|
};
|
|
188
206
|
var Container$2 = /*#__PURE__*/styled.div.withConfig({
|
|
189
207
|
displayName: "NPCDialogText__Container",
|
|
190
|
-
componentId: "sc-
|
|
208
|
+
componentId: "sc-1cxkdh9-0"
|
|
191
209
|
})([""]);
|
|
192
210
|
|
|
211
|
+
var useEventListener = function useEventListener(type, handler, el) {
|
|
212
|
+
if (el === void 0) {
|
|
213
|
+
el = window;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
var savedHandler = React__default.useRef();
|
|
217
|
+
React__default.useEffect(function () {
|
|
218
|
+
savedHandler.current = handler;
|
|
219
|
+
}, [handler]);
|
|
220
|
+
React__default.useEffect(function () {
|
|
221
|
+
//@ts-ignore
|
|
222
|
+
var listener = function listener(e) {
|
|
223
|
+
return savedHandler.current(e);
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
el.addEventListener(type, listener);
|
|
227
|
+
return function () {
|
|
228
|
+
el.removeEventListener(type, listener);
|
|
229
|
+
};
|
|
230
|
+
}, [type, el]);
|
|
231
|
+
};
|
|
232
|
+
|
|
193
233
|
var QuestionDialog = function QuestionDialog(_ref) {
|
|
194
234
|
var questions = _ref.questions,
|
|
195
235
|
answers = _ref.answers,
|
|
@@ -347,31 +387,31 @@ var QuestionDialog = function QuestionDialog(_ref) {
|
|
|
347
387
|
};
|
|
348
388
|
var Container$3 = /*#__PURE__*/styled.div.withConfig({
|
|
349
389
|
displayName: "QuestionDialog__Container",
|
|
350
|
-
componentId: "sc-
|
|
390
|
+
componentId: "sc-bxc5u0-0"
|
|
351
391
|
})(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
|
|
352
392
|
var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
|
|
353
393
|
displayName: "QuestionDialog__QuestionContainer",
|
|
354
|
-
componentId: "sc-
|
|
394
|
+
componentId: "sc-bxc5u0-1"
|
|
355
395
|
})(["flex:100%;width:100%;"]);
|
|
356
396
|
var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
|
|
357
397
|
displayName: "QuestionDialog__AnswersContainer",
|
|
358
|
-
componentId: "sc-
|
|
398
|
+
componentId: "sc-bxc5u0-2"
|
|
359
399
|
})(["flex:100%;"]);
|
|
360
400
|
var Answer = /*#__PURE__*/styled.p.withConfig({
|
|
361
401
|
displayName: "QuestionDialog__Answer",
|
|
362
|
-
componentId: "sc-
|
|
402
|
+
componentId: "sc-bxc5u0-3"
|
|
363
403
|
})(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
|
|
364
404
|
return props.color;
|
|
365
405
|
});
|
|
366
406
|
var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
|
|
367
407
|
displayName: "QuestionDialog__AnswerSelectedIcon",
|
|
368
|
-
componentId: "sc-
|
|
408
|
+
componentId: "sc-bxc5u0-4"
|
|
369
409
|
})(["flex:5% 0 0;color:", " !important;"], function (props) {
|
|
370
410
|
return props.color;
|
|
371
411
|
});
|
|
372
412
|
var AnswerRow = /*#__PURE__*/styled.div.withConfig({
|
|
373
413
|
displayName: "QuestionDialog__AnswerRow",
|
|
374
|
-
componentId: "sc-
|
|
414
|
+
componentId: "sc-bxc5u0-5"
|
|
375
415
|
})(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
|
|
376
416
|
|
|
377
417
|
(function (NPCDialogType) {
|
|
@@ -394,7 +434,7 @@ var NPCDialog = function NPCDialog(_ref) {
|
|
|
394
434
|
setShowGoNextIndicator = _useState[1];
|
|
395
435
|
|
|
396
436
|
return React__default.createElement(RPGUIRoot, null, React__default.createElement(RPGUIContainer, {
|
|
397
|
-
type:
|
|
437
|
+
type: exports.RPGUIContainerTypes.FramedGold,
|
|
398
438
|
width: isQuestionDialog ? '600px' : '50%',
|
|
399
439
|
height: '180px'
|
|
400
440
|
}, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
|
|
@@ -433,37 +473,37 @@ var NPCDialog = function NPCDialog(_ref) {
|
|
|
433
473
|
};
|
|
434
474
|
var Container$4 = /*#__PURE__*/styled.div.withConfig({
|
|
435
475
|
displayName: "NPCDialog__Container",
|
|
436
|
-
componentId: "sc-
|
|
476
|
+
componentId: "sc-1b4aw74-0"
|
|
437
477
|
})(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
|
|
438
478
|
var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
439
479
|
displayName: "NPCDialog__TextContainer",
|
|
440
|
-
componentId: "sc-
|
|
480
|
+
componentId: "sc-1b4aw74-1"
|
|
441
481
|
})(["flex:", " 0 0;width:355px;"], function (_ref2) {
|
|
442
482
|
var flex = _ref2.flex;
|
|
443
483
|
return flex;
|
|
444
484
|
});
|
|
445
485
|
var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
|
|
446
486
|
displayName: "NPCDialog__ThumbnailContainer",
|
|
447
|
-
componentId: "sc-
|
|
487
|
+
componentId: "sc-1b4aw74-2"
|
|
448
488
|
})(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
|
|
449
489
|
var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
|
|
450
490
|
displayName: "NPCDialog__NPCThumbnail",
|
|
451
|
-
componentId: "sc-
|
|
491
|
+
componentId: "sc-1b4aw74-3"
|
|
452
492
|
})(["image-rendering:pixelated;height:128px;width:128px;"]);
|
|
453
493
|
var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
|
|
454
494
|
displayName: "NPCDialog__PressSpaceIndicator",
|
|
455
|
-
componentId: "sc-
|
|
495
|
+
componentId: "sc-1b4aw74-4"
|
|
456
496
|
})(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
|
|
457
497
|
var right = _ref3.right;
|
|
458
498
|
return right;
|
|
459
499
|
});
|
|
460
500
|
|
|
461
|
-
(function (
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
})(exports.
|
|
501
|
+
(function (RangeSliderType) {
|
|
502
|
+
RangeSliderType["Slider"] = "rpgui-slider";
|
|
503
|
+
RangeSliderType["GoldSlider"] = "rpgui-slider golden";
|
|
504
|
+
})(exports.RangeSliderType || (exports.RangeSliderType = {}));
|
|
465
505
|
|
|
466
|
-
var
|
|
506
|
+
var RangeSlider = function RangeSlider(_ref) {
|
|
467
507
|
var type = _ref.type,
|
|
468
508
|
valueMin = _ref.valueMin,
|
|
469
509
|
valueMax = _ref.valueMax,
|
|
@@ -497,7 +537,7 @@ var RPGUISlider = function RPGUISlider(_ref) {
|
|
|
497
537
|
return setWasMouseDownFirst(true);
|
|
498
538
|
}
|
|
499
539
|
}, React__default.createElement(Input, {
|
|
500
|
-
className: type === exports.
|
|
540
|
+
className: type === exports.RangeSliderType.Slider ? exports.RangeSliderType.Slider : exports.RangeSliderType.GoldSlider,
|
|
501
541
|
type: "range",
|
|
502
542
|
style: {
|
|
503
543
|
width: width
|
|
@@ -508,17 +548,18 @@ var RPGUISlider = function RPGUISlider(_ref) {
|
|
|
508
548
|
})));
|
|
509
549
|
};
|
|
510
550
|
var Input = /*#__PURE__*/styled.input.withConfig({
|
|
511
|
-
displayName: "
|
|
512
|
-
componentId: "sc-
|
|
551
|
+
displayName: "RangeSlider__Input",
|
|
552
|
+
componentId: "sc-v8mte9-0"
|
|
513
553
|
})(["opacity:0;"]);
|
|
514
554
|
|
|
555
|
+
exports.Button = Button;
|
|
515
556
|
exports.DynamicText = DynamicText;
|
|
516
557
|
exports.ListMenu = ListMenu;
|
|
517
558
|
exports.NPCDialog = NPCDialog;
|
|
518
559
|
exports.QuestionDialog = QuestionDialog;
|
|
519
560
|
exports.RPGUIContainer = RPGUIContainer;
|
|
520
561
|
exports.RPGUIRoot = RPGUIRoot;
|
|
521
|
-
exports.
|
|
562
|
+
exports.RangeSlider = RangeSlider;
|
|
522
563
|
exports._RPGUI = _RPGUI;
|
|
523
564
|
exports.useEventListener = useEventListener;
|
|
524
565
|
//# sourceMappingURL=long-bow.cjs.development.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"long-bow.cjs.development.js","sources":["../src/RPGUI/RPGUIRoot.tsx","../src/components/ListMenu.tsx","../src/hooks/useEventListener.ts","../src/RPGUI/RPGUIContainer.tsx","../src/NPCDialog/img/npcDialog/npcThumbnails/alice.png","../src/NPCDialog/img/space.gif","../src/libs/StringHelpers.ts","../src/typography/DynamicText.tsx","../src/NPCDialog/NPCDialogText.tsx","../src/NPCDialog/QuestionDialog/QuestionDialog.tsx","../src/NPCDialog/NPCDialog.tsx","../src/RPGUI/RPGUISlider.tsx"],"sourcesContent":["import React from 'react';\nimport 'rpgui/rpgui.min.css';\nimport 'rpgui/rpgui.min.js';\n\ninterface IProps {\n children: React.ReactNode;\n}\n\n//@ts-ignore\nexport const _RPGUI = RPGUI;\n\nexport const RPGUIRoot: React.FC<IProps> = ({ children }) => {\n return <div className=\"rpgui-content\">{children}</div>;\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { RPGUIRoot } from '../RPGUI/RPGUIRoot';\n\ninterface IListMenuOption {\n id: string;\n text: string;\n}\n\nexport interface IListMenuProps {\n x: number;\n y: number;\n options: IListMenuOption[];\n onSelected: (selectedOptionId: string) => void;\n}\n\nexport const ListMenu: React.FC<IListMenuProps> = ({\n options,\n onSelected,\n x,\n y,\n}) => {\n return (\n <RPGUIRoot>\n <Container x={x} y={y}>\n <ul className=\"rpgui-list-imp\" style={{ overflow: 'hidden' }}>\n {options.map((params) => (\n <ListElement\n key={params.text}\n onClick={() => {\n onSelected(params.id);\n }}\n >\n {params.text}\n </ListElement>\n ))}\n </ul>\n </Container>\n </RPGUIRoot>\n );\n};\n\ninterface IContainerProps {\n x?: number;\n y?: number;\n}\n\nconst Container = styled.div<IContainerProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n justify-content: start;\n align-items: flex-start;\n position: absolute;\n top: ${(props) => props.y || 0}px;\n left: ${(props) => props.x || 0}px;\n`;\n\nconst ListElement = styled.li`\n margin-right: 0.5rem;\n`;\n","import React from 'react';\n\n//@ts-ignore\nexport const useEventListener = (type, handler, el = window) => {\n const savedHandler = React.useRef();\n\n React.useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n React.useEffect(() => {\n //@ts-ignore\n const listener = (e) => savedHandler.current(e);\n\n el.addEventListener(type, listener);\n\n return () => {\n el.removeEventListener(type, listener);\n };\n }, [type, el]);\n};\n","import React from 'react';\nimport styled from 'styled-components';\n\ninterface IProps {\n type: 'framed' | 'framed-golden' | 'framed-golden-2' | 'framed-grey';\n children: React.ReactNode;\n width?: string;\n height?: string;\n}\n\nexport const RPGUIContainer: React.FC<IProps> = ({\n children,\n type,\n width = '50%',\n height,\n}) => {\n return (\n <Container\n width={width}\n height={height || 'auto'}\n className={`rpgui-container ${type}`}\n >\n {children}\n </Container>\n );\n};\n\ninterface IContainerProps {\n width: string;\n height: string;\n}\n\nconst Container = styled.div<IContainerProps>`\n height: ${(props) => props.height};\n width: ${({ width }) => width};\n display: flex;\n flex-wrap: wrap;\n`;\n","const img = require('./alice.png'); export default img;","const img = require('./space.gif'); export default img;","export const chunkString = (str: string, length: number) => {\n return str.match(new RegExp('.{1,' + length + '}', 'g'));\n};\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\ninterface IProps {\n text: string;\n onFinish?: () => void;\n onStart?: () => void;\n}\n\nexport const DynamicText: React.FC<IProps> = ({ text, onFinish, onStart }) => {\n const [textState, setTextState] = useState<string>('');\n\n useEffect(() => {\n let i = 0;\n const interval = setInterval(() => {\n // on every interval, show one more character\n\n if (i === 0) {\n if (onStart) {\n onStart();\n }\n }\n\n if (i < text.length) {\n setTextState(text.substring(0, i + 1));\n i++;\n } else {\n clearInterval(interval);\n if (onFinish) {\n onFinish();\n }\n }\n }, 50);\n\n return () => {\n clearInterval(interval);\n };\n }, [text]);\n\n return <TextContainer>{textState}</TextContainer>;\n};\n\nconst TextContainer = styled.p`\n font-size: 0.7rem !important;\n color: white;\n text-shadow: 1px 1px 0px #000000;\n letter-spacing: 1.2px;\n word-break: normal;\n`;\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { chunkString } from '../libs/StringHelpers';\nimport { DynamicText } from '../typography/DynamicText';\n\ninterface IProps {\n text: string;\n onClose: () => void;\n onEndStep: () => void;\n onStartStep: () => void;\n}\n\nexport const NPCDialogText: React.FC<IProps> = ({\n text,\n onClose,\n onEndStep,\n onStartStep,\n}) => {\n const textChunks = chunkString(text, 85);\n\n const [chunkIndex, setChunkIndex] = useState<number>(0);\n\n const onHandleSpacePress = (event: KeyboardEvent) => {\n if (event.code === 'Space') {\n const hasNextChunk = textChunks?.[chunkIndex + 1] || false;\n\n if (hasNextChunk) {\n setChunkIndex((prev) => prev + 1);\n } else {\n // if there's no more text chunks, close the dialog\n onClose();\n }\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', onHandleSpacePress);\n\n return () => document.removeEventListener('keydown', onHandleSpacePress);\n }, [chunkIndex]);\n\n return (\n <Container>\n <DynamicText\n text={textChunks?.[chunkIndex] || ''}\n onFinish={onEndStep}\n onStart={onStartStep}\n />\n </Container>\n );\n};\n\nconst Container = styled.div``;\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { DynamicText } from '../../typography/DynamicText';\n\nexport interface IQuestionDialogAnswer {\n id: number;\n text: string;\n nextQuestionId?: number;\n}\n\nexport interface IQuestionDialog {\n id: number;\n text: string;\n answerIds?: number[];\n}\n\nexport interface IProps {\n questions: IQuestionDialog[];\n answers: IQuestionDialogAnswer[];\n onClose: () => void;\n}\n\nexport const QuestionDialog: React.FC<IProps> = ({\n questions,\n answers,\n onClose,\n}) => {\n const [currentQuestion, setCurrentQuestion] = useState(questions[0]);\n\n const [canShowAnswers, setCanShowAnswers] = useState<boolean>(false);\n\n const onGetFirstAnswer = () => {\n if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {\n return null;\n }\n\n const firstAnswerId = currentQuestion.answerIds![0];\n\n return answers.find((answer) => answer.id === firstAnswerId);\n };\n\n const [currentAnswer, setCurrentAnswer] =\n useState<IQuestionDialogAnswer | null>(onGetFirstAnswer()!);\n\n useEffect(() => {\n setCurrentAnswer(onGetFirstAnswer()!);\n }, [currentQuestion]);\n\n const onGetAnswers = (answerIds: number[]) => {\n return answerIds.map((answerId: number) =>\n answers.find((answer) => answer.id === answerId)\n );\n };\n\n const onKeyPress = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n // select next answer, if any.\n // if no next answer, select first answer\n // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(\n // (answer) => answer?.id === currentAnswer!.id + 1\n // );\n\n const nextAnswerIndex = onGetAnswers(\n currentQuestion.answerIds!\n ).findIndex((answer) => answer?.id === currentAnswer!.id + 1);\n\n const nextAnswerID = currentQuestion.answerIds![nextAnswerIndex];\n\n // console.log(nextAnswerIndex);\n\n const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(\n (answer) => answer?.id === nextAnswerID\n );\n\n setCurrentAnswer(nextAnswer || onGetFirstAnswer()!);\n\n break;\n case 'ArrowUp':\n // select previous answer, if any.\n // if no previous answer, select last answer\n\n const previousAnswerIndex = onGetAnswers(\n currentQuestion.answerIds!\n ).findIndex((answer) => answer?.id === currentAnswer!.id - 1);\n\n const previousAnswerID =\n currentQuestion.answerIds &&\n currentQuestion.answerIds[previousAnswerIndex];\n\n const previousAnswer = onGetAnswers(currentQuestion.answerIds!).find(\n (answer) => answer?.id === previousAnswerID\n );\n\n if (previousAnswer) {\n setCurrentAnswer(previousAnswer);\n } else {\n setCurrentAnswer(onGetAnswers(currentQuestion.answerIds!).pop()!);\n }\n\n break;\n case 'Enter':\n setCanShowAnswers(false);\n\n if (!currentAnswer?.nextQuestionId) {\n onClose();\n return;\n } else {\n setCurrentQuestion(\n questions.find(\n (question) => question.id === currentAnswer!.nextQuestionId\n )!\n );\n }\n\n break;\n }\n };\n useEventListener('keydown', onKeyPress);\n\n const onAnswerClick = (answer: IQuestionDialogAnswer) => {\n setCanShowAnswers(false);\n if (answer.nextQuestionId) {\n // if there is a next question, go to it\n setCurrentQuestion(\n questions.find((question) => question.id === answer.nextQuestionId)!\n );\n } else {\n // else, finish dialog!\n onClose();\n }\n };\n\n const onRenderCurrentAnswers = () => {\n const answerIds = currentQuestion.answerIds;\n if (!answerIds) {\n return null;\n }\n\n const answers = onGetAnswers(answerIds);\n\n if (!answers) {\n return null;\n }\n\n return answers.map((answer) => {\n const isSelected = currentAnswer?.id === answer?.id;\n const selectedColor = isSelected ? 'yellow' : 'white';\n\n if (answer) {\n return (\n <AnswerRow key={`answer_${answer.id}`}>\n <AnswerSelectedIcon color={selectedColor}>\n {isSelected ? 'X' : null}\n </AnswerSelectedIcon>\n\n <Answer\n key={answer.id}\n onClick={() => onAnswerClick(answer)}\n color={selectedColor}\n >\n {answer.text}\n </Answer>\n </AnswerRow>\n );\n }\n\n return null;\n });\n };\n\n return (\n <Container>\n <QuestionContainer>\n <DynamicText\n text={currentQuestion.text}\n onStart={() => setCanShowAnswers(false)}\n onFinish={() => setCanShowAnswers(true)}\n />\n </QuestionContainer>\n\n {canShowAnswers && (\n <AnswersContainer>{onRenderCurrentAnswers()}</AnswersContainer>\n )}\n </Container>\n );\n};\n\nconst Container = styled.div`\n display: flex;\n\n word-break: break-all;\n\n box-sizing: border-box;\n justify-content: flex-start;\n align-items: flex-start;\n flex-wrap: wrap;\n`;\n\nconst QuestionContainer = styled.div`\n flex: 100%;\n width: 100%;\n`;\n\nconst AnswersContainer = styled.div`\n flex: 100%;\n`;\n\ninterface IAnswerProps {\n color: string;\n}\n\nconst Answer = styled.p<IAnswerProps>`\n flex: auto;\n color: ${(props) => props.color} !important;\n font-size: 0.65rem !important;\n background: inherit;\n border: none;\n`;\n\nconst AnswerSelectedIcon = styled.span<IAnswerProps>`\n flex: 5% 0 0;\n color: ${(props) => props.color} !important;\n`;\n\nconst AnswerRow = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n margin-bottom: 0.5rem;\n height: 22px;\n\n p {\n line-height: unset;\n margin-top: 0;\n margin-bottom: 0rem;\n }\n`;\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport { IQuestionDialog, IQuestionDialogAnswer } from '..';\nimport { RPGUIContainer } from '../RPGUI/RPGUIContainer';\nimport { RPGUIRoot } from '../RPGUI/RPGUIRoot';\nimport aliceDefaultThumbnail from './img/npcDialog/npcThumbnails/alice.png';\nimport pressSpaceGif from './img/space.gif';\nimport { NPCDialogText } from './NPCDialogText';\nimport { QuestionDialog } from './QuestionDialog/QuestionDialog';\nexport enum NPCDialogType {\n TextOnly = 'TextOnly',\n TextAndThumbnail = 'TextAndThumbnail',\n}\n\nexport interface INPCDialogProps {\n text?: string;\n type: NPCDialogType;\n imagePath?: string;\n onClose?: () => void;\n isQuestionDialog: boolean;\n answers?: IQuestionDialogAnswer[];\n questions?: IQuestionDialog[];\n}\n\nexport const NPCDialog: React.FC<INPCDialogProps> = ({\n text,\n type,\n onClose,\n imagePath,\n isQuestionDialog = false,\n questions,\n answers,\n}) => {\n const [showGoNextIndicator, setShowGoNextIndicator] =\n useState<boolean>(false);\n\n return (\n <RPGUIRoot>\n <RPGUIContainer\n type=\"framed-golden\"\n width={isQuestionDialog ? '600px' : '50%'}\n height={'180px'}\n >\n {isQuestionDialog && questions && answers ? (\n <>\n <TextContainer\n flex={type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'}\n >\n <QuestionDialog\n questions={questions}\n answers={answers}\n onClose={() => {\n if (onClose) {\n onClose();\n }\n }}\n />\n </TextContainer>\n {type === NPCDialogType.TextAndThumbnail && (\n <ThumbnailContainer>\n <NPCThumbnail src={imagePath || aliceDefaultThumbnail} />\n </ThumbnailContainer>\n )}\n </>\n ) : (\n <>\n <Container>\n <TextContainer\n flex={type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'}\n >\n <NPCDialogText\n onStartStep={() => setShowGoNextIndicator(false)}\n onEndStep={() => setShowGoNextIndicator(true)}\n text={text || 'No text provided.'}\n onClose={() => {\n if (onClose) {\n onClose();\n }\n }}\n />\n </TextContainer>\n {type === NPCDialogType.TextAndThumbnail && (\n <ThumbnailContainer>\n <NPCThumbnail src={imagePath || aliceDefaultThumbnail} />\n </ThumbnailContainer>\n )}\n </Container>\n {showGoNextIndicator && (\n <PressSpaceIndicator\n right={type === NPCDialogType.TextOnly ? '1rem' : '10.5rem'}\n src={pressSpaceGif}\n />\n )}\n </>\n )}\n </RPGUIContainer>\n </RPGUIRoot>\n );\n};\n\nconst Container = styled.div`\n display: flex;\n width: 100%;\n height: 100%;\n\n box-sizing: border-box;\n justify-content: center;\n align-items: flex-start;\n position: relative;\n`;\n\ninterface ITextContainerProps {\n flex: string;\n}\n\nconst TextContainer = styled.div<ITextContainerProps>`\n flex: ${({ flex }) => flex} 0 0;\n width: 355px;\n`;\n\nconst ThumbnailContainer = styled.div`\n flex: 30% 0 0;\n display: flex;\n justify-content: flex-end;\n`;\n\nconst NPCThumbnail = styled.img`\n image-rendering: pixelated;\n height: 128px;\n width: 128px;\n`;\n\ninterface IPressSpaceIndicatorProps {\n right: string;\n}\n\nconst PressSpaceIndicator = styled.img<IPressSpaceIndicatorProps>`\n position: absolute;\n right: ${({ right }) => right};\n bottom: 1rem;\n height: 20.7px;\n image-rendering: -webkit-optimize-contrast;\n`;\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useEventListener } from '../hooks/useEventListener';\nimport { RPGUIRoot, _RPGUI } from './RPGUIRoot';\n\nexport enum SliderType {\n Slider = 'rpgui-slider',\n GoldSlider = 'rpgui-slider golden',\n}\n\nexport interface ISliderProps {\n type: SliderType;\n valueMin: number;\n valueMax: number;\n width: string;\n\n onChange: (value: number) => void;\n}\n\nexport const RPGUISlider: React.FC<ISliderProps> = ({\n type,\n valueMin,\n valueMax,\n width,\n onChange,\n}) => {\n const sliderId = uuidv4();\n\n const [wasMouseDownFirst, setWasMouseDownFirst] = useState<boolean>(false);\n\n useEventListener('mouseup', () => {\n if (wasMouseDownFirst) {\n onHandleMouseUp();\n }\n setWasMouseDownFirst(false);\n });\n\n const onHandleMouseUp = () => {\n const rpguiSlider = document.getElementById(`rpgui-slider-${sliderId}`);\n const value = _RPGUI.get_value(rpguiSlider);\n\n onChange(Number(value));\n };\n\n return (\n <RPGUIRoot>\n <div\n onMouseUp={onHandleMouseUp}\n onMouseDown={() => setWasMouseDownFirst(true)}\n >\n <Input\n className={\n type === SliderType.Slider\n ? SliderType.Slider\n : SliderType.GoldSlider\n }\n type=\"range\"\n style={{ width: width }}\n min={valueMin}\n max={valueMax}\n id={`rpgui-slider-${sliderId}`}\n />\n </div>\n </RPGUIRoot>\n );\n};\n\nconst Input = styled.input`\n opacity: 0;\n`;\n"],"names":["_RPGUI","RPGUI","RPGUIRoot","children","React","className","ListMenu","options","onSelected","x","y","Container","style","overflow","map","params","ListElement","key","text","onClick","id","styled","div","props","li","useEventListener","type","handler","el","window","savedHandler","useRef","useEffect","current","listener","e","addEventListener","removeEventListener","RPGUIContainer","width","height","img","chunkString","str","length","match","RegExp","DynamicText","onFinish","onStart","useState","textState","setTextState","i","interval","setInterval","substring","clearInterval","TextContainer","p","NPCDialogText","onClose","onEndStep","onStartStep","textChunks","chunkIndex","setChunkIndex","onHandleSpacePress","event","code","hasNextChunk","prev","document","QuestionDialog","questions","answers","currentQuestion","setCurrentQuestion","canShowAnswers","setCanShowAnswers","onGetFirstAnswer","answerIds","firstAnswerId","find","answer","currentAnswer","setCurrentAnswer","onGetAnswers","answerId","onKeyPress","nextAnswerIndex","findIndex","nextAnswerID","nextAnswer","previousAnswerIndex","previousAnswerID","previousAnswer","pop","nextQuestionId","question","onAnswerClick","onRenderCurrentAnswers","isSelected","selectedColor","AnswerRow","AnswerSelectedIcon","color","Answer","QuestionContainer","AnswersContainer","span","NPCDialogType","NPCDialog","imagePath","isQuestionDialog","showGoNextIndicator","setShowGoNextIndicator","flex","TextAndThumbnail","ThumbnailContainer","NPCThumbnail","src","aliceDefaultThumbnail","PressSpaceIndicator","right","TextOnly","pressSpaceGif","SliderType","RPGUISlider","valueMin","valueMax","onChange","sliderId","uuidv4","wasMouseDownFirst","setWasMouseDownFirst","onHandleMouseUp","rpguiSlider","getElementById","value","get_value","Number","onMouseUp","onMouseDown","Input","Slider","GoldSlider","min","max","input"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"long-bow.cjs.development.js","sources":["../src/components/RPGUIRoot.tsx","../src/components/Button.tsx","../src/components/ListMenu.tsx","../src/components/RPGUIContainer.tsx","../src/components/NPCDialog/img/npcDialog/npcThumbnails/alice.png","../src/components/NPCDialog/img/space.gif","../src/libs/StringHelpers.ts","../src/components/typography/DynamicText.tsx","../src/components/NPCDialog/NPCDialogText.tsx","../src/hooks/useEventListener.ts","../src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx","../src/components/NPCDialog/NPCDialog.tsx","../src/components/RangeSlider.tsx"],"sourcesContent":["import React from 'react';\nimport 'rpgui/rpgui.min.css';\nimport 'rpgui/rpgui.min.js';\n\ninterface IProps {\n children: React.ReactNode;\n}\n\n//@ts-ignore\nexport const _RPGUI = RPGUI;\n\nexport const RPGUIRoot: React.FC<IProps> = ({ children }) => {\n return <div className=\"rpgui-content\">{children}</div>;\n};\n","import React from 'react';\nimport { RPGUIRoot } from './RPGUIRoot';\n\nexport enum IButtonTypes {\n RPGUIButton = 'rpgui-button',\n RPGUIGoldButton = 'rpgui-button golden',\n}\n\nexport interface IButtonsProps {\n children: React.ReactNode;\n type: IButtonTypes;\n}\n\nexport const Button: React.FC<IButtonsProps> = ({\n children,\n type,\n ...props\n}) => {\n return (\n <RPGUIRoot>\n <button className={type} type=\"button\" {...props}>\n <p>{children}</p>\n </button>\n </RPGUIRoot>\n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { RPGUIRoot } from './RPGUIRoot';\n\ninterface IListMenuOption {\n id: string;\n text: string;\n}\n\nexport interface IListMenuProps {\n x: number;\n y: number;\n options: IListMenuOption[];\n onSelected: (selectedOptionId: string) => void;\n}\n\nexport const ListMenu: React.FC<IListMenuProps> = ({\n options,\n onSelected,\n x,\n y,\n}) => {\n return (\n <RPGUIRoot>\n <Container x={x} y={y}>\n <ul className=\"rpgui-list-imp\" style={{ overflow: 'hidden' }}>\n {options.map((params) => (\n <ListElement\n key={params.text}\n onClick={() => {\n onSelected(params.id);\n }}\n >\n {params.text}\n </ListElement>\n ))}\n </ul>\n </Container>\n </RPGUIRoot>\n );\n};\n\ninterface IContainerProps {\n x?: number;\n y?: number;\n}\n\nconst Container = styled.div<IContainerProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n justify-content: start;\n align-items: flex-start;\n position: absolute;\n top: ${(props) => props.y || 0}px;\n left: ${(props) => props.x || 0}px;\n`;\n\nconst ListElement = styled.li`\n margin-right: 0.5rem;\n`;\n","import React from 'react';\nimport styled from 'styled-components';\n\nexport enum RPGUIContainerTypes {\n Framed = 'framed',\n FramedGold = 'framed-golden',\n FramedGold2 = 'framed-golden-2',\n FramedGrey = 'framed-grey',\n}\nexport interface IRPGUIContainerProps {\n type: RPGUIContainerTypes;\n children: React.ReactNode;\n width?: string;\n height?: string;\n}\n\nexport const RPGUIContainer: React.FC<IRPGUIContainerProps> = ({\n children,\n type,\n width = '50%',\n height,\n}) => {\n return (\n <Container\n width={width}\n height={height || 'auto'}\n className={`rpgui-container ${type}`}\n >\n {children}\n </Container>\n );\n};\n\ninterface IContainerProps {\n width: string;\n height: string;\n}\n\nconst Container = styled.div<IContainerProps>`\n height: ${(props) => props.height};\n width: ${({ width }) => width};\n display: flex;\n flex-wrap: wrap;\n image-rendering: pixelated;\n`;\n","const img = require('./alice.png'); export default img;","const img = require('./space.gif'); export default img;","export const chunkString = (str: string, length: number) => {\n return str.match(new RegExp('.{1,' + length + '}', 'g'));\n};\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\ninterface IProps {\n text: string;\n onFinish?: () => void;\n onStart?: () => void;\n}\n\nexport const DynamicText: React.FC<IProps> = ({ text, onFinish, onStart }) => {\n const [textState, setTextState] = useState<string>('');\n\n useEffect(() => {\n let i = 0;\n const interval = setInterval(() => {\n // on every interval, show one more character\n\n if (i === 0) {\n if (onStart) {\n onStart();\n }\n }\n\n if (i < text.length) {\n setTextState(text.substring(0, i + 1));\n i++;\n } else {\n clearInterval(interval);\n if (onFinish) {\n onFinish();\n }\n }\n }, 50);\n\n return () => {\n clearInterval(interval);\n };\n }, [text]);\n\n return <TextContainer>{textState}</TextContainer>;\n};\n\nconst TextContainer = styled.p`\n font-size: 0.7rem !important;\n color: white;\n text-shadow: 1px 1px 0px #000000;\n letter-spacing: 1.2px;\n word-break: normal;\n`;\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { chunkString } from '../../libs/StringHelpers';\nimport { DynamicText } from '../typography/DynamicText';\n\ninterface IProps {\n text: string;\n onClose: () => void;\n onEndStep: () => void;\n onStartStep: () => void;\n}\n\nexport const NPCDialogText: React.FC<IProps> = ({\n text,\n onClose,\n onEndStep,\n onStartStep,\n}) => {\n const textChunks = chunkString(text, 85);\n\n const [chunkIndex, setChunkIndex] = useState<number>(0);\n\n const onHandleSpacePress = (event: KeyboardEvent) => {\n if (event.code === 'Space') {\n const hasNextChunk = textChunks?.[chunkIndex + 1] || false;\n\n if (hasNextChunk) {\n setChunkIndex((prev) => prev + 1);\n } else {\n // if there's no more text chunks, close the dialog\n onClose();\n }\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', onHandleSpacePress);\n\n return () => document.removeEventListener('keydown', onHandleSpacePress);\n }, [chunkIndex]);\n\n return (\n <Container>\n <DynamicText\n text={textChunks?.[chunkIndex] || ''}\n onFinish={onEndStep}\n onStart={onStartStep}\n />\n </Container>\n );\n};\n\nconst Container = styled.div``;\n","import React from 'react';\n\n//@ts-ignore\nexport const useEventListener = (type, handler, el = window) => {\n const savedHandler = React.useRef();\n\n React.useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n React.useEffect(() => {\n //@ts-ignore\n const listener = (e) => savedHandler.current(e);\n\n el.addEventListener(type, listener);\n\n return () => {\n el.removeEventListener(type, listener);\n };\n }, [type, el]);\n};\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { useEventListener } from '../../../hooks/useEventListener';\nimport { DynamicText } from '../../typography/DynamicText';\n\nexport interface IQuestionDialogAnswer {\n id: number;\n text: string;\n nextQuestionId?: number;\n}\n\nexport interface IQuestionDialog {\n id: number;\n text: string;\n answerIds?: number[];\n}\n\nexport interface IProps {\n questions: IQuestionDialog[];\n answers: IQuestionDialogAnswer[];\n onClose: () => void;\n}\n\nexport const QuestionDialog: React.FC<IProps> = ({\n questions,\n answers,\n onClose,\n}) => {\n const [currentQuestion, setCurrentQuestion] = useState(questions[0]);\n\n const [canShowAnswers, setCanShowAnswers] = useState<boolean>(false);\n\n const onGetFirstAnswer = () => {\n if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {\n return null;\n }\n\n const firstAnswerId = currentQuestion.answerIds![0];\n\n return answers.find((answer) => answer.id === firstAnswerId);\n };\n\n const [currentAnswer, setCurrentAnswer] =\n useState<IQuestionDialogAnswer | null>(onGetFirstAnswer()!);\n\n useEffect(() => {\n setCurrentAnswer(onGetFirstAnswer()!);\n }, [currentQuestion]);\n\n const onGetAnswers = (answerIds: number[]) => {\n return answerIds.map((answerId: number) =>\n answers.find((answer) => answer.id === answerId)\n );\n };\n\n const onKeyPress = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n // select next answer, if any.\n // if no next answer, select first answer\n // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(\n // (answer) => answer?.id === currentAnswer!.id + 1\n // );\n\n const nextAnswerIndex = onGetAnswers(\n currentQuestion.answerIds!\n ).findIndex((answer) => answer?.id === currentAnswer!.id + 1);\n\n const nextAnswerID = currentQuestion.answerIds![nextAnswerIndex];\n\n // console.log(nextAnswerIndex);\n\n const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(\n (answer) => answer?.id === nextAnswerID\n );\n\n setCurrentAnswer(nextAnswer || onGetFirstAnswer()!);\n\n break;\n case 'ArrowUp':\n // select previous answer, if any.\n // if no previous answer, select last answer\n\n const previousAnswerIndex = onGetAnswers(\n currentQuestion.answerIds!\n ).findIndex((answer) => answer?.id === currentAnswer!.id - 1);\n\n const previousAnswerID =\n currentQuestion.answerIds &&\n currentQuestion.answerIds[previousAnswerIndex];\n\n const previousAnswer = onGetAnswers(currentQuestion.answerIds!).find(\n (answer) => answer?.id === previousAnswerID\n );\n\n if (previousAnswer) {\n setCurrentAnswer(previousAnswer);\n } else {\n setCurrentAnswer(onGetAnswers(currentQuestion.answerIds!).pop()!);\n }\n\n break;\n case 'Enter':\n setCanShowAnswers(false);\n\n if (!currentAnswer?.nextQuestionId) {\n onClose();\n return;\n } else {\n setCurrentQuestion(\n questions.find(\n (question) => question.id === currentAnswer!.nextQuestionId\n )!\n );\n }\n\n break;\n }\n };\n useEventListener('keydown', onKeyPress);\n\n const onAnswerClick = (answer: IQuestionDialogAnswer) => {\n setCanShowAnswers(false);\n if (answer.nextQuestionId) {\n // if there is a next question, go to it\n setCurrentQuestion(\n questions.find((question) => question.id === answer.nextQuestionId)!\n );\n } else {\n // else, finish dialog!\n onClose();\n }\n };\n\n const onRenderCurrentAnswers = () => {\n const answerIds = currentQuestion.answerIds;\n if (!answerIds) {\n return null;\n }\n\n const answers = onGetAnswers(answerIds);\n\n if (!answers) {\n return null;\n }\n\n return answers.map((answer) => {\n const isSelected = currentAnswer?.id === answer?.id;\n const selectedColor = isSelected ? 'yellow' : 'white';\n\n if (answer) {\n return (\n <AnswerRow key={`answer_${answer.id}`}>\n <AnswerSelectedIcon color={selectedColor}>\n {isSelected ? 'X' : null}\n </AnswerSelectedIcon>\n\n <Answer\n key={answer.id}\n onClick={() => onAnswerClick(answer)}\n color={selectedColor}\n >\n {answer.text}\n </Answer>\n </AnswerRow>\n );\n }\n\n return null;\n });\n };\n\n return (\n <Container>\n <QuestionContainer>\n <DynamicText\n text={currentQuestion.text}\n onStart={() => setCanShowAnswers(false)}\n onFinish={() => setCanShowAnswers(true)}\n />\n </QuestionContainer>\n\n {canShowAnswers && (\n <AnswersContainer>{onRenderCurrentAnswers()}</AnswersContainer>\n )}\n </Container>\n );\n};\n\nconst Container = styled.div`\n display: flex;\n\n word-break: break-all;\n\n box-sizing: border-box;\n justify-content: flex-start;\n align-items: flex-start;\n flex-wrap: wrap;\n`;\n\nconst QuestionContainer = styled.div`\n flex: 100%;\n width: 100%;\n`;\n\nconst AnswersContainer = styled.div`\n flex: 100%;\n`;\n\ninterface IAnswerProps {\n color: string;\n}\n\nconst Answer = styled.p<IAnswerProps>`\n flex: auto;\n color: ${(props) => props.color} !important;\n font-size: 0.65rem !important;\n background: inherit;\n border: none;\n`;\n\nconst AnswerSelectedIcon = styled.span<IAnswerProps>`\n flex: 5% 0 0;\n color: ${(props) => props.color} !important;\n`;\n\nconst AnswerRow = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n margin-bottom: 0.5rem;\n height: 22px;\n\n p {\n line-height: unset;\n margin-top: 0;\n margin-bottom: 0rem;\n }\n`;\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport { RPGUIContainer, RPGUIContainerTypes } from '../RPGUIContainer';\nimport { RPGUIRoot } from '../RPGUIRoot';\nimport aliceDefaultThumbnail from './img/npcDialog/npcThumbnails/alice.png';\nimport pressSpaceGif from './img/space.gif';\nimport { NPCDialogText } from './NPCDialogText';\nimport {\n IQuestionDialog,\n IQuestionDialogAnswer,\n QuestionDialog,\n} from './QuestionDialog/QuestionDialog';\n\nexport enum NPCDialogType {\n TextOnly = 'TextOnly',\n TextAndThumbnail = 'TextAndThumbnail',\n}\n\nexport interface INPCDialogProps {\n text?: string;\n type: NPCDialogType;\n imagePath?: string;\n onClose?: () => void;\n isQuestionDialog?: boolean;\n answers?: IQuestionDialogAnswer[];\n questions?: IQuestionDialog[];\n}\n\nexport const NPCDialog: React.FC<INPCDialogProps> = ({\n text,\n type,\n onClose,\n imagePath,\n isQuestionDialog = false,\n questions,\n answers,\n}) => {\n const [showGoNextIndicator, setShowGoNextIndicator] =\n useState<boolean>(false);\n\n return (\n <RPGUIRoot>\n <RPGUIContainer\n type={RPGUIContainerTypes.FramedGold}\n width={isQuestionDialog ? '600px' : '50%'}\n height={'180px'}\n >\n {isQuestionDialog && questions && answers ? (\n <>\n <TextContainer\n flex={type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'}\n >\n <QuestionDialog\n questions={questions}\n answers={answers}\n onClose={() => {\n if (onClose) {\n onClose();\n }\n }}\n />\n </TextContainer>\n {type === NPCDialogType.TextAndThumbnail && (\n <ThumbnailContainer>\n <NPCThumbnail src={imagePath || aliceDefaultThumbnail} />\n </ThumbnailContainer>\n )}\n </>\n ) : (\n <>\n <Container>\n <TextContainer\n flex={type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'}\n >\n <NPCDialogText\n onStartStep={() => setShowGoNextIndicator(false)}\n onEndStep={() => setShowGoNextIndicator(true)}\n text={text || 'No text provided.'}\n onClose={() => {\n if (onClose) {\n onClose();\n }\n }}\n />\n </TextContainer>\n {type === NPCDialogType.TextAndThumbnail && (\n <ThumbnailContainer>\n <NPCThumbnail src={imagePath || aliceDefaultThumbnail} />\n </ThumbnailContainer>\n )}\n </Container>\n {showGoNextIndicator && (\n <PressSpaceIndicator\n right={type === NPCDialogType.TextOnly ? '1rem' : '10.5rem'}\n src={pressSpaceGif}\n />\n )}\n </>\n )}\n </RPGUIContainer>\n </RPGUIRoot>\n );\n};\n\nconst Container = styled.div`\n display: flex;\n width: 100%;\n height: 100%;\n\n box-sizing: border-box;\n justify-content: center;\n align-items: flex-start;\n position: relative;\n`;\n\ninterface ITextContainerProps {\n flex: string;\n}\n\nconst TextContainer = styled.div<ITextContainerProps>`\n flex: ${({ flex }) => flex} 0 0;\n width: 355px;\n`;\n\nconst ThumbnailContainer = styled.div`\n flex: 30% 0 0;\n display: flex;\n justify-content: flex-end;\n`;\n\nconst NPCThumbnail = styled.img`\n image-rendering: pixelated;\n height: 128px;\n width: 128px;\n`;\n\ninterface IPressSpaceIndicatorProps {\n right: string;\n}\n\nconst PressSpaceIndicator = styled.img<IPressSpaceIndicatorProps>`\n position: absolute;\n right: ${({ right }) => right};\n bottom: 1rem;\n height: 20.7px;\n image-rendering: -webkit-optimize-contrast;\n`;\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useEventListener } from '../hooks/useEventListener';\nimport { RPGUIRoot, _RPGUI } from './RPGUIRoot';\n\nexport enum RangeSliderType {\n Slider = 'rpgui-slider',\n GoldSlider = 'rpgui-slider golden',\n}\n\nexport interface IRangeSliderProps {\n type: RangeSliderType;\n valueMin: number;\n valueMax: number;\n width: string;\n onChange: (value: number) => void;\n}\n\nexport const RangeSlider: React.FC<IRangeSliderProps> = ({\n type,\n valueMin,\n valueMax,\n width,\n onChange,\n}) => {\n const sliderId = uuidv4();\n\n const [wasMouseDownFirst, setWasMouseDownFirst] = useState<boolean>(false);\n\n useEventListener('mouseup', () => {\n if (wasMouseDownFirst) {\n onHandleMouseUp();\n }\n setWasMouseDownFirst(false);\n });\n\n const onHandleMouseUp = () => {\n const rpguiSlider = document.getElementById(`rpgui-slider-${sliderId}`);\n const value = _RPGUI.get_value(rpguiSlider);\n\n onChange(Number(value));\n };\n\n return (\n <RPGUIRoot>\n <div\n onMouseUp={onHandleMouseUp}\n onMouseDown={() => setWasMouseDownFirst(true)}\n >\n <Input\n className={\n type === RangeSliderType.Slider\n ? RangeSliderType.Slider\n : RangeSliderType.GoldSlider\n }\n type=\"range\"\n style={{ width: width }}\n min={valueMin}\n max={valueMax}\n id={`rpgui-slider-${sliderId}`}\n />\n </div>\n </RPGUIRoot>\n );\n};\n\nconst Input = styled.input`\n opacity: 0;\n`;\n"],"names":["_RPGUI","RPGUI","RPGUIRoot","children","React","className","IButtonTypes","Button","type","props","ListMenu","options","onSelected","x","y","Container","style","overflow","map","params","ListElement","key","text","onClick","id","styled","div","li","RPGUIContainerTypes","RPGUIContainer","width","height","img","chunkString","str","length","match","RegExp","DynamicText","onFinish","onStart","useState","textState","setTextState","useEffect","i","interval","setInterval","substring","clearInterval","TextContainer","p","NPCDialogText","onClose","onEndStep","onStartStep","textChunks","chunkIndex","setChunkIndex","onHandleSpacePress","event","code","hasNextChunk","prev","document","addEventListener","removeEventListener","useEventListener","handler","el","window","savedHandler","useRef","current","listener","e","QuestionDialog","questions","answers","currentQuestion","setCurrentQuestion","canShowAnswers","setCanShowAnswers","onGetFirstAnswer","answerIds","firstAnswerId","find","answer","currentAnswer","setCurrentAnswer","onGetAnswers","answerId","onKeyPress","nextAnswerIndex","findIndex","nextAnswerID","nextAnswer","previousAnswerIndex","previousAnswerID","previousAnswer","pop","nextQuestionId","question","onAnswerClick","onRenderCurrentAnswers","isSelected","selectedColor","AnswerRow","AnswerSelectedIcon","color","Answer","QuestionContainer","AnswersContainer","span","NPCDialogType","NPCDialog","imagePath","isQuestionDialog","showGoNextIndicator","setShowGoNextIndicator","FramedGold","flex","TextAndThumbnail","ThumbnailContainer","NPCThumbnail","src","aliceDefaultThumbnail","PressSpaceIndicator","right","TextOnly","pressSpaceGif","RangeSliderType","RangeSlider","valueMin","valueMax","onChange","sliderId","uuidv4","wasMouseDownFirst","setWasMouseDownFirst","onHandleMouseUp","rpguiSlider","getElementById","value","get_value","Number","onMouseUp","onMouseDown","Input","Slider","GoldSlider","min","max","input"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("react"),t=e(n)
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("react"),t=e(n);require("rpgui/rpgui.min.css"),require("rpgui/rpgui.min.js");var i,r=e(require("styled-components")),o=require("uuid"),a=RPGUI,l=function(e){return t.createElement("div",{className:"rpgui-content"},e.children)},u=["children","type"];(i=exports.IButtonTypes||(exports.IButtonTypes={})).RPGUIButton="rpgui-button",i.RPGUIGoldButton="rpgui-button golden";var s,c=r.div.withConfig({displayName:"ListMenu__Container",componentId:"sc-i9097t-0"})(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:","px;left:","px;"],(function(e){return e.y||0}),(function(e){return e.x||0})),d=r.li.withConfig({displayName:"ListMenu__ListElement",componentId:"sc-i9097t-1"})(["margin-right:0.5rem;"]);(s=exports.RPGUIContainerTypes||(exports.RPGUIContainerTypes={})).Framed="framed",s.FramedGold="framed-golden",s.FramedGold2="framed-golden-2",s.FramedGrey="framed-grey";var p=function(e){var n=e.width;return t.createElement(m,{width:void 0===n?"50%":n,height:e.height||"auto",className:"rpgui-container "+e.type},e.children)},m=r.div.withConfig({displayName:"RPGUIContainer__Container",componentId:"sc-a8l4p8-0"})(["height:",";width:",";display:flex;flex-wrap:wrap;image-rendering:pixelated;"],(function(e){return e.height}),(function(e){return e.width}));const f=require("./alice.png"),x=require("./space.gif");var g,h=function(e){var i=e.text,r=e.onFinish,o=e.onStart,a=n.useState(""),l=a[0],u=a[1];return n.useEffect((function(){var e=0,n=setInterval((function(){0===e&&o&&o(),e<i.length?(u(i.substring(0,e+1)),e++):(clearInterval(n),r&&r())}),50);return function(){clearInterval(n)}}),[i]),t.createElement(w,null,l)},w=r.p.withConfig({displayName:"DynamicText__TextContainer",componentId:"sc-1ggl9nd-0"})(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]),y=function(e){var i=e.onClose,r=e.onEndStep,o=e.onStartStep,a=e.text.match(new RegExp(".{1,85}","g")),l=n.useState(0),u=l[0],s=l[1],c=function(e){"Space"===e.code&&((null==a?void 0:a[u+1])?s((function(e){return e+1})):i())};return n.useEffect((function(){return document.addEventListener("keydown",c),function(){return document.removeEventListener("keydown",c)}}),[u]),t.createElement(v,null,t.createElement(h,{text:(null==a?void 0:a[u])||"",onFinish:r,onStart:o}))},v=r.div.withConfig({displayName:"NPCDialogText__Container",componentId:"sc-1cxkdh9-0"})([""]),C=function(e,n,i){void 0===i&&(i=window);var r=t.useRef();t.useEffect((function(){r.current=n}),[n]),t.useEffect((function(){var n=function(e){return r.current(e)};return i.addEventListener(e,n),function(){i.removeEventListener(e,n)}}),[e,i])},I=function(e){var i=e.questions,r=e.answers,o=e.onClose,a=n.useState(i[0]),l=a[0],u=a[1],s=n.useState(!1),c=s[0],d=s[1],p=function(){if(!l.answerIds||0===l.answerIds.length)return null;var e=l.answerIds[0];return r.find((function(n){return n.id===e}))},m=n.useState(p()),f=m[0],x=m[1];n.useEffect((function(){x(p())}),[l]);var g=function(e){return e.map((function(e){return r.find((function(n){return n.id===e}))}))};return C("keydown",(function(e){switch(e.key){case"ArrowDown":var n=g(l.answerIds).findIndex((function(e){return(null==e?void 0:e.id)===f.id+1})),t=l.answerIds[n],r=g(l.answerIds).find((function(e){return(null==e?void 0:e.id)===t}));x(r||p());break;case"ArrowUp":var a=g(l.answerIds).findIndex((function(e){return(null==e?void 0:e.id)===f.id-1})),s=l.answerIds&&l.answerIds[a],c=g(l.answerIds).find((function(e){return(null==e?void 0:e.id)===s}));x(c||g(l.answerIds).pop());break;case"Enter":if(d(!1),null==f||!f.nextQuestionId)return void o();u(i.find((function(e){return e.id===f.nextQuestionId})))}})),t.createElement(E,null,t.createElement(b,null,t.createElement(h,{text:l.text,onStart:function(){return d(!1)},onFinish:function(){return d(!0)}})),c&&t.createElement(N,null,function(){var e=l.answerIds;if(!e)return null;var n=g(e);return n?n.map((function(e){var n=(null==f?void 0:f.id)===(null==e?void 0:e.id),r=n?"yellow":"white";return e?t.createElement(S,{key:"answer_"+e.id},t.createElement(_,{color:r},n?"X":null),t.createElement(T,{key:e.id,onClick:function(){return function(e){d(!1),e.nextQuestionId?u(i.find((function(n){return n.id===e.nextQuestionId}))):o()}(e)},color:r},e.text)):null})):null}()))},E=r.div.withConfig({displayName:"QuestionDialog__Container",componentId:"sc-bxc5u0-0"})(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]),b=r.div.withConfig({displayName:"QuestionDialog__QuestionContainer",componentId:"sc-bxc5u0-1"})(["flex:100%;width:100%;"]),N=r.div.withConfig({displayName:"QuestionDialog__AnswersContainer",componentId:"sc-bxc5u0-2"})(["flex:100%;"]),T=r.p.withConfig({displayName:"QuestionDialog__Answer",componentId:"sc-bxc5u0-3"})(["flex:auto;color:"," !important;font-size:0.65rem !important;background:inherit;border:none;"],(function(e){return e.color})),_=r.span.withConfig({displayName:"QuestionDialog__AnswerSelectedIcon",componentId:"sc-bxc5u0-4"})(["flex:5% 0 0;color:"," !important;"],(function(e){return e.color})),S=r.div.withConfig({displayName:"QuestionDialog__AnswerRow",componentId:"sc-bxc5u0-5"})(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);(g=exports.NPCDialogType||(exports.NPCDialogType={})).TextOnly="TextOnly",g.TextAndThumbnail="TextAndThumbnail";var P,D=r.div.withConfig({displayName:"NPCDialog__Container",componentId:"sc-1b4aw74-0"})(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]),R=r.div.withConfig({displayName:"NPCDialog__TextContainer",componentId:"sc-1b4aw74-1"})(["flex:"," 0 0;width:355px;"],(function(e){return e.flex})),k=r.div.withConfig({displayName:"NPCDialog__ThumbnailContainer",componentId:"sc-1b4aw74-2"})(["flex:30% 0 0;display:flex;justify-content:flex-end;"]),G=r.img.withConfig({displayName:"NPCDialog__NPCThumbnail",componentId:"sc-1b4aw74-3"})(["image-rendering:pixelated;height:128px;width:128px;"]),Q=r.img.withConfig({displayName:"NPCDialog__PressSpaceIndicator",componentId:"sc-1b4aw74-4"})(["position:absolute;right:",";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"],(function(e){return e.right}));(P=exports.RangeSliderType||(exports.RangeSliderType={})).Slider="rpgui-slider",P.GoldSlider="rpgui-slider golden";var A=r.input.withConfig({displayName:"RangeSlider__Input",componentId:"sc-v8mte9-0"})(["opacity:0;"]);exports.Button=function(e){var n=e.children,i=e.type,r=function(e,n){if(null==e)return{};var t,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)n.indexOf(t=o[i])>=0||(r[t]=e[t]);return r}(e,u);return t.createElement(l,null,t.createElement("button",Object.assign({className:i,type:"button"},r),t.createElement("p",null,n)))},exports.DynamicText=h,exports.ListMenu=function(e){var n=e.onSelected;return t.createElement(l,null,t.createElement(c,{x:e.x,y:e.y},t.createElement("ul",{className:"rpgui-list-imp",style:{overflow:"hidden"}},e.options.map((function(e){return t.createElement(d,{key:e.text,onClick:function(){n(e.id)}},e.text)})))))},exports.NPCDialog=function(e){var i=e.text,r=e.type,o=e.onClose,a=e.imagePath,u=e.isQuestionDialog,s=void 0!==u&&u,c=e.questions,d=e.answers,m=n.useState(!1),g=m[0],h=m[1];return t.createElement(l,null,t.createElement(p,{type:exports.RPGUIContainerTypes.FramedGold,width:s?"600px":"50%",height:"180px"},s&&c&&d?t.createElement(t.Fragment,null,t.createElement(R,{flex:r===exports.NPCDialogType.TextAndThumbnail?"70%":"100%"},t.createElement(I,{questions:c,answers:d,onClose:function(){o&&o()}})),r===exports.NPCDialogType.TextAndThumbnail&&t.createElement(k,null,t.createElement(G,{src:a||f}))):t.createElement(t.Fragment,null,t.createElement(D,null,t.createElement(R,{flex:r===exports.NPCDialogType.TextAndThumbnail?"70%":"100%"},t.createElement(y,{onStartStep:function(){return h(!1)},onEndStep:function(){return h(!0)},text:i||"No text provided.",onClose:function(){o&&o()}})),r===exports.NPCDialogType.TextAndThumbnail&&t.createElement(k,null,t.createElement(G,{src:a||f}))),g&&t.createElement(Q,{right:r===exports.NPCDialogType.TextOnly?"1rem":"10.5rem",src:x}))))},exports.QuestionDialog=I,exports.RPGUIContainer=p,exports.RPGUIRoot=l,exports.RangeSlider=function(e){var i=e.type,r=e.valueMin,u=e.valueMax,s=e.width,c=e.onChange,d=o.v4(),p=n.useState(!1),m=p[0],f=p[1];C("mouseup",(function(){m&&x(),f(!1)}));var x=function(){var e=document.getElementById("rpgui-slider-"+d),n=a.get_value(e);c(Number(n))};return t.createElement(l,null,t.createElement("div",{onMouseUp:x,onMouseDown:function(){return f(!0)}},t.createElement(A,{className:i===exports.RangeSliderType.Slider?exports.RangeSliderType.Slider:exports.RangeSliderType.GoldSlider,type:"range",style:{width:s},min:r,max:u,id:"rpgui-slider-"+d})))},exports._RPGUI=a,exports.useEventListener=C;
|
|
2
2
|
//# sourceMappingURL=long-bow.cjs.production.min.js.map
|