@rpg-engine/long-bow 0.6.6 → 0.6.8

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.
@@ -144,6 +144,337 @@ var DropdownOptions = /*#__PURE__*/styled__default.ul.withConfig({
144
144
  return props.opensUp ? 'auto' : '100%';
145
145
  });
146
146
 
147
+ function _regeneratorRuntime() {
148
+ _regeneratorRuntime = function () {
149
+ return exports;
150
+ };
151
+ var exports = {},
152
+ Op = Object.prototype,
153
+ hasOwn = Op.hasOwnProperty,
154
+ defineProperty = Object.defineProperty || function (obj, key, desc) {
155
+ obj[key] = desc.value;
156
+ },
157
+ $Symbol = "function" == typeof Symbol ? Symbol : {},
158
+ iteratorSymbol = $Symbol.iterator || "@@iterator",
159
+ asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator",
160
+ toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
161
+ function define(obj, key, value) {
162
+ return Object.defineProperty(obj, key, {
163
+ value: value,
164
+ enumerable: !0,
165
+ configurable: !0,
166
+ writable: !0
167
+ }), obj[key];
168
+ }
169
+ try {
170
+ define({}, "");
171
+ } catch (err) {
172
+ define = function (obj, key, value) {
173
+ return obj[key] = value;
174
+ };
175
+ }
176
+ function wrap(innerFn, outerFn, self, tryLocsList) {
177
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,
178
+ generator = Object.create(protoGenerator.prototype),
179
+ context = new Context(tryLocsList || []);
180
+ return defineProperty(generator, "_invoke", {
181
+ value: makeInvokeMethod(innerFn, self, context)
182
+ }), generator;
183
+ }
184
+ function tryCatch(fn, obj, arg) {
185
+ try {
186
+ return {
187
+ type: "normal",
188
+ arg: fn.call(obj, arg)
189
+ };
190
+ } catch (err) {
191
+ return {
192
+ type: "throw",
193
+ arg: err
194
+ };
195
+ }
196
+ }
197
+ exports.wrap = wrap;
198
+ var ContinueSentinel = {};
199
+ function Generator() {}
200
+ function GeneratorFunction() {}
201
+ function GeneratorFunctionPrototype() {}
202
+ var IteratorPrototype = {};
203
+ define(IteratorPrototype, iteratorSymbol, function () {
204
+ return this;
205
+ });
206
+ var getProto = Object.getPrototypeOf,
207
+ NativeIteratorPrototype = getProto && getProto(getProto(values([])));
208
+ NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);
209
+ var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
210
+ function defineIteratorMethods(prototype) {
211
+ ["next", "throw", "return"].forEach(function (method) {
212
+ define(prototype, method, function (arg) {
213
+ return this._invoke(method, arg);
214
+ });
215
+ });
216
+ }
217
+ function AsyncIterator(generator, PromiseImpl) {
218
+ function invoke(method, arg, resolve, reject) {
219
+ var record = tryCatch(generator[method], generator, arg);
220
+ if ("throw" !== record.type) {
221
+ var result = record.arg,
222
+ value = result.value;
223
+ return value && "object" == typeof value && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) {
224
+ invoke("next", value, resolve, reject);
225
+ }, function (err) {
226
+ invoke("throw", err, resolve, reject);
227
+ }) : PromiseImpl.resolve(value).then(function (unwrapped) {
228
+ result.value = unwrapped, resolve(result);
229
+ }, function (error) {
230
+ return invoke("throw", error, resolve, reject);
231
+ });
232
+ }
233
+ reject(record.arg);
234
+ }
235
+ var previousPromise;
236
+ defineProperty(this, "_invoke", {
237
+ value: function (method, arg) {
238
+ function callInvokeWithMethodAndArg() {
239
+ return new PromiseImpl(function (resolve, reject) {
240
+ invoke(method, arg, resolve, reject);
241
+ });
242
+ }
243
+ return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
244
+ }
245
+ });
246
+ }
247
+ function makeInvokeMethod(innerFn, self, context) {
248
+ var state = "suspendedStart";
249
+ return function (method, arg) {
250
+ if ("executing" === state) throw new Error("Generator is already running");
251
+ if ("completed" === state) {
252
+ if ("throw" === method) throw arg;
253
+ return doneResult();
254
+ }
255
+ for (context.method = method, context.arg = arg;;) {
256
+ var delegate = context.delegate;
257
+ if (delegate) {
258
+ var delegateResult = maybeInvokeDelegate(delegate, context);
259
+ if (delegateResult) {
260
+ if (delegateResult === ContinueSentinel) continue;
261
+ return delegateResult;
262
+ }
263
+ }
264
+ if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) {
265
+ if ("suspendedStart" === state) throw state = "completed", context.arg;
266
+ context.dispatchException(context.arg);
267
+ } else "return" === context.method && context.abrupt("return", context.arg);
268
+ state = "executing";
269
+ var record = tryCatch(innerFn, self, context);
270
+ if ("normal" === record.type) {
271
+ if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue;
272
+ return {
273
+ value: record.arg,
274
+ done: context.done
275
+ };
276
+ }
277
+ "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg);
278
+ }
279
+ };
280
+ }
281
+ function maybeInvokeDelegate(delegate, context) {
282
+ var methodName = context.method,
283
+ method = delegate.iterator[methodName];
284
+ if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel;
285
+ var record = tryCatch(method, delegate.iterator, context.arg);
286
+ if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel;
287
+ var info = record.arg;
288
+ return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel);
289
+ }
290
+ function pushTryEntry(locs) {
291
+ var entry = {
292
+ tryLoc: locs[0]
293
+ };
294
+ 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);
295
+ }
296
+ function resetTryEntry(entry) {
297
+ var record = entry.completion || {};
298
+ record.type = "normal", delete record.arg, entry.completion = record;
299
+ }
300
+ function Context(tryLocsList) {
301
+ this.tryEntries = [{
302
+ tryLoc: "root"
303
+ }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);
304
+ }
305
+ function values(iterable) {
306
+ if (iterable) {
307
+ var iteratorMethod = iterable[iteratorSymbol];
308
+ if (iteratorMethod) return iteratorMethod.call(iterable);
309
+ if ("function" == typeof iterable.next) return iterable;
310
+ if (!isNaN(iterable.length)) {
311
+ var i = -1,
312
+ next = function next() {
313
+ for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;
314
+ return next.value = undefined, next.done = !0, next;
315
+ };
316
+ return next.next = next;
317
+ }
318
+ }
319
+ return {
320
+ next: doneResult
321
+ };
322
+ }
323
+ function doneResult() {
324
+ return {
325
+ value: undefined,
326
+ done: !0
327
+ };
328
+ }
329
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", {
330
+ value: GeneratorFunctionPrototype,
331
+ configurable: !0
332
+ }), defineProperty(GeneratorFunctionPrototype, "constructor", {
333
+ value: GeneratorFunction,
334
+ configurable: !0
335
+ }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) {
336
+ var ctor = "function" == typeof genFun && genFun.constructor;
337
+ return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name));
338
+ }, exports.mark = function (genFun) {
339
+ return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun;
340
+ }, exports.awrap = function (arg) {
341
+ return {
342
+ __await: arg
343
+ };
344
+ }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
345
+ return this;
346
+ }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
347
+ void 0 === PromiseImpl && (PromiseImpl = Promise);
348
+ var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
349
+ return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
350
+ return result.done ? result.value : iter.next();
351
+ });
352
+ }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () {
353
+ return this;
354
+ }), define(Gp, "toString", function () {
355
+ return "[object Generator]";
356
+ }), exports.keys = function (val) {
357
+ var object = Object(val),
358
+ keys = [];
359
+ for (var key in object) keys.push(key);
360
+ return keys.reverse(), function next() {
361
+ for (; keys.length;) {
362
+ var key = keys.pop();
363
+ if (key in object) return next.value = key, next.done = !1, next;
364
+ }
365
+ return next.done = !0, next;
366
+ };
367
+ }, exports.values = values, Context.prototype = {
368
+ constructor: Context,
369
+ reset: function (skipTempReset) {
370
+ if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);
371
+ },
372
+ stop: function () {
373
+ this.done = !0;
374
+ var rootRecord = this.tryEntries[0].completion;
375
+ if ("throw" === rootRecord.type) throw rootRecord.arg;
376
+ return this.rval;
377
+ },
378
+ dispatchException: function (exception) {
379
+ if (this.done) throw exception;
380
+ var context = this;
381
+ function handle(loc, caught) {
382
+ return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught;
383
+ }
384
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
385
+ var entry = this.tryEntries[i],
386
+ record = entry.completion;
387
+ if ("root" === entry.tryLoc) return handle("end");
388
+ if (entry.tryLoc <= this.prev) {
389
+ var hasCatch = hasOwn.call(entry, "catchLoc"),
390
+ hasFinally = hasOwn.call(entry, "finallyLoc");
391
+ if (hasCatch && hasFinally) {
392
+ if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
393
+ if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
394
+ } else if (hasCatch) {
395
+ if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
396
+ } else {
397
+ if (!hasFinally) throw new Error("try statement without catch or finally");
398
+ if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
399
+ }
400
+ }
401
+ }
402
+ },
403
+ abrupt: function (type, arg) {
404
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
405
+ var entry = this.tryEntries[i];
406
+ if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
407
+ var finallyEntry = entry;
408
+ break;
409
+ }
410
+ }
411
+ finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);
412
+ var record = finallyEntry ? finallyEntry.completion : {};
413
+ return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);
414
+ },
415
+ complete: function (record, afterLoc) {
416
+ if ("throw" === record.type) throw record.arg;
417
+ return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;
418
+ },
419
+ finish: function (finallyLoc) {
420
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
421
+ var entry = this.tryEntries[i];
422
+ if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;
423
+ }
424
+ },
425
+ catch: function (tryLoc) {
426
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
427
+ var entry = this.tryEntries[i];
428
+ if (entry.tryLoc === tryLoc) {
429
+ var record = entry.completion;
430
+ if ("throw" === record.type) {
431
+ var thrown = record.arg;
432
+ resetTryEntry(entry);
433
+ }
434
+ return thrown;
435
+ }
436
+ }
437
+ throw new Error("illegal catch attempt");
438
+ },
439
+ delegateYield: function (iterable, resultName, nextLoc) {
440
+ return this.delegate = {
441
+ iterator: values(iterable),
442
+ resultName: resultName,
443
+ nextLoc: nextLoc
444
+ }, "next" === this.method && (this.arg = undefined), ContinueSentinel;
445
+ }
446
+ }, exports;
447
+ }
448
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
449
+ try {
450
+ var info = gen[key](arg);
451
+ var value = info.value;
452
+ } catch (error) {
453
+ reject(error);
454
+ return;
455
+ }
456
+ if (info.done) {
457
+ resolve(value);
458
+ } else {
459
+ Promise.resolve(value).then(_next, _throw);
460
+ }
461
+ }
462
+ function _asyncToGenerator(fn) {
463
+ return function () {
464
+ var self = this,
465
+ args = arguments;
466
+ return new Promise(function (resolve, reject) {
467
+ var gen = fn.apply(self, args);
468
+ function _next(value) {
469
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
470
+ }
471
+ function _throw(err) {
472
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
473
+ }
474
+ _next(undefined);
475
+ });
476
+ };
477
+ }
147
478
  function _extends() {
148
479
  _extends = Object.assign ? Object.assign.bind() : function (target) {
149
480
  for (var i = 1; i < arguments.length; i++) {
@@ -17512,6 +17843,100 @@ var PagerContainer$1 = /*#__PURE__*/styled__default.div.withConfig({
17512
17843
  componentId: "sc-h904b1-0"
17513
17844
  })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
17514
17845
 
17846
+ var TabBody = function TabBody(_ref) {
17847
+ var id = _ref.id,
17848
+ children = _ref.children,
17849
+ styles = _ref.styles;
17850
+ return React__default.createElement(Container$o, {
17851
+ styles: styles,
17852
+ "data-tab-id": id
17853
+ }, children);
17854
+ };
17855
+ var Container$o = /*#__PURE__*/styled__default.div.withConfig({
17856
+ displayName: "TabBody__Container",
17857
+ componentId: "sc-196oof2-0"
17858
+ })(["width:100%;height:", ";overflow-y:auto;"], function (props) {
17859
+ var _props$styles;
17860
+ return ((_props$styles = props.styles) == null ? void 0 : _props$styles.height) || 'auto';
17861
+ });
17862
+
17863
+ var Tab$1 = function Tab(_ref) {
17864
+ var active = _ref.active,
17865
+ label = _ref.label,
17866
+ onPointerDown = _ref.onPointerDown,
17867
+ type = _ref.type;
17868
+ return React__default.createElement(CustomTab, {
17869
+ activeTab: active,
17870
+ onPointerDown: onPointerDown,
17871
+ className: type
17872
+ }, React__default.createElement("p", null, label));
17873
+ };
17874
+ var CustomTab = /*#__PURE__*/styled__default.div.withConfig({
17875
+ displayName: "Tab__CustomTab",
17876
+ componentId: "sc-qw5dfu-0"
17877
+ })(["width:120px;color:white;font-size:0.8rem;&.gray{border-left:0.25rem solid rgba(0,0,0,0.25);border-right:0.25rem solid rgba(0,0,0,0.25);border-top:0.25rem solid rgba(0,0,0,0.25);border-bottom:", ";background:", ";}&.brown{border-left:0.25rem solid #996d55;border-right:0.25rem solid #996d55;border-top:0.25rem solid #996d55;border-bottom:", ";background:", ";}margin-right:10px;p{text-align:center;font-size:0.6rem;opacity:", ";}border-radius:5px 5px 0 0;position:relative;top:0.3rem;"], function (props) {
17878
+ return props.activeTab ? '' : '0.25rem solid rgba(0, 0, 0, 0.25)';
17879
+ }, function (props) {
17880
+ return props.activeTab ? '#4E4A4E' : '#2b292b';
17881
+ }, function (props) {
17882
+ return props.activeTab ? '' : '0.25rem solid #996d55';
17883
+ }, function (props) {
17884
+ return props.activeTab ? '#BF886A' : '#B67051';
17885
+ }, function (props) {
17886
+ return props.activeTab ? '1' : '0.5';
17887
+ });
17888
+
17889
+ (function (MultitabType) {
17890
+ MultitabType["Brown"] = "brown";
17891
+ MultitabType["Gray"] = "gray";
17892
+ })(exports.MultitabType || (exports.MultitabType = {}));
17893
+ var TabsContainer = function TabsContainer(_ref) {
17894
+ var children = _ref.children,
17895
+ onCloseButton = _ref.onCloseButton,
17896
+ tabs = _ref.tabs,
17897
+ _ref$type = _ref.type,
17898
+ type = _ref$type === void 0 ? exports.MultitabType.Brown : _ref$type;
17899
+ var _useState = React.useState(tabs[0].id),
17900
+ selectedTab = _useState[0],
17901
+ setSelectedTab = _useState[1]; //by default the first one
17902
+ var onRenderTabs = function onRenderTabs() {
17903
+ return tabs.map(function (tab, index) {
17904
+ return React__default.createElement(Tab$1, {
17905
+ type: type,
17906
+ active: selectedTab === tab.id,
17907
+ label: tab.label,
17908
+ key: tab.label + "_" + index,
17909
+ onPointerDown: function onPointerDown() {
17910
+ return setSelectedTab(tab.id);
17911
+ }
17912
+ });
17913
+ });
17914
+ };
17915
+ var onGetContainerType = function onGetContainerType() {
17916
+ switch (type) {
17917
+ case exports.MultitabType.Brown:
17918
+ return exports.RPGUIContainerTypes.FramedGold;
17919
+ case exports.MultitabType.Gray:
17920
+ return exports.RPGUIContainerTypes.Framed;
17921
+ default:
17922
+ return exports.RPGUIContainerTypes.Framed;
17923
+ }
17924
+ };
17925
+ return React__default.createElement(DraggableContainer, {
17926
+ onCloseButton: onCloseButton,
17927
+ type: onGetContainerType()
17928
+ }, onRenderTabs(), React__default.createElement(BodyContainer, {
17929
+ selectedTab: selectedTab,
17930
+ className: type
17931
+ }, children));
17932
+ };
17933
+ var BodyContainer = /*#__PURE__*/styled__default.div.withConfig({
17934
+ displayName: "TabsContainer__BodyContainer",
17935
+ componentId: "sc-s81iap-0"
17936
+ })(["display:flex;width:100%;height:100%;justify-content:space-between;& > *:not([data-tab-id=", "]){display:none;}&.brown{border:0.25rem solid #996D55;background-color:#BF886A;}&.gray{border:0.25rem solid rgba(0,0,0,0.25);background-color:#4E4A4E;}border-radius:5px;padding:0.5rem;"], function (props) {
17937
+ return props.selectedTab;
17938
+ });
17939
+
17515
17940
  var PartyCreate = function PartyCreate(_ref) {
17516
17941
  var onClose = _ref.onClose,
17517
17942
  onCreate = _ref.onCreate;
@@ -17965,7 +18390,7 @@ var ProgressBar = function ProgressBar(_ref) {
17965
18390
  }
17966
18391
  return value * 100 / max;
17967
18392
  };
17968
- return React__default.createElement(Container$o, {
18393
+ return React__default.createElement(Container$p, {
17969
18394
  className: "rpgui-progress",
17970
18395
  "data-value": calculatePercentageValue(max, value) / 100,
17971
18396
  "data-rpguitype": "progress",
@@ -17995,7 +18420,7 @@ var TextOverlay$1 = /*#__PURE__*/styled__default.div.withConfig({
17995
18420
  displayName: "ProgressBar__TextOverlay",
17996
18421
  componentId: "sc-qa6fzh-1"
17997
18422
  })(["width:100%;position:relative;"]);
17998
- var Container$o = /*#__PURE__*/styled__default.div.withConfig({
18423
+ var Container$p = /*#__PURE__*/styled__default.div.withConfig({
17999
18424
  displayName: "ProgressBar__Container",
18000
18425
  componentId: "sc-qa6fzh-2"
18001
18426
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", " @media (max-width:950px){transform:scale(", ");}"], function (props) {
@@ -18177,9 +18602,9 @@ var NoQuestContainer = /*#__PURE__*/styled__default.div.withConfig({
18177
18602
 
18178
18603
  var RPGUIScrollbar = function RPGUIScrollbar(_ref) {
18179
18604
  var children = _ref.children;
18180
- return React__default.createElement(Container$p, null, children);
18605
+ return React__default.createElement(Container$q, null, children);
18181
18606
  };
18182
- var Container$p = /*#__PURE__*/styled__default.div.withConfig({
18607
+ var Container$q = /*#__PURE__*/styled__default.div.withConfig({
18183
18608
  displayName: "RPGUIScrollbar__Container",
18184
18609
  componentId: "sc-p3msmb-0"
18185
18610
  })([".rpgui-content ::-webkit-scrollbar,.rpgui-content::-webkit-scrollbar{width:25px !important;}.rpgui-content ::-webkit-scrollbar-track,.rpgui-content::-webkit-scrollbar-track{background-size:25px 60px !important;}"]);
@@ -18365,7 +18790,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
18365
18790
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
18366
18791
  _ref$margin = _ref.margin,
18367
18792
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
18368
- return React__default.createElement(Container$q, {
18793
+ return React__default.createElement(Container$r, {
18369
18794
  className: "simple-progress-bar"
18370
18795
  }, React__default.createElement(ProgressBarContainer, {
18371
18796
  margin: margin
@@ -18374,7 +18799,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
18374
18799
  bgColor: bgColor
18375
18800
  }))));
18376
18801
  };
18377
- var Container$q = /*#__PURE__*/styled__default.div.withConfig({
18802
+ var Container$r = /*#__PURE__*/styled__default.div.withConfig({
18378
18803
  displayName: "SimpleProgressBar__Container",
18379
18804
  componentId: "sc-mbeil3-0"
18380
18805
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -18668,7 +19093,7 @@ var SpellInfo = function SpellInfo(_ref) {
18668
19093
  castingType = spell.castingType,
18669
19094
  cooldown = spell.cooldown,
18670
19095
  maxDistanceGrid = spell.maxDistanceGrid;
18671
- return React__default.createElement(Container$r, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$9, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
19096
+ return React__default.createElement(Container$s, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$9, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
18672
19097
  className: "label"
18673
19098
  }, "Casting Type:"), React__default.createElement("div", {
18674
19099
  className: "value"
@@ -18694,7 +19119,7 @@ var SpellInfo = function SpellInfo(_ref) {
18694
19119
  className: "value"
18695
19120
  }, requiredItem))), React__default.createElement(Description$2, null, description));
18696
19121
  };
18697
- var Container$r = /*#__PURE__*/styled__default.div.withConfig({
19122
+ var Container$s = /*#__PURE__*/styled__default.div.withConfig({
18698
19123
  displayName: "SpellInfo__Container",
18699
19124
  componentId: "sc-4hbw3q-0"
18700
19125
  })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:30rem;@media (max-width:580px){width:80vw;}"], uiFonts.size.small, uiColors.lightGray);
@@ -18748,7 +19173,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
18748
19173
  var _ref$current;
18749
19174
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
18750
19175
  };
18751
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$s, {
19176
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$t, {
18752
19177
  ref: ref,
18753
19178
  onTouchEnd: function onTouchEnd() {
18754
19179
  handleFadeOut();
@@ -18773,7 +19198,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
18773
19198
  }, option.text);
18774
19199
  }))));
18775
19200
  };
18776
- var Container$s = /*#__PURE__*/styled__default.div.withConfig({
19201
+ var Container$t = /*#__PURE__*/styled__default.div.withConfig({
18777
19202
  displayName: "MobileSpellTooltip__Container",
18778
19203
  componentId: "sc-6p7uvr-0"
18779
19204
  })(["position:absolute;z-index:100;left:0;top:0;width:100vw;height:100vh;background-color:rgba(0 0 0 / 0.5);display:flex;justify-content:center;align-items:center;gap:0.5rem;transition:opacity 0.08s;animation:fadeIn 0.1s forwards;@keyframes fadeIn{0%{opacity:0;}100%{opacity:0.92;}}@keyframes fadeOut{0%{opacity:0.92;}100%{opacity:0;}}&.fadeOut{animation:fadeOut 0.1s forwards;}@media (max-width:580px){flex-direction:column;}"]);
@@ -18814,13 +19239,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
18814
19239
  }
18815
19240
  return;
18816
19241
  }, []);
18817
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$t, {
19242
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$u, {
18818
19243
  ref: ref
18819
19244
  }, React__default.createElement(SpellInfoDisplay, {
18820
19245
  spell: spell
18821
19246
  })));
18822
19247
  };
18823
- var Container$t = /*#__PURE__*/styled__default.div.withConfig({
19248
+ var Container$u = /*#__PURE__*/styled__default.div.withConfig({
18824
19249
  displayName: "SpellTooltip__Container",
18825
19250
  componentId: "sc-1go0gwg-0"
18826
19251
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -18880,7 +19305,7 @@ var Spell = function Spell(_ref) {
18880
19305
  var IMAGE_SCALE = 2;
18881
19306
  return React__default.createElement(SpellInfoWrapper, {
18882
19307
  spell: spell
18883
- }, React__default.createElement(Container$u, {
19308
+ }, React__default.createElement(Container$v, {
18884
19309
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
18885
19310
  isSettingShortcut: isSettingShortcut && !disabled,
18886
19311
  className: "spell"
@@ -18899,7 +19324,7 @@ var Spell = function Spell(_ref) {
18899
19324
  className: "mana"
18900
19325
  }, manaCost))));
18901
19326
  };
18902
- var Container$u = /*#__PURE__*/styled__default.button.withConfig({
19327
+ var Container$v = /*#__PURE__*/styled__default.button.withConfig({
18903
19328
  displayName: "Spell__Container",
18904
19329
  componentId: "sc-j96fa2-0"
18905
19330
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -18978,7 +19403,7 @@ var Spellbook = function Spellbook(_ref) {
18978
19403
  height: "inherit",
18979
19404
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
18980
19405
  scale: scale
18981
- }, React__default.createElement(Container$v, null, React__default.createElement(Title$b, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
19406
+ }, React__default.createElement(Container$w, null, React__default.createElement(Title$b, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
18982
19407
  setSettingShortcutIndex: setSettingShortcutIndex,
18983
19408
  settingShortcutIndex: settingShortcutIndex,
18984
19409
  shortcuts: shortcuts,
@@ -19014,7 +19439,7 @@ var Title$b = /*#__PURE__*/styled__default.h1.withConfig({
19014
19439
  displayName: "Spellbook__Title",
19015
19440
  componentId: "sc-r02nfq-0"
19016
19441
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
19017
- var Container$v = /*#__PURE__*/styled__default.div.withConfig({
19442
+ var Container$w = /*#__PURE__*/styled__default.div.withConfig({
19018
19443
  displayName: "Spellbook__Container",
19019
19444
  componentId: "sc-r02nfq-1"
19020
19445
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -19026,15 +19451,61 @@ var SpellList = /*#__PURE__*/styled__default.div.withConfig({
19026
19451
  var Stepper = function Stepper(_ref) {
19027
19452
  var _steps$currentStep;
19028
19453
  var steps = _ref.steps,
19029
- finalCTAButton = _ref.finalCTAButton;
19454
+ finalCTAButton = _ref.finalCTAButton,
19455
+ onError = _ref.onError;
19030
19456
  var _useState = React.useState(0),
19031
19457
  currentStep = _useState[0],
19032
19458
  setCurrentStep = _useState[1];
19033
19459
  var currentComponent = (_steps$currentStep = steps[currentStep]) == null ? void 0 : _steps$currentStep.component;
19034
19460
  var totalSteps = steps.length;
19035
- var onStepChange = function onStepChange(step) {
19036
- setCurrentStep(step);
19037
- };
19461
+ var onStepChange = /*#__PURE__*/function () {
19462
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(step) {
19463
+ var _steps$currentStep2;
19464
+ var isValid;
19465
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
19466
+ while (1) switch (_context.prev = _context.next) {
19467
+ case 0:
19468
+ if (!((_steps$currentStep2 = steps[currentStep]) != null && _steps$currentStep2.validate)) {
19469
+ _context.next = 14;
19470
+ break;
19471
+ }
19472
+ _context.prev = 1;
19473
+ _context.next = 4;
19474
+ return steps[currentStep].validate();
19475
+ case 4:
19476
+ isValid = _context.sent;
19477
+ if (isValid) {
19478
+ _context.next = 8;
19479
+ break;
19480
+ }
19481
+ // If the current step is not valid, prevent navigation and trigger onError
19482
+ if (onError) {
19483
+ onError(steps[currentStep].errorMessage || "Validation failed on step " + (currentStep + 1));
19484
+ }
19485
+ return _context.abrupt("return");
19486
+ case 8:
19487
+ _context.next = 14;
19488
+ break;
19489
+ case 10:
19490
+ _context.prev = 10;
19491
+ _context.t0 = _context["catch"](1);
19492
+ // Handle unexpected validation errors
19493
+ if (onError) {
19494
+ onError("An error occurred during validation on step " + (currentStep + 1));
19495
+ }
19496
+ return _context.abrupt("return");
19497
+ case 14:
19498
+ setCurrentStep(step);
19499
+ case 15:
19500
+ case "end":
19501
+ return _context.stop();
19502
+ }
19503
+ }, _callee, null, [[1, 10]]);
19504
+ }));
19505
+ return function onStepChange(_x) {
19506
+ return _ref2.apply(this, arguments);
19507
+ };
19508
+ }();
19038
19509
  return React__default.createElement(StepperContainer, {
19039
19510
  className: "stepper-container"
19040
19511
  }, React__default.createElement(StepperTop, null, Array.from({
@@ -19059,7 +19530,7 @@ var Stepper = function Stepper(_ref) {
19059
19530
  }
19060
19531
  }), currentStep === totalSteps - 1 && finalCTAButton && React__default.createElement(Button, {
19061
19532
  buttonType: exports.ButtonTypes.RPGUIButton,
19062
- onPointerDown: finalCTAButton.onClick
19533
+ onClick: finalCTAButton.onClick
19063
19534
  }, finalCTAButton.label)));
19064
19535
  };
19065
19536
  var StepperContainer = /*#__PURE__*/styled__default.div.withConfig({
@@ -19081,11 +19552,11 @@ var StepperFooter = /*#__PURE__*/styled__default.div.withConfig({
19081
19552
  var ProgressIndicator = /*#__PURE__*/styled__default.div.withConfig({
19082
19553
  displayName: "Stepper__ProgressIndicator",
19083
19554
  componentId: "sc-13obf1-4"
19084
- })(["width:20px;height:20px;border-radius:50%;background-color:", ";margin:0 5px;transition:background-color 0.3s;opacity:", ";border:1px solid ", ";cursor:pointer;"], function (_ref2) {
19085
- var isActive = _ref2.isActive;
19086
- return isActive ? uiColors.orange : uiColors.lightGray;
19087
- }, function (_ref3) {
19555
+ })(["width:20px;height:20px;border-radius:50%;background-color:", ";margin:0 5px;transition:background-color 0.3s;opacity:", ";border:1px solid ", ";cursor:pointer;"], function (_ref3) {
19088
19556
  var isActive = _ref3.isActive;
19557
+ return isActive ? uiColors.orange : uiColors.lightGray;
19558
+ }, function (_ref4) {
19559
+ var isActive = _ref4.isActive;
19089
19560
  return isActive ? 1 : 0.25;
19090
19561
  }, uiColors.raisinBlack);
19091
19562
 
@@ -19426,11 +19897,11 @@ var Truncate = function Truncate(_ref) {
19426
19897
  var _ref$maxLines = _ref.maxLines,
19427
19898
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
19428
19899
  children = _ref.children;
19429
- return React__default.createElement(Container$w, {
19900
+ return React__default.createElement(Container$x, {
19430
19901
  maxLines: maxLines
19431
19902
  }, children);
19432
19903
  };
19433
- var Container$w = /*#__PURE__*/styled__default.div.withConfig({
19904
+ var Container$x = /*#__PURE__*/styled__default.div.withConfig({
19434
19905
  displayName: "Truncate__Container",
19435
19906
  componentId: "sc-6x00qb-0"
19436
19907
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
@@ -19576,6 +20047,8 @@ exports.SkillsContainer = SkillsContainer;
19576
20047
  exports.Spellbook = Spellbook;
19577
20048
  exports.SpriteFromAtlas = SpriteFromAtlas;
19578
20049
  exports.Stepper = Stepper;
20050
+ exports.TabBody = TabBody;
20051
+ exports.TabsContainer = TabsContainer;
19579
20052
  exports.TextArea = TextArea;
19580
20053
  exports.TimeWidget = TimeWidget;
19581
20054
  exports.TradingMenu = TradingMenu;