bc-deeplib 1.1.3 → 1.2.0
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/README.md +26 -2
- package/dist/deeplib.d.ts +67 -18
- package/dist/deeplib.js +274 -71
- package/dist/deeplib.js.map +3 -3
- package/dist/public/dl_translations/en.lang +10 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/lib/build.js +13 -0
- package/package.json +1 -1
- package/dist/3rd_party_types/bcmodsdk.d.ts +0 -184
- package/dist/3rd_party_types/declarations.d.ts +0 -4
- package/dist/index.js +0 -2556
- package/dist/index.js.map +0 -7
- package/dist/public/dl_images/cog.svg +0 -1
- package/dist/public/dl_images/round_arrow_left.svg +0 -1
- package/dist/public/dl_images/round_arrow_right.svg +0 -1
- package/dist/public/dl_images/round_transfer.svg +0 -7
package/dist/deeplib.js
CHANGED
|
@@ -361,6 +361,12 @@ var BaseSubscreen = class _BaseSubscreen {
|
|
|
361
361
|
get currentPage() {
|
|
362
362
|
return this.pageStructure[Math.min(_BaseSubscreen.currentPage - 1, this.pageStructure.length - 1)];
|
|
363
363
|
}
|
|
364
|
+
getPageLabel() {
|
|
365
|
+
return CommonStringPartitionReplace(getText("settings.page.label"), {
|
|
366
|
+
$currentPage$: `${_BaseSubscreen.currentPage}`,
|
|
367
|
+
$totalPages$: `${this.pageStructure.length}`
|
|
368
|
+
}).join("");
|
|
369
|
+
}
|
|
364
370
|
/**
|
|
365
371
|
* Changes the visible page in a multi-page subscreen.
|
|
366
372
|
* Automatically wraps around when going past the first or last page.
|
|
@@ -371,7 +377,7 @@ var BaseSubscreen = class _BaseSubscreen {
|
|
|
371
377
|
if (page < 1) page = totalPages;
|
|
372
378
|
_BaseSubscreen.currentPage = page;
|
|
373
379
|
this.managePageElementsVisibility();
|
|
374
|
-
setLabel(
|
|
380
|
+
setLabel(this.getPageLabel());
|
|
375
381
|
}
|
|
376
382
|
/**
|
|
377
383
|
* Updates the DOM to show only elements belonging to the current page.
|
|
@@ -419,7 +425,7 @@ var BaseSubscreen = class _BaseSubscreen {
|
|
|
419
425
|
initialNextTooltip: getText("settings.button.next_button_hint"),
|
|
420
426
|
back: /* @__PURE__ */ __name(({ setLabel }) => this.changePage(_BaseSubscreen.currentPage - 1, setLabel), "back"),
|
|
421
427
|
initialPrevTooltip: getText("settings.button.prev_button_hint"),
|
|
422
|
-
initialLabel:
|
|
428
|
+
initialLabel: this.getPageLabel()
|
|
423
429
|
});
|
|
424
430
|
ElementMenu.PrependItem(menu, backNext);
|
|
425
431
|
}
|
|
@@ -432,11 +438,13 @@ var BaseSubscreen = class _BaseSubscreen {
|
|
|
432
438
|
const exitButton = advElement.createButton({
|
|
433
439
|
id: "deeplib-exit",
|
|
434
440
|
size: [90, 90],
|
|
435
|
-
image: `${PUBLIC_URL}/dl_images/exit.svg`,
|
|
436
441
|
onClick: /* @__PURE__ */ __name(() => {
|
|
437
442
|
this.exit();
|
|
438
443
|
}, "onClick"),
|
|
439
|
-
|
|
444
|
+
options: {
|
|
445
|
+
image: `${PUBLIC_URL}/dl_images/exit.svg`,
|
|
446
|
+
tooltip: getText("settings.button.back_button_hint")
|
|
447
|
+
}
|
|
440
448
|
});
|
|
441
449
|
ElementMenu.AppendButton(menu, exitButton);
|
|
442
450
|
}
|
|
@@ -519,9 +527,10 @@ var BaseSubscreen = class _BaseSubscreen {
|
|
|
519
527
|
ElementSetPosition(advElement.getTooltip() || "", 250, 850);
|
|
520
528
|
ElementSetSize(advElement.getTooltip() || "", 1500, 70);
|
|
521
529
|
_BaseSubscreen.currentElements.forEach((item) => {
|
|
530
|
+
const element = item[0];
|
|
522
531
|
const options = item[1];
|
|
523
|
-
domUtil.autoSetPosition(options.id, options.position);
|
|
524
|
-
domUtil.autoSetSize(options.id, options.size);
|
|
532
|
+
domUtil.autoSetPosition(options.id ?? element.id, options.position);
|
|
533
|
+
domUtil.autoSetSize(options.id ?? element.id, options.size);
|
|
525
534
|
});
|
|
526
535
|
if (settingsDiv) {
|
|
527
536
|
if (domUtil.hasOverflow(settingsDiv)?.vertical) {
|
|
@@ -548,6 +557,7 @@ var styles_default = `.deeplib-subscreen,
|
|
|
548
557
|
--deeplib-background-color: var(--tmd-main, white);
|
|
549
558
|
--deeplib-element-color: var(--tmd-element, white);
|
|
550
559
|
--deeplib-element-hover-color: var(--tmd-element-hover, cyan);
|
|
560
|
+
--deeplib-accent-color: var(--tmd-accent, #FFFF88);
|
|
551
561
|
--deeplib-blocked-color: var(--tmd-blocked, red);
|
|
552
562
|
--deeplib-text-color: var(--tmd-text, black);
|
|
553
563
|
--deeplib-icon-color: var(--tmd-accent, black);
|
|
@@ -690,6 +700,25 @@ var styles_default = `.deeplib-subscreen,
|
|
|
690
700
|
gap: min(2dvh, 1dvw);
|
|
691
701
|
}
|
|
692
702
|
|
|
703
|
+
#deeplib-storage-meter {
|
|
704
|
+
position: absolute;
|
|
705
|
+
top: 0px;
|
|
706
|
+
left: 0px;
|
|
707
|
+
width: 100%;
|
|
708
|
+
height: 100%;
|
|
709
|
+
overflow: hidden;
|
|
710
|
+
background-color: var(--deeplib-element-color);
|
|
711
|
+
border: var(--deeplib-border-width) solid var(--deeplib-border-color);
|
|
712
|
+
border-radius: var(--deeplib-border-radius);
|
|
713
|
+
z-index: -1;
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
#deeplib-storage-bar {
|
|
717
|
+
height: 100%;
|
|
718
|
+
width: 0%;
|
|
719
|
+
background: var(--deeplib-accent-color);
|
|
720
|
+
}
|
|
721
|
+
|
|
693
722
|
.deeplib-checkbox-container {
|
|
694
723
|
display: flex;
|
|
695
724
|
flex-direction: row;
|
|
@@ -829,6 +858,12 @@ input[type=number] {
|
|
|
829
858
|
.deeplib-modal .deeplib-modal-button-container .deeplib-button .button-label {
|
|
830
859
|
display: contents;
|
|
831
860
|
}
|
|
861
|
+
.deeplib-modal .deeplib-modal-prompt-container {
|
|
862
|
+
display: flex;
|
|
863
|
+
flex-direction: column;
|
|
864
|
+
justify-content: center;
|
|
865
|
+
align-items: center;
|
|
866
|
+
}
|
|
832
867
|
|
|
833
868
|
.deeplib-modal-blocker {
|
|
834
869
|
z-index: 1000;
|
|
@@ -839,12 +874,13 @@ input[type=number] {
|
|
|
839
874
|
height: 100dvh;
|
|
840
875
|
background-color: rgba(0, 0, 0, 0.5);
|
|
841
876
|
}
|
|
842
|
-
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL21lZGlhL05WTUUvU3R1ZmYvQ29kZS9CQy9CQy1EZWVwTGliL3NyYy9zdHlsZXMiLCJzb3VyY2VzIjpbInZhcnMuc2NzcyIsImJ1dHRvbnMuc2NzcyIsImVsZW1lbnRzLnNjc3MiLCJpbnB1dHMuc2NzcyIsIm1lc3NhZ2VzLnNjc3MiLCJtb2RhbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ2JGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQzNDRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU1FO0VBQ0E7O0FBTkE7RUFDRTtFQUNBOztBQU9KO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUN0RkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQzdERjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUM3QkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFNUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLmRlZXBsaWItc3Vic2NyZWVuLFxuLmRlZXBsaWItbW9kYWwge1xuICAtLWRlZXBsaWItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdG1kLW1haW4sIHdoaXRlKTtcbiAgLS1kZWVwbGliLWVsZW1lbnQtY29sb3I6IHZhcigtLXRtZC1lbGVtZW50LCB3aGl0ZSk7XG4gIC0tZGVlcGxpYi1lbGVtZW50LWhvdmVyLWNvbG9yOiB2YXIoLS10bWQtZWxlbWVudC1ob3ZlciwgY3lhbik7XG4gIC0tZGVlcGxpYi1ibG9ja2VkLWNvbG9yOiB2YXIoLS10bWQtYmxvY2tlZCwgcmVkKTtcbiAgLS1kZWVwbGliLXRleHQtY29sb3I6IHZhcigtLXRtZC10ZXh0LCBibGFjayk7XG4gIC0tZGVlcGxpYi1pY29uLWNvbG9yOiB2YXIoLS10bWQtYWNjZW50LCBibGFjayk7XG4gIC0tZGVlcGxpYi1pY29uLWhvdmVyLWNvbG9yOiB2YXIoLS10bWQtYWNjZW50LWhvdmVyLCBibGFjayk7XG4gIC0tZGVlcGxpYi1ib3JkZXItY29sb3I6IHZhcigtLXRtZC1hY2NlbnQsIGJsYWNrKTtcbiAgLS1kZWVwbGliLWJvcmRlci13aWR0aDogbWluKDAuMnZoLCAwLjF2dyk7XG4gIC0tZGVlcGxpYi1ib3JkZXItd2lkdGg6IG1pbigwLjJkdmgsIDAuMWR2dyk7XG4gIC0tZGVlcGxpYi1ib3JkZXItcmFkaXVzOiBtaW4oMXZoLCAwLjV2dyk7XG4gIC0tZGVlcGxpYi1ib3JkZXItcmFkaXVzOiBtaW4oMWR2aCwgMC41ZHZ3KTtcbn1cbiIsIi5kZWVwbGliLWJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1kZWVwbGliLXRleHQtY29sb3IpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZGVlcGxpYi1idXR0b24uYnV0dG9uLXN0eWxpbmcsXG4uZGVlcGxpYi1idXR0b24uYnV0dG9uLXN0eWxpbmc6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG59XG5cbi5kZWVwbGliLWJ1dHRvbiBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kZWVwbGliLWljb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIG1hc2stcG9zaXRpb246IGxlZnQ7XG4gIG1hc2stc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltYWdlKTtcbiAgbWFzay1pbWFnZTogdmFyKC0taW1hZ2UpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRlZXBsaWItYnV0dG9uOmhvdmVyIGltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRlZXBsaWItaWNvbi1ob3Zlci1jb2xvcik7XG59XG5cbi5kZWVwbGliLWJ1dHRvbiAuYnV0dG9uLWxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWRlZXBsaWItdGV4dC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogbWluKDMuNmR2aCwgMS44ZHZ3KTtcbn1cblxuLmRlZXBsaWItYnV0dG9uIC5idXR0b24tdG9vbHRpcCB7XG4gIGJvcmRlci1yYWRpdXM6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG59XG4iLCIjZGVlcGxpYi1wYWdlLWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNkZWVwbGliLXN1YnNjcmVlbi10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiB2YXIoLS1kZWVwbGliLXRleHQtY29sb3IpO1xufVxuXG4uZGVlcGxpYi10ZXh0IHtcbiAgY29sb3I6IHZhcigtLWRlZXBsaWItdGV4dC1jb2xvcik7XG59XG5cbi5kZWVwbGliLXN1YnNjcmVlbiB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kZWVwbGliLXN1YnNjcmVlbiAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuLmRlZXBsaWItc2V0dGluZ3Mge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tcm93czogbWluLWNvbnRlbnQ7XG4gIHBhZGRpbmc6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG4gIGdhcDogMC4zZW07XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLmRlZXBsaWItbWlzYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgZ2FwOiBtaW4oMXZoLCAwLjV2dyk7XG59XG5cbi5kZWVwbGliLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kZWVwbGliLWVsZW1lbnQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tZGVlcGxpYi10ZXh0LWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG4gIHBhZGRpbmc6IG1pbigxdmgsIDAuNXZ3KTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgYm9yZGVyOiBtaW4oMC4ydmgsIDAuMXZ3KSBzb2xpZCB2YXIoLS1kZWVwbGliLWJvcmRlci1jb2xvcik7XG59XG5cbi5kZWVwbGliLW92ZXJmbG93LWJveCB7XG4gIGJvcmRlcjogdmFyKC0tZGVlcGxpYi1ib3JkZXItY29sb3IpIHNvbGlkIHZhcigtLWRlZXBsaWItYm9yZGVyLXdpZHRoKTtcbn1cblxuLmRlZXBsaWItcHJldi1uZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IG1pbigyZHZoLCAxZHZ3KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGVlcGxpYi1lbGVtZW50LWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLWRlZXBsaWItdGV4dC1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG4gIGJvcmRlcjogbWluKDAuMnZoLCAwLjF2dykgc29saWQgdmFyKC0tZGVlcGxpYi1ib3JkZXItY29sb3IpO1xuXG4gIC5kZWVwbGliLXByZXYtbmV4dC1idXR0b24ge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGVlcGxpYi1lbGVtZW50LWhvdmVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXBsaWItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICAgIFxuICAgIGhlaWdodDogMTAwJTtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gIH1cblxuICAuZGVlcGxpYi1wcmV2LW5leHQtbGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuI2RlZXBsaWItbmF2LW1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IG1pbigyZHZoLCAxZHZ3KTtcbn0iLCIuZGVlcGxpYi1jaGVja2JveC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuM2VtO1xufVxuXG4uZGVlcGxpYi1jaGVja2JveC1jb250YWluZXIgaW5wdXQuZGVlcGxpYi1pbnB1dCB7XG4gIHdpZHRoOiBtaW4oNXZoLCAyLjV2dyk7XG4gIGhlaWdodDogbWluKDV2aCwgMi41dncpO1xuICBib3JkZXItcmFkaXVzOiBtaW4oMS4wZHZoLCAwLjVkdncpO1xufVxuXG4uZGVlcGxpYi1jaGVja2JveC1jb250YWluZXIgaW5wdXQuZGVlcGxpYi1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDo6YmVmb3JlIHtcbiAgd2lkdGg6IDgwJTtcbiAgaGVpZ2h0OiA4MCU7XG59XG5cbi5kZWVwbGliLWlucHV0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4zZW07XG59XG5cbi5kZWVwbGliLWlucHV0LWNvbnRhaW5lcjpoYXMobGFiZWwuZGVlcGxpYi10ZXh0KSB7XG4gIG1hcmdpbi10b3A6IG1pbigxdmgsIDAuNXZ3KTtcbn1cblxuLmRlZXBsaWItaW5wdXQtY29udGFpbmVyIGlucHV0LmRlZXBsaWItaW5wdXQge1xuICBmb250LXNpemU6IDAuNmVtO1xuICBwYWRkaW5nOiA1cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogbWluKDF2aCwgMC41dncpO1xuICBwYWRkaW5nLXJpZ2h0OiBtaW4oMXZoLCAwLjV2dyk7XG4gIG1pbi1oZWlnaHQ6IG1pbig1ZHZoLCAyLjVkdncpO1xuICBib3JkZXItcmFkaXVzOiBtaW4oMS4wZHZoLCAwLjVkdncpO1xufVxuXG5cbi5kZWVwbGliLWlucHV0LWNvbnRhaW5lciBpbnB1dC5kZWVwbGliLWlucHV0W3R5cGU9XCJjb2xvclwiXSB7XG4gIHBhZGRpbmc6IDBweDtcbiAgd2lkdGg6IG1pbig1dmgsIDIuNXZ3KTtcbiAgaGVpZ2h0OiBtaW4oNXZoLCAyLjV2dyk7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cblxuLmRlZXBsaWItaW5wdXQtY29udGFpbmVyIGlucHV0LmRlZXBsaWItaW5wdXRbdHlwZT1cImNvbG9yXCJdOmRpc2FibGVkIHtcbiAgYm9yZGVyOiB2YXIoLS1kZWVwbGliLWJsb2NrZWQtY29sb3IpIHNvbGlkIHZhcigtLWRlZXBsaWItYm9yZGVyLXdpZHRoKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuIiwiLmRlZXBsaWItaGlnaGxpZ2h0LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYigyMDMsIDE4NSwgMjMpO1xufVxuXG4jVGV4dEFyZWFDaGF0TG9nW2RhdGEtY29sb3J0aGVtZT0nZGFyayddIGRpdi5DaGF0TWVzc2FnZS5kZWVwbGliLW1lc3NhZ2UsXG4jVGV4dEFyZWFDaGF0TG9nW2RhdGEtY29sb3J0aGVtZT0nZGFyazInXSBkaXYuQ2hhdE1lc3NhZ2UuZGVlcGxpYi1tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGVlcGxpYi1lbGVtZW50LWNvbG9yKTtcbiAgYm9yZGVyOiBtaW4oMC4yZHZoLCAwLjFkdncpIHNvbGlkIHZhcigtLWRlZXBsaWItYm9yZGVyLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLWRlZXBsaWItdGV4dC1jb2xvcik7XG59XG5cbiNUZXh0QXJlYUNoYXRMb2cgZGl2LkNoYXRNZXNzYWdlLmRlZXBsaWItbWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlcjogbWluKDAuMmR2aCwgMC4xZHZ3KSBzb2xpZCAjNDQwMTcxO1xuICBjb2xvcjogIzExMTtcbiAgcGFkZGluZy1sZWZ0OiBtaW4oMC42ZHZoLCAwLjNkdncpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuI1RleHRBcmVhQ2hhdExvZ1tkYXRhLWNvbG9ydGhlbWU9J2RhcmsnXSBkaXYuQ2hhdE1lc3NhZ2UuZGVlcGxpYi1tZXNzYWdlIGEsXG4jVGV4dEFyZWFDaGF0TG9nW2RhdGEtY29sb3J0aGVtZT0nZGFyazInXSBkaXYuQ2hhdE1lc3NhZ2UuZGVlcGxpYi1tZXNzYWdlIGEge1xuICBjb2xvcjogdmFyKC0tZGVlcGxpYi10ZXh0LWNvbG9yKTtcbn1cblxuI1RleHRBcmVhQ2hhdExvZyBkaXYuQ2hhdE1lc3NhZ2UuZGVlcGxpYi1tZXNzYWdlIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzExMTtcbn1cbiIsIi5kZWVwbGliLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDEwMDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNWVtO1xuICB3aWR0aDogbWF4KDUwZHZ3LCAyNWR2aCk7XG4gIGZvbnQtc2l6ZTogbWluKDRkdmgsIDJkdncpO1xuICBwYWRkaW5nOiBtaW4oMmR2aCwgMWR2dyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRlZXBsaWItZWxlbWVudC1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IG1pbigxLjJkdmgsIDAuNmR2dyk7XG4gIGJvcmRlcjogbWluKDAuMmR2aCwgMC4xZHZ3KSBzb2xpZCB2YXIoLS1kZWVwbGliLWJvcmRlci1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1kZWVwbGliLXRleHQtY29sb3IpO1xuXG4gIC5kZWVwbGliLW1vZGFsLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IG1pbigyLjZkdmgsIDEuOGR2dyk7XG4gICAgYm9yZGVyLXJhZGl1czogbWluKDEuMGR2aCwgMC41ZHZ3KTtcbiAgICBwYWRkaW5nOiBtaW4oMWR2aCwgMC41ZHZ3KTtcbiAgfVxuXG4gIGlucHV0LmRlZXBsaWItbW9kYWwtaW5wdXQge1xuICAgIG1heC13aWR0aDogbWF4KDUwZHZoLCAyNWR2dyk7XG4gIH1cblxuICAuZGVlcGxpYi1tb2RhbC1idXR0b24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDAuNWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmRlZXBsaWItYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiBtaW4oMC40dmgsIDAuMnZ3KSBtaW4oMnZoLCAxdncpO1xuXG4gICAgICAuYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kZWVwbGliLW1vZGFsLWJsb2NrZXIge1xuICB6LWluZGV4OiAxMDAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMGR2dztcbiAgaGVpZ2h0OiAxMDBkdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbiJdfQ== */`;
|
|
877
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL21lZGlhL05WTUUvU3R1ZmYvQ29kZS9CQy9CQy1EZWVwTGliL3NyYy9zdHlsZXMiLCJzb3VyY2VzIjpbInZhcnMuc2NzcyIsImJ1dHRvbnMuc2NzcyIsImVsZW1lbnRzLnNjc3MiLCJpbnB1dHMuc2NzcyIsIm1lc3NhZ2VzLnNjc3MiLCJtb2RhbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDZEY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDM0NGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBTUU7RUFDQTs7QUFOQTtFQUNFO0VBQ0E7O0FBT0o7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUN6R0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQzdERjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUM3QkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyIuZGVlcGxpYi1zdWJzY3JlZW4sXG4uZGVlcGxpYi1tb2RhbCB7XG4gIC0tZGVlcGxpYi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10bWQtbWFpbiwgd2hpdGUpO1xuICAtLWRlZXBsaWItZWxlbWVudC1jb2xvcjogdmFyKC0tdG1kLWVsZW1lbnQsIHdoaXRlKTtcbiAgLS1kZWVwbGliLWVsZW1lbnQtaG92ZXItY29sb3I6IHZhcigtLXRtZC1lbGVtZW50LWhvdmVyLCBjeWFuKTtcbiAgLS1kZWVwbGliLWFjY2VudC1jb2xvcjogdmFyKC0tdG1kLWFjY2VudCwgI0ZGRkY4OCk7XG4gIC0tZGVlcGxpYi1ibG9ja2VkLWNvbG9yOiB2YXIoLS10bWQtYmxvY2tlZCwgcmVkKTtcbiAgLS1kZWVwbGliLXRleHQtY29sb3I6IHZhcigtLXRtZC10ZXh0LCBibGFjayk7XG4gIC0tZGVlcGxpYi1pY29uLWNvbG9yOiB2YXIoLS10bWQtYWNjZW50LCBibGFjayk7XG4gIC0tZGVlcGxpYi1pY29uLWhvdmVyLWNvbG9yOiB2YXIoLS10bWQtYWNjZW50LWhvdmVyLCBibGFjayk7XG4gIC0tZGVlcGxpYi1ib3JkZXItY29sb3I6IHZhcigtLXRtZC1hY2NlbnQsIGJsYWNrKTtcbiAgLS1kZWVwbGliLWJvcmRlci13aWR0aDogbWluKDAuMnZoLCAwLjF2dyk7XG4gIC0tZGVlcGxpYi1ib3JkZXItd2lkdGg6IG1pbigwLjJkdmgsIDAuMWR2dyk7XG4gIC0tZGVlcGxpYi1ib3JkZXItcmFkaXVzOiBtaW4oMXZoLCAwLjV2dyk7XG4gIC0tZGVlcGxpYi1ib3JkZXItcmFkaXVzOiBtaW4oMWR2aCwgMC41ZHZ3KTtcbn1cbiIsIi5kZWVwbGliLWJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1kZWVwbGliLXRleHQtY29sb3IpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZGVlcGxpYi1idXR0b24uYnV0dG9uLXN0eWxpbmcsXG4uZGVlcGxpYi1idXR0b24uYnV0dG9uLXN0eWxpbmc6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG59XG5cbi5kZWVwbGliLWJ1dHRvbiBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kZWVwbGliLWljb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIG1hc2stcG9zaXRpb246IGxlZnQ7XG4gIG1hc2stc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltYWdlKTtcbiAgbWFzay1pbWFnZTogdmFyKC0taW1hZ2UpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRlZXBsaWItYnV0dG9uOmhvdmVyIGltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRlZXBsaWItaWNvbi1ob3Zlci1jb2xvcik7XG59XG5cbi5kZWVwbGliLWJ1dHRvbiAuYnV0dG9uLWxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWRlZXBsaWItdGV4dC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogbWluKDMuNmR2aCwgMS44ZHZ3KTtcbn1cblxuLmRlZXBsaWItYnV0dG9uIC5idXR0b24tdG9vbHRpcCB7XG4gIGJvcmRlci1yYWRpdXM6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG59XG4iLCIjZGVlcGxpYi1wYWdlLWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNkZWVwbGliLXN1YnNjcmVlbi10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiB2YXIoLS1kZWVwbGliLXRleHQtY29sb3IpO1xufVxuXG4uZGVlcGxpYi10ZXh0IHtcbiAgY29sb3I6IHZhcigtLWRlZXBsaWItdGV4dC1jb2xvcik7XG59XG5cbi5kZWVwbGliLXN1YnNjcmVlbiB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kZWVwbGliLXN1YnNjcmVlbiAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuLmRlZXBsaWItc2V0dGluZ3Mge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tcm93czogbWluLWNvbnRlbnQ7XG4gIHBhZGRpbmc6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG4gIGdhcDogMC4zZW07XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLmRlZXBsaWItbWlzYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgZ2FwOiBtaW4oMXZoLCAwLjV2dyk7XG59XG5cbi5kZWVwbGliLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kZWVwbGliLWVsZW1lbnQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tZGVlcGxpYi10ZXh0LWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG4gIHBhZGRpbmc6IG1pbigxdmgsIDAuNXZ3KTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgYm9yZGVyOiBtaW4oMC4ydmgsIDAuMXZ3KSBzb2xpZCB2YXIoLS1kZWVwbGliLWJvcmRlci1jb2xvcik7XG59XG5cbi5kZWVwbGliLW92ZXJmbG93LWJveCB7XG4gIGJvcmRlcjogdmFyKC0tZGVlcGxpYi1ib3JkZXItY29sb3IpIHNvbGlkIHZhcigtLWRlZXBsaWItYm9yZGVyLXdpZHRoKTtcbn1cblxuLmRlZXBsaWItcHJldi1uZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IG1pbigyZHZoLCAxZHZ3KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGVlcGxpYi1lbGVtZW50LWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLWRlZXBsaWItdGV4dC1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG4gIGJvcmRlcjogbWluKDAuMnZoLCAwLjF2dykgc29saWQgdmFyKC0tZGVlcGxpYi1ib3JkZXItY29sb3IpO1xuXG4gIC5kZWVwbGliLXByZXYtbmV4dC1idXR0b24ge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGVlcGxpYi1lbGVtZW50LWhvdmVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXBsaWItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICAgIFxuICAgIGhlaWdodDogMTAwJTtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gIH1cblxuICAuZGVlcGxpYi1wcmV2LW5leHQtbGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuI2RlZXBsaWItbmF2LW1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IG1pbigyZHZoLCAxZHZ3KTtcbn1cblxuI2RlZXBsaWItc3RvcmFnZS1tZXRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGVlcGxpYi1lbGVtZW50LWNvbG9yKTtcbiAgYm9yZGVyOiB2YXIoLS1kZWVwbGliLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tZGVlcGxpYi1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVwbGliLWJvcmRlci1yYWRpdXMpO1xuICB6LWluZGV4OiAtMTtcbn1cblxuI2RlZXBsaWItc3RvcmFnZS1iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tZGVlcGxpYi1hY2NlbnQtY29sb3IpO1xufVxuIiwiLmRlZXBsaWItY2hlY2tib3gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjNlbTtcbn1cblxuLmRlZXBsaWItY2hlY2tib3gtY29udGFpbmVyIGlucHV0LmRlZXBsaWItaW5wdXQge1xuICB3aWR0aDogbWluKDV2aCwgMi41dncpO1xuICBoZWlnaHQ6IG1pbig1dmgsIDIuNXZ3KTtcbiAgYm9yZGVyLXJhZGl1czogbWluKDEuMGR2aCwgMC41ZHZ3KTtcbn1cblxuLmRlZXBsaWItY2hlY2tib3gtY29udGFpbmVyIGlucHV0LmRlZXBsaWItaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6OmJlZm9yZSB7XG4gIHdpZHRoOiA4MCU7XG4gIGhlaWdodDogODAlO1xufVxuXG4uZGVlcGxpYi1pbnB1dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuM2VtO1xufVxuXG4uZGVlcGxpYi1pbnB1dC1jb250YWluZXI6aGFzKGxhYmVsLmRlZXBsaWItdGV4dCkge1xuICBtYXJnaW4tdG9wOiBtaW4oMXZoLCAwLjV2dyk7XG59XG5cbi5kZWVwbGliLWlucHV0LWNvbnRhaW5lciBpbnB1dC5kZWVwbGliLWlucHV0IHtcbiAgZm9udC1zaXplOiAwLjZlbTtcbiAgcGFkZGluZzogNXB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IG1pbigxdmgsIDAuNXZ3KTtcbiAgcGFkZGluZy1yaWdodDogbWluKDF2aCwgMC41dncpO1xuICBtaW4taGVpZ2h0OiBtaW4oNWR2aCwgMi41ZHZ3KTtcbiAgYm9yZGVyLXJhZGl1czogbWluKDEuMGR2aCwgMC41ZHZ3KTtcbn1cblxuXG4uZGVlcGxpYi1pbnB1dC1jb250YWluZXIgaW5wdXQuZGVlcGxpYi1pbnB1dFt0eXBlPVwiY29sb3JcIl0ge1xuICBwYWRkaW5nOiAwcHg7XG4gIHdpZHRoOiBtaW4oNXZoLCAyLjV2dyk7XG4gIGhlaWdodDogbWluKDV2aCwgMi41dncpO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbi5kZWVwbGliLWlucHV0LWNvbnRhaW5lciBpbnB1dC5kZWVwbGliLWlucHV0W3R5cGU9XCJjb2xvclwiXTpkaXNhYmxlZCB7XG4gIGJvcmRlcjogdmFyKC0tZGVlcGxpYi1ibG9ja2VkLWNvbG9yKSBzb2xpZCB2YXIoLS1kZWVwbGliLWJvcmRlci13aWR0aCk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cbiIsIi5kZWVwbGliLWhpZ2hsaWdodC10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2IoMjAzLCAxODUsIDIzKTtcbn1cblxuI1RleHRBcmVhQ2hhdExvZ1tkYXRhLWNvbG9ydGhlbWU9J2RhcmsnXSBkaXYuQ2hhdE1lc3NhZ2UuZGVlcGxpYi1tZXNzYWdlLFxuI1RleHRBcmVhQ2hhdExvZ1tkYXRhLWNvbG9ydGhlbWU9J2RhcmsyJ10gZGl2LkNoYXRNZXNzYWdlLmRlZXBsaWItbWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRlZXBsaWItZWxlbWVudC1jb2xvcik7XG4gIGJvcmRlcjogbWluKDAuMmR2aCwgMC4xZHZ3KSBzb2xpZCB2YXIoLS1kZWVwbGliLWJvcmRlci1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1kZWVwbGliLXRleHQtY29sb3IpO1xufVxuXG4jVGV4dEFyZWFDaGF0TG9nIGRpdi5DaGF0TWVzc2FnZS5kZWVwbGliLW1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBib3JkZXI6IG1pbigwLjJkdmgsIDAuMWR2dykgc29saWQgIzQ0MDE3MTtcbiAgY29sb3I6ICMxMTE7XG4gIHBhZGRpbmctbGVmdDogbWluKDAuNmR2aCwgMC4zZHZ3KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbiNUZXh0QXJlYUNoYXRMb2dbZGF0YS1jb2xvcnRoZW1lPSdkYXJrJ10gZGl2LkNoYXRNZXNzYWdlLmRlZXBsaWItbWVzc2FnZSBhLFxuI1RleHRBcmVhQ2hhdExvZ1tkYXRhLWNvbG9ydGhlbWU9J2RhcmsyJ10gZGl2LkNoYXRNZXNzYWdlLmRlZXBsaWItbWVzc2FnZSBhIHtcbiAgY29sb3I6IHZhcigtLWRlZXBsaWItdGV4dC1jb2xvcik7XG59XG5cbiNUZXh0QXJlYUNoYXRMb2cgZGl2LkNoYXRNZXNzYWdlLmRlZXBsaWItbWVzc2FnZSBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMxMTE7XG59XG4iLCIuZGVlcGxpYi1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB6LWluZGV4OiAxMDAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVlbTtcbiAgd2lkdGg6IG1heCg1MGR2dywgMjVkdmgpO1xuICBmb250LXNpemU6IG1pbig0ZHZoLCAyZHZ3KTtcbiAgcGFkZGluZzogbWluKDJkdmgsIDFkdncpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kZWVwbGliLWVsZW1lbnQtY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiBtaW4oMS4yZHZoLCAwLjZkdncpO1xuICBib3JkZXI6IG1pbigwLjJkdmgsIDAuMWR2dykgc29saWQgdmFyKC0tZGVlcGxpYi1ib3JkZXItY29sb3IpO1xuICBjb2xvcjogdmFyKC0tZGVlcGxpYi10ZXh0LWNvbG9yKTtcblxuICAuZGVlcGxpYi1tb2RhbC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiBtaW4oMi42ZHZoLCAxLjhkdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IG1pbigxLjBkdmgsIDAuNWR2dyk7XG4gICAgcGFkZGluZzogbWluKDFkdmgsIDAuNWR2dyk7XG4gIH1cblxuICBpbnB1dC5kZWVwbGliLW1vZGFsLWlucHV0IHtcbiAgICBtYXgtd2lkdGg6IG1heCg1MGR2aCwgMjVkdncpO1xuICB9XG5cbiAgLmRlZXBsaWItbW9kYWwtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAwLjVlbTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5kZWVwbGliLWJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogbWluKDAuNHZoLCAwLjJ2dykgbWluKDJ2aCwgMXZ3KTtcblxuICAgICAgLmJ1dHRvbi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kZWVwbGliLW1vZGFsLXByb21wdC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi5kZWVwbGliLW1vZGFsLWJsb2NrZXIge1xuICB6LWluZGV4OiAxMDAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMGR2dztcbiAgaGVpZ2h0OiAxMDBkdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbiJdfQ== */`;
|
|
843
878
|
|
|
844
879
|
// src/base/initialization.ts
|
|
845
880
|
var modStorage;
|
|
881
|
+
var sdk;
|
|
846
882
|
function initMod(options) {
|
|
847
|
-
|
|
883
|
+
sdk = new ModSdkManager(options.modInfo.info, options.modInfo.options);
|
|
848
884
|
const MOD_NAME = ModSdkManager.ModInfo.name;
|
|
849
885
|
modStorage = new ModStorage(ModSdkManager.ModInfo.name);
|
|
850
886
|
Style.injectInline("deeplib-style", styles_default);
|
|
@@ -865,7 +901,6 @@ function initMod(options) {
|
|
|
865
901
|
deepLibLogger.debug(`Already logged in, initing ${MOD_NAME}`);
|
|
866
902
|
init(options);
|
|
867
903
|
}
|
|
868
|
-
return { sdk };
|
|
869
904
|
}
|
|
870
905
|
__name(initMod, "initMod");
|
|
871
906
|
async function init(options) {
|
|
@@ -1396,6 +1431,7 @@ function hasSetter(obj, prop) {
|
|
|
1396
1431
|
return false;
|
|
1397
1432
|
}
|
|
1398
1433
|
__name(hasSetter, "hasSetter");
|
|
1434
|
+
var byteToKB = /* @__PURE__ */ __name((nByte) => Math.round(nByte / 100) / 10, "byteToKB");
|
|
1399
1435
|
|
|
1400
1436
|
// src/utilities/elements/elements.ts
|
|
1401
1437
|
var advElement = {
|
|
@@ -1410,19 +1446,23 @@ var advElement = {
|
|
|
1410
1446
|
createBackNext: elementPrevNext
|
|
1411
1447
|
};
|
|
1412
1448
|
function elementCreateButton(options) {
|
|
1449
|
+
options.id ??= ElementGenerateID();
|
|
1413
1450
|
const elem = document.getElementById(options.id);
|
|
1414
1451
|
if (elem) return elem;
|
|
1415
1452
|
options.type = "button";
|
|
1453
|
+
let image = void 0;
|
|
1454
|
+
if (options.options?.image) {
|
|
1455
|
+
image = options.options.image;
|
|
1456
|
+
options.options.image = void 0;
|
|
1457
|
+
}
|
|
1416
1458
|
const disabled = typeof options?.disabled === "function" ? options?.disabled() : options?.disabled;
|
|
1417
1459
|
const button = ElementButton.Create(
|
|
1418
|
-
options.
|
|
1419
|
-
options
|
|
1460
|
+
options.id,
|
|
1461
|
+
options?.onClick ?? (() => {
|
|
1420
1462
|
}),
|
|
1421
1463
|
deepMerge({
|
|
1422
|
-
tooltip: options.tooltip,
|
|
1423
|
-
label: options.label,
|
|
1424
1464
|
labelPosition: "center"
|
|
1425
|
-
}, options.
|
|
1465
|
+
}, options.options),
|
|
1426
1466
|
deepMerge({
|
|
1427
1467
|
button: {
|
|
1428
1468
|
classList: ["deeplib-button"],
|
|
@@ -1430,7 +1470,7 @@ function elementCreateButton(options) {
|
|
|
1430
1470
|
disabled
|
|
1431
1471
|
},
|
|
1432
1472
|
children: [
|
|
1433
|
-
|
|
1473
|
+
image ? {
|
|
1434
1474
|
tag: "img",
|
|
1435
1475
|
attributes: {
|
|
1436
1476
|
id: `${options.id}-image`,
|
|
@@ -1441,12 +1481,12 @@ function elementCreateButton(options) {
|
|
|
1441
1481
|
// 1x1 transparent image to get rid of broken image
|
|
1442
1482
|
},
|
|
1443
1483
|
style: {
|
|
1444
|
-
"--image": `url("${
|
|
1484
|
+
"--image": `url("${image}")`
|
|
1445
1485
|
}
|
|
1446
1486
|
} : void 0
|
|
1447
1487
|
]
|
|
1448
1488
|
}
|
|
1449
|
-
}, options.htmlOptions
|
|
1489
|
+
}, options.htmlOptions ?? {})
|
|
1450
1490
|
);
|
|
1451
1491
|
BaseSubscreen.currentElements.push([button, options]);
|
|
1452
1492
|
return button;
|
|
@@ -1639,7 +1679,6 @@ function elementPrevNext(options) {
|
|
|
1639
1679
|
children: [
|
|
1640
1680
|
advElement.createButton({
|
|
1641
1681
|
id: `deeplib-prev-next-${options.id}-prev-button`,
|
|
1642
|
-
image: `${PUBLIC_URL}/dl_images/arrow_left.svg`,
|
|
1643
1682
|
onClick: /* @__PURE__ */ __name(() => {
|
|
1644
1683
|
options.back({
|
|
1645
1684
|
setLabel,
|
|
@@ -1647,16 +1686,15 @@ function elementPrevNext(options) {
|
|
|
1647
1686
|
setNextTooltip
|
|
1648
1687
|
});
|
|
1649
1688
|
}, "onClick"),
|
|
1650
|
-
tooltip: options.initialPrevTooltip,
|
|
1651
1689
|
htmlOptions: {
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
classList: ["deeplib-prev-next-button"]
|
|
1655
|
-
}
|
|
1656
|
-
},
|
|
1657
|
-
options: {
|
|
1658
|
-
noStyling: true
|
|
1690
|
+
button: {
|
|
1691
|
+
classList: ["deeplib-prev-next-button"]
|
|
1659
1692
|
}
|
|
1693
|
+
},
|
|
1694
|
+
options: {
|
|
1695
|
+
noStyling: true,
|
|
1696
|
+
image: `${PUBLIC_URL}/dl_images/arrow_left.svg`,
|
|
1697
|
+
tooltip: options.initialPrevTooltip
|
|
1660
1698
|
}
|
|
1661
1699
|
}),
|
|
1662
1700
|
advElement.createLabel({
|
|
@@ -1668,7 +1706,6 @@ function elementPrevNext(options) {
|
|
|
1668
1706
|
}),
|
|
1669
1707
|
advElement.createButton({
|
|
1670
1708
|
id: `deeplib-prev-next-${options.id}-next-button`,
|
|
1671
|
-
image: `${PUBLIC_URL}/dl_images/arrow_right.svg`,
|
|
1672
1709
|
onClick: /* @__PURE__ */ __name(() => {
|
|
1673
1710
|
options.next({
|
|
1674
1711
|
setLabel,
|
|
@@ -1676,16 +1713,15 @@ function elementPrevNext(options) {
|
|
|
1676
1713
|
setNextTooltip
|
|
1677
1714
|
});
|
|
1678
1715
|
}, "onClick"),
|
|
1679
|
-
tooltip: options.initialNextTooltip,
|
|
1680
1716
|
htmlOptions: {
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
classList: ["deeplib-prev-next-button"]
|
|
1684
|
-
}
|
|
1685
|
-
},
|
|
1686
|
-
options: {
|
|
1687
|
-
noStyling: true
|
|
1717
|
+
button: {
|
|
1718
|
+
classList: ["deeplib-prev-next-button"]
|
|
1688
1719
|
}
|
|
1720
|
+
},
|
|
1721
|
+
options: {
|
|
1722
|
+
noStyling: true,
|
|
1723
|
+
image: `${PUBLIC_URL}/dl_images/arrow_right.svg`,
|
|
1724
|
+
tooltip: options.initialNextTooltip
|
|
1689
1725
|
}
|
|
1690
1726
|
})
|
|
1691
1727
|
]
|
|
@@ -1699,6 +1735,7 @@ var Modal = class _Modal {
|
|
|
1699
1735
|
opts ??= {};
|
|
1700
1736
|
opts.closeOnBackdrop ??= true;
|
|
1701
1737
|
const promptId = `modal-prompt-${Date.now()}`;
|
|
1738
|
+
const prompt = (CommonIsArray(opts.prompt) ? opts.prompt : [opts.prompt]).filter((i) => i != null) ?? [""];
|
|
1702
1739
|
this.dialog = ElementCreate({
|
|
1703
1740
|
tag: "dialog",
|
|
1704
1741
|
classList: ["deeplib-modal"],
|
|
@@ -1711,7 +1748,13 @@ var Modal = class _Modal {
|
|
|
1711
1748
|
fontFamily: CommonGetFontName()
|
|
1712
1749
|
},
|
|
1713
1750
|
children: [
|
|
1714
|
-
|
|
1751
|
+
{
|
|
1752
|
+
tag: "div",
|
|
1753
|
+
classList: ["deeplib-modal-prompt-container"],
|
|
1754
|
+
children: [
|
|
1755
|
+
...prompt
|
|
1756
|
+
]
|
|
1757
|
+
},
|
|
1715
1758
|
{
|
|
1716
1759
|
tag: "div",
|
|
1717
1760
|
classList: ["deeplib-modal-prompt"],
|
|
@@ -1754,22 +1797,39 @@ var Modal = class _Modal {
|
|
|
1754
1797
|
* Shows a simple alert modal with a single "OK" button.
|
|
1755
1798
|
*/
|
|
1756
1799
|
static async alert(msg, timeoutMs) {
|
|
1757
|
-
await new _Modal({
|
|
1800
|
+
await new _Modal({
|
|
1801
|
+
prompt: msg,
|
|
1802
|
+
buttons: [{ action: "close", text: getText("modal.button.ok") }],
|
|
1803
|
+
timeoutMs,
|
|
1804
|
+
escapeAction: "close"
|
|
1805
|
+
}).show();
|
|
1758
1806
|
}
|
|
1759
1807
|
/**
|
|
1760
1808
|
* Shows a confirmation modal with "Cancel" and "OK" buttons.
|
|
1761
1809
|
* Returns true if "OK" is clicked.
|
|
1762
1810
|
*/
|
|
1763
1811
|
static async confirm(msg) {
|
|
1764
|
-
const [action] = await new _Modal({
|
|
1765
|
-
|
|
1812
|
+
const [action] = await new _Modal({
|
|
1813
|
+
prompt: msg,
|
|
1814
|
+
buttons: [{ text: getText("modal.button.decline"), action: "decline" }, { text: getText("modal.button.confirm"), action: "confirm" }],
|
|
1815
|
+
escapeAction: "decline",
|
|
1816
|
+
enterAction: "confirm"
|
|
1817
|
+
}).show();
|
|
1818
|
+
return action === "confirm";
|
|
1766
1819
|
}
|
|
1767
1820
|
/**
|
|
1768
1821
|
* Shows a prompt modal with an input field and "Submit"/"Cancel" buttons.
|
|
1769
1822
|
* Returns the input value if submitted, otherwise null.
|
|
1770
1823
|
*/
|
|
1771
1824
|
static async prompt(msg, defaultValue = "") {
|
|
1772
|
-
const [action, value] = await new _Modal({
|
|
1825
|
+
const [action, value] = await new _Modal({
|
|
1826
|
+
prompt: msg,
|
|
1827
|
+
timeoutMs: 0,
|
|
1828
|
+
input: { type: "input", defaultValue },
|
|
1829
|
+
buttons: [{ text: getText("modal.button.cancel"), action: "cancel" }, { text: getText("modal.button.submit"), action: "submit" }],
|
|
1830
|
+
escapeAction: "cancel",
|
|
1831
|
+
enterAction: "submit"
|
|
1832
|
+
}).show();
|
|
1773
1833
|
return action === "submit" ? value : null;
|
|
1774
1834
|
}
|
|
1775
1835
|
/** Creates the input element for the modal, applying configuration and validation. */
|
|
@@ -1794,10 +1854,12 @@ var Modal = class _Modal {
|
|
|
1794
1854
|
const btns = this.opts.buttons ? [...this.opts.buttons] : [];
|
|
1795
1855
|
btns.forEach((b) => {
|
|
1796
1856
|
const btn = advElement.createButton({
|
|
1797
|
-
label: b.text,
|
|
1798
1857
|
id: `deeplib-modal-${b.action}`,
|
|
1799
|
-
|
|
1800
|
-
|
|
1858
|
+
onClick: /* @__PURE__ */ __name(() => this.close(b.action), "onClick"),
|
|
1859
|
+
options: {
|
|
1860
|
+
disabled: b.disabled,
|
|
1861
|
+
label: b.text
|
|
1862
|
+
}
|
|
1801
1863
|
});
|
|
1802
1864
|
container.append(btn);
|
|
1803
1865
|
});
|
|
@@ -1837,7 +1899,12 @@ var Modal = class _Modal {
|
|
|
1837
1899
|
}
|
|
1838
1900
|
} else if (e.key === "Escape") {
|
|
1839
1901
|
e.stopPropagation();
|
|
1840
|
-
this.close("close");
|
|
1902
|
+
this.close(this.opts.escapeAction ?? "close");
|
|
1903
|
+
} else if (e.key === "Enter") {
|
|
1904
|
+
if (elements.some((el) => el === document.activeElement) && document.activeElement !== this.inputEl) return;
|
|
1905
|
+
e.preventDefault();
|
|
1906
|
+
e.stopPropagation();
|
|
1907
|
+
this.close(this.opts.enterAction ?? "submit");
|
|
1841
1908
|
}
|
|
1842
1909
|
});
|
|
1843
1910
|
window.requestAnimationFrame(() => {
|
|
@@ -1901,11 +1968,13 @@ var MainMenu = class _MainMenu extends BaseSubscreen {
|
|
|
1901
1968
|
const exitButton = advElement.createButton({
|
|
1902
1969
|
id: "exit",
|
|
1903
1970
|
size: [90, 90],
|
|
1904
|
-
image: `${PUBLIC_URL}/dl_images/exit.svg`,
|
|
1905
1971
|
onClick: /* @__PURE__ */ __name(() => {
|
|
1906
1972
|
this.exit();
|
|
1907
1973
|
}, "onClick"),
|
|
1908
|
-
|
|
1974
|
+
options: {
|
|
1975
|
+
image: `${PUBLIC_URL}/dl_images/exit.svg`,
|
|
1976
|
+
tooltip: getText("settings.button.back_button_hint")
|
|
1977
|
+
}
|
|
1909
1978
|
});
|
|
1910
1979
|
const menu = document.getElementById("deeplib-nav-menu");
|
|
1911
1980
|
if (menu) {
|
|
@@ -1915,12 +1984,14 @@ var MainMenu = class _MainMenu extends BaseSubscreen {
|
|
|
1915
1984
|
if (screen.name == "mainmenu") continue;
|
|
1916
1985
|
const button = advElement.createButton({
|
|
1917
1986
|
id: `${screen.name}-button`,
|
|
1918
|
-
image: screen.icon,
|
|
1919
|
-
label: getText(`mainmenu.button.${screen.name}`),
|
|
1920
1987
|
onClick: /* @__PURE__ */ __name(() => {
|
|
1921
1988
|
this.setSubscreen(screen);
|
|
1922
1989
|
}, "onClick"),
|
|
1923
|
-
size: [null, 90]
|
|
1990
|
+
size: [null, 90],
|
|
1991
|
+
options: {
|
|
1992
|
+
image: screen.icon,
|
|
1993
|
+
label: getText(`mainmenu.button.${screen.name}`)
|
|
1994
|
+
}
|
|
1924
1995
|
});
|
|
1925
1996
|
layout.appendToSettingsDiv(button);
|
|
1926
1997
|
}
|
|
@@ -1929,59 +2000,107 @@ var MainMenu = class _MainMenu extends BaseSubscreen {
|
|
|
1929
2000
|
if (_MainMenu.options.wikiLink) {
|
|
1930
2001
|
const wikiButton = advElement.createButton({
|
|
1931
2002
|
id: "deeplib-wiki-button",
|
|
1932
|
-
image: `${PUBLIC_URL}/dl_images/notebook.svg`,
|
|
1933
|
-
label: getText("mainmenu.button.wiki"),
|
|
1934
2003
|
onClick: /* @__PURE__ */ __name(() => {
|
|
1935
2004
|
window.open(_MainMenu.options.wikiLink, "_blank");
|
|
1936
2005
|
}, "onClick"),
|
|
1937
|
-
size: [null, 80]
|
|
2006
|
+
size: [null, 80],
|
|
2007
|
+
options: {
|
|
2008
|
+
image: `${PUBLIC_URL}/dl_images/notebook.svg`,
|
|
2009
|
+
label: getText("mainmenu.button.wiki")
|
|
2010
|
+
}
|
|
1938
2011
|
});
|
|
1939
2012
|
layout.appendToMiscDiv(wikiButton);
|
|
1940
2013
|
}
|
|
1941
2014
|
if (_MainMenu.options.repoLink) {
|
|
1942
2015
|
const repoButton = advElement.createButton({
|
|
1943
2016
|
id: "deeplib-repo-button",
|
|
1944
|
-
image: `${PUBLIC_URL}/dl_images/git.svg`,
|
|
1945
|
-
label: getText("mainmenu.button.repo"),
|
|
1946
2017
|
onClick: /* @__PURE__ */ __name(() => {
|
|
1947
2018
|
window.open(_MainMenu.options.repoLink, "_blank");
|
|
1948
2019
|
}, "onClick"),
|
|
1949
|
-
size: [null, 80]
|
|
2020
|
+
size: [null, 80],
|
|
2021
|
+
options: {
|
|
2022
|
+
image: `${PUBLIC_URL}/dl_images/git.svg`,
|
|
2023
|
+
label: getText("mainmenu.button.repo")
|
|
2024
|
+
}
|
|
1950
2025
|
});
|
|
1951
2026
|
layout.appendToMiscDiv(repoButton);
|
|
1952
2027
|
}
|
|
1953
2028
|
if (_MainMenu.options.resetSubscreen) {
|
|
1954
2029
|
const resetButton = advElement.createButton({
|
|
1955
2030
|
id: "deeplib-reset-button",
|
|
1956
|
-
image: `${PUBLIC_URL}/dl_images/trash_bin.svg`,
|
|
1957
|
-
label: getText("mainmenu.button.reset"),
|
|
1958
2031
|
onClick: /* @__PURE__ */ __name(() => {
|
|
1959
2032
|
this.setSubscreen(_MainMenu.options.resetSubscreen);
|
|
1960
2033
|
}, "onClick"),
|
|
1961
|
-
size: [null, 80]
|
|
2034
|
+
size: [null, 80],
|
|
2035
|
+
options: {
|
|
2036
|
+
image: `${PUBLIC_URL}/dl_images/trash_bin.svg`,
|
|
2037
|
+
label: getText("mainmenu.button.reset")
|
|
2038
|
+
}
|
|
1962
2039
|
});
|
|
1963
2040
|
layout.appendToMiscDiv(resetButton);
|
|
1964
2041
|
}
|
|
1965
2042
|
if (_MainMenu.options.importExportSubscreen) {
|
|
1966
2043
|
const importExportButton = advElement.createButton({
|
|
1967
2044
|
id: "deeplib-import-export-button",
|
|
1968
|
-
image: `${PUBLIC_URL}/dl_images/transfer.svg`,
|
|
1969
|
-
label: getText("mainmenu.button.import_export"),
|
|
1970
2045
|
onClick: /* @__PURE__ */ __name(() => {
|
|
1971
2046
|
this.setSubscreen(_MainMenu.options.importExportSubscreen);
|
|
1972
2047
|
}, "onClick"),
|
|
1973
|
-
size: [null, 80]
|
|
2048
|
+
size: [null, 80],
|
|
2049
|
+
options: {
|
|
2050
|
+
image: `${PUBLIC_URL}/dl_images/transfer.svg`,
|
|
2051
|
+
label: getText("mainmenu.button.import_export")
|
|
2052
|
+
}
|
|
1974
2053
|
});
|
|
1975
2054
|
layout.appendToMiscDiv(importExportButton);
|
|
1976
2055
|
}
|
|
2056
|
+
if (_MainMenu.options.storageFullnessIndicator) {
|
|
2057
|
+
const maxStorageCapacityKB = 180;
|
|
2058
|
+
const currentStorageCapacityKB = byteToKB(ModStorage.measureSize(Player.OnlineSettings));
|
|
2059
|
+
const fullness = (currentStorageCapacityKB / maxStorageCapacityKB * 100).toFixed(1);
|
|
2060
|
+
const storageFullnessWrapper = advElement.createButton({
|
|
2061
|
+
id: CommonGenerateUniqueID(),
|
|
2062
|
+
size: [null, 80],
|
|
2063
|
+
options: {
|
|
2064
|
+
tooltipPosition: "left",
|
|
2065
|
+
noStyling: true,
|
|
2066
|
+
tooltip: CommonStringPartitionReplace(getText("mainmenu.meter.storage_hint"), {
|
|
2067
|
+
$percentage$: `${fullness}`
|
|
2068
|
+
}).join(""),
|
|
2069
|
+
label: CommonStringPartitionReplace(getText("mainmenu.meter.storage_label"), {
|
|
2070
|
+
$currentCapacity$: `${currentStorageCapacityKB}`,
|
|
2071
|
+
$maxCapacity$: `${maxStorageCapacityKB}`
|
|
2072
|
+
}).join("")
|
|
2073
|
+
},
|
|
2074
|
+
htmlOptions: {
|
|
2075
|
+
button: {
|
|
2076
|
+
children: [
|
|
2077
|
+
{
|
|
2078
|
+
tag: "div",
|
|
2079
|
+
attributes: { id: "deeplib-storage-meter" },
|
|
2080
|
+
children: [
|
|
2081
|
+
{
|
|
2082
|
+
tag: "div",
|
|
2083
|
+
attributes: { id: "deeplib-storage-bar" },
|
|
2084
|
+
style: { width: `${fullness}%` }
|
|
2085
|
+
}
|
|
2086
|
+
]
|
|
2087
|
+
}
|
|
2088
|
+
]
|
|
2089
|
+
}
|
|
2090
|
+
}
|
|
2091
|
+
});
|
|
2092
|
+
layout.appendToMiscDiv(storageFullnessWrapper);
|
|
2093
|
+
}
|
|
1977
2094
|
if (IS_DEBUG) {
|
|
1978
2095
|
const debugButton = advElement.createButton({
|
|
1979
2096
|
id: "deeplib-debug-button",
|
|
1980
|
-
image: `${PUBLIC_URL}/dl_images/bug.svg`,
|
|
1981
2097
|
onClick: /* @__PURE__ */ __name(() => {
|
|
1982
2098
|
this.setSubscreen(new GuiDebug());
|
|
1983
2099
|
}, "onClick"),
|
|
1984
|
-
size: [90, 90]
|
|
2100
|
+
size: [90, 90],
|
|
2101
|
+
options: {
|
|
2102
|
+
image: `${PUBLIC_URL}/dl_images/bug.svg`
|
|
2103
|
+
}
|
|
1985
2104
|
});
|
|
1986
2105
|
if (menu) {
|
|
1987
2106
|
ElementMenu.PrependItem(menu, debugButton);
|
|
@@ -2027,41 +2146,49 @@ var GuiImportExport = class extends BaseSubscreen {
|
|
|
2027
2146
|
const importFromFileButton = advElement.createButton({
|
|
2028
2147
|
id: "deeplib-import-file-button",
|
|
2029
2148
|
size: [600, 90],
|
|
2030
|
-
image: `${PUBLIC_URL}/dl_images/file_import.svg`,
|
|
2031
2149
|
onClick: /* @__PURE__ */ __name(() => {
|
|
2032
2150
|
this.dataImport("file");
|
|
2033
2151
|
}, "onClick"),
|
|
2034
|
-
|
|
2152
|
+
options: {
|
|
2153
|
+
image: `${PUBLIC_URL}/dl_images/file_import.svg`,
|
|
2154
|
+
label: getText("import-export.button.import_file")
|
|
2155
|
+
}
|
|
2035
2156
|
});
|
|
2036
2157
|
layout.appendToSettingsDiv(importFromFileButton);
|
|
2037
2158
|
const exportToFileButton = advElement.createButton({
|
|
2038
2159
|
id: "deeplib-export-file-button",
|
|
2039
2160
|
size: [600, 90],
|
|
2040
|
-
image: `${PUBLIC_URL}/dl_images/file_export.svg`,
|
|
2041
2161
|
onClick: /* @__PURE__ */ __name(() => {
|
|
2042
2162
|
this.dataExport("file");
|
|
2043
2163
|
}, "onClick"),
|
|
2044
|
-
|
|
2164
|
+
options: {
|
|
2165
|
+
image: `${PUBLIC_URL}/dl_images/file_export.svg`,
|
|
2166
|
+
label: getText("import-export.button.export_file")
|
|
2167
|
+
}
|
|
2045
2168
|
});
|
|
2046
2169
|
layout.appendToSettingsDiv(exportToFileButton);
|
|
2047
2170
|
const importFromClipboardButton = advElement.createButton({
|
|
2048
2171
|
id: "deeplib-import-clipboard-button",
|
|
2049
2172
|
size: [600, 90],
|
|
2050
|
-
image: `${PUBLIC_URL}/dl_images/clipboard_import.svg`,
|
|
2051
2173
|
onClick: /* @__PURE__ */ __name(() => {
|
|
2052
2174
|
this.dataImport("clipboard");
|
|
2053
2175
|
}, "onClick"),
|
|
2054
|
-
|
|
2176
|
+
options: {
|
|
2177
|
+
image: `${PUBLIC_URL}/dl_images/clipboard_import.svg`,
|
|
2178
|
+
label: getText("import-export.button.import_clipboard")
|
|
2179
|
+
}
|
|
2055
2180
|
});
|
|
2056
2181
|
layout.appendToSettingsDiv(importFromClipboardButton);
|
|
2057
2182
|
const exportToClipboardButton = advElement.createButton({
|
|
2058
2183
|
id: "deeplib-export-clipboard-button",
|
|
2059
2184
|
size: [600, 90],
|
|
2060
|
-
image: `${PUBLIC_URL}/dl_images/clipboard_export.svg`,
|
|
2061
2185
|
onClick: /* @__PURE__ */ __name(() => {
|
|
2062
2186
|
this.dataExport("clipboard");
|
|
2063
2187
|
}, "onClick"),
|
|
2064
|
-
|
|
2188
|
+
options: {
|
|
2189
|
+
image: `${PUBLIC_URL}/dl_images/clipboard_export.svg`,
|
|
2190
|
+
label: getText("import-export.button.export_clipboard")
|
|
2191
|
+
}
|
|
2065
2192
|
});
|
|
2066
2193
|
layout.appendToSettingsDiv(exportToClipboardButton);
|
|
2067
2194
|
}
|
|
@@ -2284,6 +2411,19 @@ var ModStorage = class _ModStorage {
|
|
|
2284
2411
|
static dataCompress(object) {
|
|
2285
2412
|
return LZString.compressToBase64(JSON.stringify(object));
|
|
2286
2413
|
}
|
|
2414
|
+
static measureSize(data) {
|
|
2415
|
+
try {
|
|
2416
|
+
if (typeof data !== "string") {
|
|
2417
|
+
data = JSON.stringify(data) || "";
|
|
2418
|
+
}
|
|
2419
|
+
if (typeof data === "string") {
|
|
2420
|
+
return new TextEncoder().encode(data).byteLength;
|
|
2421
|
+
}
|
|
2422
|
+
throw new Error();
|
|
2423
|
+
} catch {
|
|
2424
|
+
return NaN;
|
|
2425
|
+
}
|
|
2426
|
+
}
|
|
2287
2427
|
};
|
|
2288
2428
|
|
|
2289
2429
|
// src/utilities/elements/helpers.ts
|
|
@@ -2803,10 +2943,71 @@ var Localization = class _Localization {
|
|
|
2803
2943
|
var getText = /* @__PURE__ */ __name((srcTag) => {
|
|
2804
2944
|
return Localization.getTextMod(srcTag) || Localization.getTextLib(srcTag) || srcTag;
|
|
2805
2945
|
}, "getText");
|
|
2946
|
+
|
|
2947
|
+
// src/utilities/event_channel.ts
|
|
2948
|
+
var EventChannel = class {
|
|
2949
|
+
constructor(channelName) {
|
|
2950
|
+
this.channelName = channelName;
|
|
2951
|
+
ModSdkManager.prototype.hookFunction("ChatRoomMessageProcessHidden", 0, (args, next) => {
|
|
2952
|
+
if (!this.isChannelMessage(args[0])) {
|
|
2953
|
+
return next(args);
|
|
2954
|
+
}
|
|
2955
|
+
const [message, sender] = args;
|
|
2956
|
+
const { type, data } = message.Dictionary[0];
|
|
2957
|
+
const listeners = this.listeners[type];
|
|
2958
|
+
if (listeners) {
|
|
2959
|
+
listeners.forEach((listener) => listener(data, sender));
|
|
2960
|
+
}
|
|
2961
|
+
return next(args);
|
|
2962
|
+
}, `EventChannel-${channelName}`);
|
|
2963
|
+
}
|
|
2964
|
+
static {
|
|
2965
|
+
__name(this, "EventChannel");
|
|
2966
|
+
}
|
|
2967
|
+
listeners = {};
|
|
2968
|
+
unload() {
|
|
2969
|
+
Object.keys(this.listeners).forEach((key) => delete this.listeners[key]);
|
|
2970
|
+
ModSdkManager.prototype.removeHookByModule("ChatRoomMessageProcessHidden", `EventChannel-${this.channelName}`);
|
|
2971
|
+
}
|
|
2972
|
+
sendEvent(type, data, target = null) {
|
|
2973
|
+
const packet = {
|
|
2974
|
+
Type: "Hidden",
|
|
2975
|
+
Content: this.channelName,
|
|
2976
|
+
Sender: Player.MemberNumber,
|
|
2977
|
+
...target ? { Target: target } : {},
|
|
2978
|
+
Dictionary: [
|
|
2979
|
+
{
|
|
2980
|
+
type,
|
|
2981
|
+
data
|
|
2982
|
+
}
|
|
2983
|
+
]
|
|
2984
|
+
};
|
|
2985
|
+
ServerSend("ChatRoomChat", packet);
|
|
2986
|
+
}
|
|
2987
|
+
registerListener(event, listener) {
|
|
2988
|
+
const listeners = this.listeners[event] ?? [];
|
|
2989
|
+
listeners.push(listener);
|
|
2990
|
+
this.listeners[event] = listeners;
|
|
2991
|
+
return () => this.unregisterListener(event, listener);
|
|
2992
|
+
}
|
|
2993
|
+
unregisterListener(event, listener) {
|
|
2994
|
+
const listeners = this.listeners[event];
|
|
2995
|
+
if (listeners) {
|
|
2996
|
+
const index = listeners.indexOf(listener);
|
|
2997
|
+
if (index !== -1) {
|
|
2998
|
+
listeners.splice(index, 1);
|
|
2999
|
+
}
|
|
3000
|
+
}
|
|
3001
|
+
}
|
|
3002
|
+
isChannelMessage(message) {
|
|
3003
|
+
return message && message.Type === "Hidden" && message.Content === this.channelName && message.Sender && message.Sender !== Player.MemberNumber && message.Dictionary && !!message.Dictionary[0]?.data && !!message.Dictionary[0]?.type || false;
|
|
3004
|
+
}
|
|
3005
|
+
};
|
|
2806
3006
|
export {
|
|
2807
3007
|
BaseMigrator2 as BaseMigrator,
|
|
2808
3008
|
BaseModule,
|
|
2809
3009
|
BaseSubscreen,
|
|
3010
|
+
EventChannel,
|
|
2810
3011
|
GUI,
|
|
2811
3012
|
GuiDebug,
|
|
2812
3013
|
GuiImportExport,
|
|
@@ -2820,6 +3021,7 @@ export {
|
|
|
2820
3021
|
Style,
|
|
2821
3022
|
VersionModule,
|
|
2822
3023
|
advElement,
|
|
3024
|
+
byteToKB,
|
|
2823
3025
|
deepLibLogger,
|
|
2824
3026
|
deepMerge,
|
|
2825
3027
|
deepMergeMatchingProperties,
|
|
@@ -2836,6 +3038,7 @@ export {
|
|
|
2836
3038
|
modules,
|
|
2837
3039
|
modulesMap,
|
|
2838
3040
|
registerModule,
|
|
3041
|
+
sdk,
|
|
2839
3042
|
sendActionMessage,
|
|
2840
3043
|
sendLocalMessage,
|
|
2841
3044
|
setSubscreen,
|