@mochabug/adapt-web 1.0.0-rc24 → 1.0.0-rc25
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/esm/index.js +92 -65
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/umd/adapt-web.js +71 -63
- package/dist/umd/adapt-web.min.js +15 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -39,6 +39,10 @@ const DEFAULT_STYLES = `
|
|
|
39
39
|
transition: width 0.15s ease-out;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
.mb-adapt__frame--hidden {
|
|
43
|
+
display: none;
|
|
44
|
+
}
|
|
45
|
+
|
|
42
46
|
.mb-adapt__iframe {
|
|
43
47
|
width: 100%;
|
|
44
48
|
height: 100%;
|
|
@@ -46,6 +50,16 @@ const DEFAULT_STYLES = `
|
|
|
46
50
|
display: block;
|
|
47
51
|
border-radius: var(--mb-adapt-border-radius);
|
|
48
52
|
pointer-events: auto;
|
|
53
|
+
opacity: 0;
|
|
54
|
+
transition: opacity 0.1s ease-out;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.mb-adapt__iframe--visible {
|
|
58
|
+
opacity: 1;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.mb-adapt__iframe--hidden {
|
|
62
|
+
display: none;
|
|
49
63
|
}
|
|
50
64
|
|
|
51
65
|
.mb-adapt__drag-handle {
|
|
@@ -322,10 +336,21 @@ export class AdaptWebClient {
|
|
|
322
336
|
this.pubsub = new PubsubClient(false);
|
|
323
337
|
this.injectDefaultStyles();
|
|
324
338
|
this.createRootElement();
|
|
339
|
+
this.createInitialStructure();
|
|
325
340
|
this.setupDragListeners();
|
|
326
341
|
this.setupResizeObserver();
|
|
327
342
|
this.init();
|
|
328
343
|
}
|
|
344
|
+
createInitialStructure() {
|
|
345
|
+
// Create DOM structure immediately based on display mode
|
|
346
|
+
// Iframes are created hidden (no src) and shown when URLs arrive
|
|
347
|
+
if (this.options.forkDisplayMode === "dialog") {
|
|
348
|
+
this.createDialogStructure();
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
this.createSideBySideStructure();
|
|
352
|
+
}
|
|
353
|
+
}
|
|
329
354
|
setupResizeObserver() {
|
|
330
355
|
if (!this.rootElement)
|
|
331
356
|
return;
|
|
@@ -607,8 +632,14 @@ export class AdaptWebClient {
|
|
|
607
632
|
if (this.forkQueue.length > 0) {
|
|
608
633
|
this.activateNextFork();
|
|
609
634
|
}
|
|
610
|
-
|
|
611
|
-
|
|
635
|
+
else {
|
|
636
|
+
// No more forks - update visibility (hide fork frame in side-by-side,
|
|
637
|
+
// or keep dialog open until user closes it)
|
|
638
|
+
if (this.options.forkDisplayMode === "side-by-side") {
|
|
639
|
+
this.updateSideBySideVisibility();
|
|
640
|
+
}
|
|
641
|
+
// For dialog mode: keep dialog open until user clicks close or backdrop
|
|
642
|
+
}
|
|
612
643
|
}
|
|
613
644
|
}
|
|
614
645
|
handleMainUrl(url, token) {
|
|
@@ -658,64 +689,30 @@ export class AdaptWebClient {
|
|
|
658
689
|
}
|
|
659
690
|
}
|
|
660
691
|
updateMainIframe() {
|
|
661
|
-
if (!this.rootElement || !this.mainUrl)
|
|
692
|
+
if (!this.rootElement || !this.mainUrl || !this.mainIframe)
|
|
662
693
|
return;
|
|
663
|
-
//
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
const oldIframe = this.mainContainer.querySelector(".mb-adapt__iframe");
|
|
673
|
-
if (oldIframe)
|
|
674
|
-
oldIframe.remove();
|
|
675
|
-
this.mainContainer.insertBefore(this.mainIframe, this.mainContainer.firstChild);
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
else {
|
|
679
|
-
// Side-by-side
|
|
680
|
-
if (!this.wrapperElement) {
|
|
681
|
-
this.createSideBySideStructure();
|
|
682
|
-
}
|
|
683
|
-
const newSrc = this.getIframeSrc(this.mainUrl, this.mainToken);
|
|
684
|
-
if (!this.mainIframe || this.mainIframe.src !== newSrc) {
|
|
685
|
-
this.mainIframe = this.createIframe(this.mainUrl, this.mainToken);
|
|
686
|
-
this.mainFrameElement.innerHTML = "";
|
|
687
|
-
this.mainFrameElement.appendChild(this.mainIframe);
|
|
688
|
-
}
|
|
694
|
+
// Update iframe src if changed
|
|
695
|
+
const newSrc = this.getIframeSrc(this.mainUrl, this.mainToken);
|
|
696
|
+
if (this.mainIframe.src !== newSrc) {
|
|
697
|
+
this.mainIframe.src = newSrc;
|
|
698
|
+
}
|
|
699
|
+
// Show the iframe with fade-in
|
|
700
|
+
this.showIframe(this.mainIframe);
|
|
701
|
+
// Update visibility based on mode
|
|
702
|
+
if (this.options.forkDisplayMode === "side-by-side") {
|
|
689
703
|
this.updateSideBySideVisibility();
|
|
690
704
|
}
|
|
691
705
|
}
|
|
692
706
|
updateForkIframe() {
|
|
693
|
-
if (!this.currentFork)
|
|
707
|
+
if (!this.currentFork || !this.forkIframe)
|
|
694
708
|
return;
|
|
709
|
+
// Update iframe src if changed
|
|
695
710
|
const newSrc = this.getIframeSrc(this.currentFork.url, this.currentFork.token);
|
|
696
|
-
if (this.
|
|
697
|
-
|
|
698
|
-
this.createDialogStructure();
|
|
699
|
-
}
|
|
700
|
-
if (!this.forkIframe || this.forkIframe.src !== newSrc) {
|
|
701
|
-
this.forkIframe = this.createIframe(this.currentFork.url, this.currentFork.token);
|
|
702
|
-
this.forkIframe.style.borderRadius = "0";
|
|
703
|
-
const iframeContainer = this.dialogElement.children[1];
|
|
704
|
-
iframeContainer.innerHTML = "";
|
|
705
|
-
iframeContainer.appendChild(this.forkIframe);
|
|
706
|
-
}
|
|
707
|
-
}
|
|
708
|
-
else {
|
|
709
|
-
// Side-by-side
|
|
710
|
-
if (!this.wrapperElement) {
|
|
711
|
-
this.createSideBySideStructure();
|
|
712
|
-
}
|
|
713
|
-
if (!this.forkIframe || this.forkIframe.src !== newSrc) {
|
|
714
|
-
this.forkIframe = this.createIframe(this.currentFork.url, this.currentFork.token);
|
|
715
|
-
this.forkFrameElement.innerHTML = "";
|
|
716
|
-
this.forkFrameElement.appendChild(this.forkIframe);
|
|
717
|
-
}
|
|
711
|
+
if (this.forkIframe.src !== newSrc) {
|
|
712
|
+
this.forkIframe.src = newSrc;
|
|
718
713
|
}
|
|
714
|
+
// Show the iframe with fade-in
|
|
715
|
+
this.showIframe(this.forkIframe);
|
|
719
716
|
}
|
|
720
717
|
createSideBySideStructure() {
|
|
721
718
|
if (this.wrapperElement)
|
|
@@ -724,16 +721,23 @@ export class AdaptWebClient {
|
|
|
724
721
|
this.wrapperElement = document.createElement("div");
|
|
725
722
|
this.wrapperElement.className =
|
|
726
723
|
this.options.classNames?.wrapper || "mb-adapt__wrapper";
|
|
727
|
-
// Main frame
|
|
724
|
+
// Main frame - initially hidden
|
|
728
725
|
this.mainFrameElement = document.createElement("div");
|
|
729
726
|
this.mainFrameElement.className =
|
|
730
727
|
this.options.classNames?.frameMain ||
|
|
731
728
|
`${this.options.classNames?.frame || "mb-adapt__frame"} mb-adapt__frame--main`;
|
|
732
|
-
|
|
729
|
+
this.mainFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
730
|
+
// Fork frame - initially hidden
|
|
733
731
|
this.forkFrameElement = document.createElement("div");
|
|
734
732
|
this.forkFrameElement.className =
|
|
735
733
|
this.options.classNames?.frameFork ||
|
|
736
734
|
`${this.options.classNames?.frame || "mb-adapt__frame"} mb-adapt__frame--fork`;
|
|
735
|
+
this.forkFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
736
|
+
// Create iframes immediately but hidden (no src yet)
|
|
737
|
+
this.mainIframe = this.createHiddenIframe();
|
|
738
|
+
this.forkIframe = this.createHiddenIframe();
|
|
739
|
+
this.mainFrameElement.appendChild(this.mainIframe);
|
|
740
|
+
this.forkFrameElement.appendChild(this.forkIframe);
|
|
737
741
|
// Drag handle
|
|
738
742
|
this.dragHandleElement = document.createElement("div");
|
|
739
743
|
this.dragHandleElement.className =
|
|
@@ -805,9 +809,9 @@ export class AdaptWebClient {
|
|
|
805
809
|
// No current fork - show only main at 100%
|
|
806
810
|
if (!this.currentFork) {
|
|
807
811
|
this.mainFrameElement.style.width = "100%";
|
|
808
|
-
this.mainFrameElement.
|
|
809
|
-
this.forkFrameElement.
|
|
810
|
-
this.dragHandleElement.
|
|
812
|
+
this.mainFrameElement.classList.remove("mb-adapt__frame--hidden");
|
|
813
|
+
this.forkFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
814
|
+
this.dragHandleElement.classList.add("mb-adapt__frame--hidden");
|
|
811
815
|
this.mainExpandButton.classList.remove("mb-adapt__expand-button--visible");
|
|
812
816
|
this.forkExpandButton.classList.remove("mb-adapt__expand-button--visible");
|
|
813
817
|
return;
|
|
@@ -815,10 +819,10 @@ export class AdaptWebClient {
|
|
|
815
819
|
// Responsive mode: show only fork when container is narrow
|
|
816
820
|
if (this.isResponsiveMode()) {
|
|
817
821
|
this.mainFrameElement.style.width = "0%";
|
|
818
|
-
this.mainFrameElement.
|
|
822
|
+
this.mainFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
819
823
|
this.forkFrameElement.style.width = "100%";
|
|
820
|
-
this.forkFrameElement.
|
|
821
|
-
this.dragHandleElement.
|
|
824
|
+
this.forkFrameElement.classList.remove("mb-adapt__frame--hidden");
|
|
825
|
+
this.dragHandleElement.classList.add("mb-adapt__frame--hidden");
|
|
822
826
|
this.mainExpandButton.classList.add("mb-adapt__expand-button--visible");
|
|
823
827
|
this.forkExpandButton.classList.remove("mb-adapt__expand-button--visible");
|
|
824
828
|
return;
|
|
@@ -830,13 +834,23 @@ export class AdaptWebClient {
|
|
|
830
834
|
const forkCollapsed = forkWidth < AdaptWebClient.COLLAPSE_THRESHOLD;
|
|
831
835
|
// Update main frame
|
|
832
836
|
this.mainFrameElement.style.width = mainCollapsed ? "0%" : `${mainWidth}%`;
|
|
833
|
-
|
|
837
|
+
if (mainCollapsed) {
|
|
838
|
+
this.mainFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
839
|
+
}
|
|
840
|
+
else {
|
|
841
|
+
this.mainFrameElement.classList.remove("mb-adapt__frame--hidden");
|
|
842
|
+
}
|
|
834
843
|
// Update fork frame
|
|
835
844
|
this.forkFrameElement.style.width = forkCollapsed ? "0%" : `${forkWidth}%`;
|
|
836
|
-
|
|
845
|
+
if (forkCollapsed) {
|
|
846
|
+
this.forkFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
847
|
+
}
|
|
848
|
+
else {
|
|
849
|
+
this.forkFrameElement.classList.remove("mb-adapt__frame--hidden");
|
|
850
|
+
}
|
|
837
851
|
// Update drag handle
|
|
838
852
|
this.dragHandleElement.style.left = `${this.splitPercentage}%`;
|
|
839
|
-
this.dragHandleElement.
|
|
853
|
+
this.dragHandleElement.classList.remove("mb-adapt__frame--hidden");
|
|
840
854
|
if (mainCollapsed || forkCollapsed) {
|
|
841
855
|
this.dragHandleElement.classList.add("mb-adapt__drag-handle--disabled");
|
|
842
856
|
}
|
|
@@ -875,6 +889,9 @@ export class AdaptWebClient {
|
|
|
875
889
|
// Main container
|
|
876
890
|
this.mainContainer = document.createElement("div");
|
|
877
891
|
this.mainContainer.className = "mb-adapt__main-container";
|
|
892
|
+
// Create main iframe immediately but hidden
|
|
893
|
+
this.mainIframe = this.createHiddenIframe();
|
|
894
|
+
this.mainContainer.appendChild(this.mainIframe);
|
|
878
895
|
// Dialog expand button
|
|
879
896
|
this.dialogExpandButton = document.createElement("button");
|
|
880
897
|
this.dialogExpandButton.className =
|
|
@@ -926,6 +943,10 @@ export class AdaptWebClient {
|
|
|
926
943
|
const iframeContainer = document.createElement("div");
|
|
927
944
|
iframeContainer.style.flex = "1";
|
|
928
945
|
iframeContainer.style.overflow = "hidden";
|
|
946
|
+
// Create fork iframe immediately but hidden
|
|
947
|
+
this.forkIframe = this.createHiddenIframe();
|
|
948
|
+
this.forkIframe.style.borderRadius = "0";
|
|
949
|
+
iframeContainer.appendChild(this.forkIframe);
|
|
929
950
|
this.dialogElement.appendChild(iframeContainer);
|
|
930
951
|
this.mainContainer.appendChild(this.dialogExpandButton);
|
|
931
952
|
this.rootElement.appendChild(this.mainContainer);
|
|
@@ -957,14 +978,20 @@ export class AdaptWebClient {
|
|
|
957
978
|
getIframeSrc(url, token) {
|
|
958
979
|
return `${url}${token ? "#" + token : ""}`;
|
|
959
980
|
}
|
|
960
|
-
|
|
981
|
+
createHiddenIframe() {
|
|
961
982
|
const iframe = document.createElement("iframe");
|
|
962
983
|
iframe.className = this.options.classNames?.iframe || "mb-adapt__iframe";
|
|
963
|
-
|
|
984
|
+
// No src - iframe starts hidden
|
|
964
985
|
iframe.setAttribute("sandbox", "allow-downloads allow-same-origin allow-scripts allow-popups allow-forms allow-modals");
|
|
965
986
|
iframe.setAttribute("allow", "geolocation; accelerometer; midi; microphone; camera; magnetometer; gyroscope; fullscreen; payment;");
|
|
966
987
|
return iframe;
|
|
967
988
|
}
|
|
989
|
+
showIframe(iframe) {
|
|
990
|
+
iframe.classList.remove("mb-adapt__iframe--hidden");
|
|
991
|
+
// Trigger reflow to ensure transition works
|
|
992
|
+
void iframe.offsetHeight;
|
|
993
|
+
iframe.classList.add("mb-adapt__iframe--visible");
|
|
994
|
+
}
|
|
968
995
|
}
|
|
969
996
|
AdaptWebClient.COLLAPSE_THRESHOLD = 15;
|
|
970
997
|
AdaptWebClient.RESPONSIVE_BREAKPOINT = 600; // px - below this, auto-collapse to single view
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,GAEZ,MAAM,sBAAsB,CAAC;AAQ9B,6BAA6B;AAC7B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAUlC;;GAEG;AACH,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6QtB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IAuCzB,YAAY,OAA8B;QAlClC,gBAAW,GAA0B,IAAI,CAAC;QAE1C,YAAO,GAAkB,IAAI,CAAC;QAE9B,cAAS,GAAkB,EAAE,CAAC;QAC9B,gBAAW,GAAuB,IAAI,CAAC;QAEvC,iBAAY,GAAkB,IAAI,CAAC;QAEnC,eAAU,GAAG,KAAK,CAAC;QAE3B,wDAAwD;QAChD,mBAAc,GAA0B,IAAI,CAAC;QAC7C,qBAAgB,GAA0B,IAAI,CAAC;QAC/C,qBAAgB,GAA0B,IAAI,CAAC;QAC/C,eAAU,GAA6B,IAAI,CAAC;QAC5C,eAAU,GAA6B,IAAI,CAAC;QAC5C,sBAAiB,GAA0B,IAAI,CAAC;QAChD,qBAAgB,GAA6B,IAAI,CAAC;QAClD,qBAAgB,GAA6B,IAAI,CAAC;QAE1D,kBAAkB;QACV,kBAAa,GAA0B,IAAI,CAAC;QAC5C,mBAAc,GAA0B,IAAI,CAAC;QAC7C,kBAAa,GAA0B,IAAI,CAAC;QAC5C,uBAAkB,GAA6B,IAAI,CAAC;QAE5D,wCAAwC;QAChC,qBAAgB,GAAqC,IAAI,CAAC;QAC1D,mBAAc,GAAwB,IAAI,CAAC;QAC3C,mBAAc,GAA0B,IAAI,CAAC;QAE7C,cAAS,GAAG,KAAK,CAAC;QAGxB,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,OAAO;YACV,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,cAAc;SAC3D,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QAErD,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,SAAS,aAAa,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACxE,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAEO,kBAAkB;QACxB,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC1C,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,MAAM,eAAe,GAAG,CAAC,CAAa,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO;YAElD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;gBAAE,OAAO,CAAC,2BAA2B;YAEzD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YACtC,cAAc,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YAE9C,6CAA6C;YAC7C,MAAM,SAAS,GAAG,cAAc,CAAC;YACjC,MAAM,SAAS,GAAG,GAAG,GAAG,cAAc,CAAC;YAEvC,IAAI,SAAS,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBAClD,yBAAyB;gBACzB,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBACzD,0BAA0B;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;oBAC3B,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,YAAY,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAC7B,cAAc,CAAC,kBAAkB,EACjC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAClE,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO;YAE7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,YAAY,GAAG,KAAK,CAAC;YAErB,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3D,IAAI,CAAC,WAAW;gBACd,EAAE,gBAAgB,CAAC,2BAA2B,CAAC;iBAC9C,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YAEhC,mCAAmC;YACnC,IAAI,IAAI,CAAC,gBAAgB;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YACvE,IAAI,IAAI,CAAC,gBAAgB;gBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YACvE,IAAI,IAAI,CAAC,iBAAiB;gBAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YAEzE,2DAA2D;YAC3D,IACE,IAAI,CAAC,eAAe,KAAK,CAAC;gBAC1B,IAAI,CAAC,eAAe,KAAK,GAAG;gBAC5B,cAAc,IAAI,cAAc,CAAC,kBAAkB;gBACnD,GAAG,GAAG,cAAc,IAAI,cAAc,CAAC,kBAAkB,EACzD,CAAC;gBACD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;YACxC,CAAC;YAED,sBAAsB;YACtB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QACxC,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QAEpC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC;IAEO,mBAAmB;QACzB,IAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;YAAE,OAAO;QAEvD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,EAAE,GAAG,iBAAiB,CAAC;QAC7B,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,IAAI,UAAU,CAAC;QAEzE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAEO,iBAAiB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE9B,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,GAAW;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB;QAC/D,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,yCAAyC;QACzC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,GACV,MAAM,CAAC,QAAQ,CAAC,QAAQ;YACxB,MAAM,CAAC,QAAQ,CAAC,MAAM;YACtB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAEvC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,cAAc,CAAC,GAAW;QAChC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,2CAA2C;QAC3C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,MAAM,GACV,MAAM,CAAC,QAAQ,CAAC,QAAQ;YACxB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAEvC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,gEAAgE;QAChE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,gEAAgE;YAChE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,mEAAmE;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAE3D,oEAAoE;YACpE,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1C,MAAM,MAAM,GACV,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;oBAChC,CAAC,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG;oBAC/C,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;gBAClD,OAAO,CAAC,KAAK,CACX,kDAAkD,MAAM,EAAE,CAC3D,CAAC;gBACF,OAAO;YACT,CAAC;YAED,mDAAmD;YACnD,IAAI,MAAM,CAAC;YACX,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAuC;oBAC9C,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;iBACpB,CAAC;gBACF,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC7B,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC7C,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACrC,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBACrC,CAAC;gBACD,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC1C,CAAC;QAED,MAAM,gBAAgB,GAAgD;YACpE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/B,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE;gBACzB,iEAAiE;gBACjE,IAAI,WAAW,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBACnE,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CACpB,WAAW,CAAC,MAAM,IAAI,oBAAoB,EAC1C,WAAW,CAAC,IAAI,CACjB,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,iEAAiE;QACjE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAEhC,iDAAiD;QACjD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,+DAA+D;QAE/D,uBAAuB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,GAAY;QACxB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAE5B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG;YAAE,OAAO;QAErB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,0DAA0D;YAC1D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,uDAAuD;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;YACpD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAErE,kEAAkE;QAClE,6CAA6C;QAC7C,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAExB,oDAAoD;YACpD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;YACD,mEAAmE;YACnE,uDAAuD;QACzD,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,GAAW,EAAE,KAAyB;QAC1D,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,qDAAqD;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,aAAa,CACnB,GAAW,EACX,KAAyB,EACzB,IAAY;QAEZ,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/C,MAAM,QAAQ,GAAgB;YAC5B,GAAG;YACH,KAAK;YACL,IAAI;YACJ,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB,CAAC;QAEF,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAExC,mCAAmC;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAClD,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC;QAE3C,qCAAqC;QACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE/C,0BAA0B;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC;YAED,oCAAoC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;gBACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClE,MAAM,SAAS,GACb,IAAI,CAAC,aAAc,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;gBACzD,IAAI,SAAS;oBAAE,SAAS,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,CAAC,aAAc,CAAC,YAAY,CAC9B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAc,CAAC,UAAU,CAC/B,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe;YACf,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;gBACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClE,IAAI,CAAC,gBAAiB,CAAC,SAAS,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,gBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,EACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CACvB,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;gBACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CACjC,IAAI,CAAC,WAAW,CAAC,GAAG,EACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CACvB,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC;gBACzC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAc,CAAC,QAAQ,CAAC,CAAC,CAAgB,CAAC;gBACvE,eAAe,CAAC,SAAS,GAAG,EAAE,CAAC;gBAC/B,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe;YACf,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;gBACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CACjC,IAAI,CAAC,WAAW,CAAC,GAAG,EACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CACvB,CAAC;gBACF,IAAI,CAAC,gBAAiB,CAAC,SAAS,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,gBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,yBAAyB;QAC/B,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAEhC,IAAI,CAAC,WAAY,CAAC,SAAS,GAAG,EAAE,CAAC;QAEjC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,SAAS;YAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,mBAAmB,CAAC;QAE1D,aAAa;QACb,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,SAAS;YAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS;gBAClC,GACE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,iBACpC,wBAAwB,CAAC;QAE3B,aAAa;QACb,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,SAAS;YAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS;gBAClC,GACE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,iBACpC,wBAAwB,CAAC;QAE3B,cAAc;QACd,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,CAAC,SAAS;YAC9B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,IAAI,uBAAuB,CAAC;QACjE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC;QAC5D,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YACzD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,yDAAyD;YACzD,IAAI,IAAI,CAAC,gBAAgB;gBACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;YAClD,IAAI,IAAI,CAAC,gBAAgB;gBACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;YAClD,IAAI,IAAI,CAAC,iBAAiB;gBACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;YAEnD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,CAAC,SAAS,GAAG,wBAAwB,CAAC;YAC7C,OAAO,CAAC,EAAE,GAAG,uBAAuB,CAAC;YACrC,IAAI,CAAC,WAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEvC,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACpD,aAAa,CAAC,SAAS,GAAG,0BAA0B,CAAC;oBACrD,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,CAAC,SAAS;YAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,IAAI,yBAAyB,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,8CAA8C;QACrF,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACnD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,CAAC,SAAS;YAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,IAAI,yBAAyB,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,6CAA6C;QACpF,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACnD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEvD,IAAI,CAAC,WAAY,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrD,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,cAAc,CAAC,qBAAqB,CAAC;IAC7E,CAAC;IAEO,0BAA0B;QAChC,IACE,CAAC,IAAI,CAAC,gBAAgB;YACtB,CAAC,IAAI,CAAC,gBAAgB;YACtB,CAAC,IAAI,CAAC,iBAAiB;YAEvB,OAAO;QAET,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC9C,IAAI,CAAC,gBAAiB,CAAC,SAAS,CAAC,MAAM,CACrC,kCAAkC,CACnC,CAAC;YACF,IAAI,CAAC,gBAAiB,CAAC,SAAS,CAAC,MAAM,CACrC,kCAAkC,CACnC,CAAC;YACF,OAAO;QACT,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC9C,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC9C,IAAI,CAAC,gBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YACzE,IAAI,CAAC,gBAAiB,CAAC,SAAS,CAAC,MAAM,CACrC,kCAAkC,CACnC,CAAC;YACF,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;QAE7C,MAAM,aAAa,GAAG,SAAS,GAAG,cAAc,CAAC,kBAAkB,CAAC;QACpE,MAAM,aAAa,GAAG,SAAS,GAAG,cAAc,CAAC,kBAAkB,CAAC;QAEpE,oBAAoB;QACpB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;QAC3E,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAEvE,oBAAoB;QACpB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;QAC3E,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAEvE,qBAAqB;QACrB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAE/C,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CACrC,iCAAiC,CAClC,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAiB,CAAC,SAAS,CAAC,MAAM,CACrC,kCAAkC,CACnC,CAAC;QACJ,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAiB,CAAC,SAAS,CAAC,MAAM,CACrC,kCAAkC,CACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,sBAAsB;QAC5B,IACE,CAAC,IAAI,CAAC,gBAAgB;YACtB,CAAC,IAAI,CAAC,gBAAgB;YACtB,CAAC,IAAI,CAAC,iBAAiB;YAEvB,OAAO;QAET,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;QAE7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,SAAS,GAAG,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,SAAS,GAAG,CAAC;QACpD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC;IACjE,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAE/B,IAAI,CAAC,WAAY,CAAC,SAAS,GAAG,EAAE,CAAC;QAEjC,iBAAiB;QACjB,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,0BAA0B,CAAC;QAE1D,uBAAuB;QACvB,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,SAAS;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,IAAI,yBAAyB,CAAC;QACrE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACzE,IAAI,CAAC,kBAAkB,CAAC,SAAS,GAAG,GAAG,CAAC;QACxC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,WAAW;QACX,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,SAAS;YAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,IAAI,2BAA2B,CAAC;QACzE,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACjD,gDAAgD;gBAChD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,SAAS;QACT,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,SAAS;YAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,kBAAkB,CAAC;QAExD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS;YACd,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,IAAI,yBAAyB,CAAC;QAErE,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,SAAS;YAChB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,IAAI,wBAAwB,CAAC;QACnE,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACpD,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,gDAAgD;YAChD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;QACjC,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAEhD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxD,IAAI,CAAC,WAAY,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,WAAY,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,WAAY,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa;YACzE,OAAO;QAET,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC;QAEjD,uDAAuD;QACvD,IAAI,CAAC,cAAc,IAAI,gBAAgB,EAAE,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CACtC,kCAAkC,CACnC,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YACxE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAClC,oCAAoC,CACrC,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,GAAW,EAAE,KAAyB;QACzD,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7C,CAAC;IAEO,YAAY,CAClB,GAAW,EACX,KAAyB;QAEzB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,kBAAkB,CAAC;QACzE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,CACjB,SAAS,EACT,uFAAuF,CACxF,CAAC;QACF,MAAM,CAAC,YAAY,CACjB,OAAO,EACP,qGAAqG,CACtG,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;;AA10BuB,iCAAkB,GAAG,EAAE,AAAL,CAAM;AACxB,oCAAqB,GAAG,GAAG,AAAN,CAAO,CAAC,gDAAgD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export declare class AdaptWebClient {
|
|
|
42
42
|
private resizeObserver;
|
|
43
43
|
private destroyed;
|
|
44
44
|
constructor(options: AdaptWebClientOptions);
|
|
45
|
+
private createInitialStructure;
|
|
45
46
|
private setupResizeObserver;
|
|
46
47
|
private setupDragListeners;
|
|
47
48
|
private injectDefaultStyles;
|
|
@@ -66,5 +67,6 @@ export declare class AdaptWebClient {
|
|
|
66
67
|
private createDialogStructure;
|
|
67
68
|
private updateDialogVisibility;
|
|
68
69
|
private getIframeSrc;
|
|
69
|
-
private
|
|
70
|
+
private createHiddenIframe;
|
|
71
|
+
private showIframe;
|
|
70
72
|
}
|
package/dist/umd/adapt-web.js
CHANGED
|
@@ -4266,6 +4266,10 @@ var MbAdapt = (() => {
|
|
|
4266
4266
|
transition: width 0.15s ease-out;
|
|
4267
4267
|
}
|
|
4268
4268
|
|
|
4269
|
+
.mb-adapt__frame--hidden {
|
|
4270
|
+
display: none;
|
|
4271
|
+
}
|
|
4272
|
+
|
|
4269
4273
|
.mb-adapt__iframe {
|
|
4270
4274
|
width: 100%;
|
|
4271
4275
|
height: 100%;
|
|
@@ -4273,6 +4277,16 @@ var MbAdapt = (() => {
|
|
|
4273
4277
|
display: block;
|
|
4274
4278
|
border-radius: var(--mb-adapt-border-radius);
|
|
4275
4279
|
pointer-events: auto;
|
|
4280
|
+
opacity: 0;
|
|
4281
|
+
transition: opacity 0.1s ease-out;
|
|
4282
|
+
}
|
|
4283
|
+
|
|
4284
|
+
.mb-adapt__iframe--visible {
|
|
4285
|
+
opacity: 1;
|
|
4286
|
+
}
|
|
4287
|
+
|
|
4288
|
+
.mb-adapt__iframe--hidden {
|
|
4289
|
+
display: none;
|
|
4276
4290
|
}
|
|
4277
4291
|
|
|
4278
4292
|
.mb-adapt__drag-handle {
|
|
@@ -4541,6 +4555,7 @@ var MbAdapt = (() => {
|
|
|
4541
4555
|
this.pubsub = new PubsubClient(false);
|
|
4542
4556
|
this.injectDefaultStyles();
|
|
4543
4557
|
this.createRootElement();
|
|
4558
|
+
this.createInitialStructure();
|
|
4544
4559
|
this.setupDragListeners();
|
|
4545
4560
|
this.setupResizeObserver();
|
|
4546
4561
|
this.init();
|
|
@@ -4551,6 +4566,13 @@ var MbAdapt = (() => {
|
|
|
4551
4566
|
static {
|
|
4552
4567
|
this.RESPONSIVE_BREAKPOINT = 600;
|
|
4553
4568
|
}
|
|
4569
|
+
createInitialStructure() {
|
|
4570
|
+
if (this.options.forkDisplayMode === "dialog") {
|
|
4571
|
+
this.createDialogStructure();
|
|
4572
|
+
} else {
|
|
4573
|
+
this.createSideBySideStructure();
|
|
4574
|
+
}
|
|
4575
|
+
}
|
|
4554
4576
|
setupResizeObserver() {
|
|
4555
4577
|
if (!this.rootElement) return;
|
|
4556
4578
|
this.resizeObserver = new ResizeObserver(() => {
|
|
@@ -4781,6 +4803,10 @@ var MbAdapt = (() => {
|
|
|
4781
4803
|
this.currentFork = null;
|
|
4782
4804
|
if (this.forkQueue.length > 0) {
|
|
4783
4805
|
this.activateNextFork();
|
|
4806
|
+
} else {
|
|
4807
|
+
if (this.options.forkDisplayMode === "side-by-side") {
|
|
4808
|
+
this.updateSideBySideVisibility();
|
|
4809
|
+
}
|
|
4784
4810
|
}
|
|
4785
4811
|
}
|
|
4786
4812
|
}
|
|
@@ -4823,67 +4849,26 @@ var MbAdapt = (() => {
|
|
|
4823
4849
|
}
|
|
4824
4850
|
}
|
|
4825
4851
|
updateMainIframe() {
|
|
4826
|
-
if (!this.rootElement || !this.mainUrl) return;
|
|
4827
|
-
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
this.mainIframe = this.createIframe(this.mainUrl, this.mainToken);
|
|
4834
|
-
const oldIframe = this.mainContainer.querySelector(".mb-adapt__iframe");
|
|
4835
|
-
if (oldIframe) oldIframe.remove();
|
|
4836
|
-
this.mainContainer.insertBefore(
|
|
4837
|
-
this.mainIframe,
|
|
4838
|
-
this.mainContainer.firstChild
|
|
4839
|
-
);
|
|
4840
|
-
}
|
|
4841
|
-
} else {
|
|
4842
|
-
if (!this.wrapperElement) {
|
|
4843
|
-
this.createSideBySideStructure();
|
|
4844
|
-
}
|
|
4845
|
-
const newSrc = this.getIframeSrc(this.mainUrl, this.mainToken);
|
|
4846
|
-
if (!this.mainIframe || this.mainIframe.src !== newSrc) {
|
|
4847
|
-
this.mainIframe = this.createIframe(this.mainUrl, this.mainToken);
|
|
4848
|
-
this.mainFrameElement.innerHTML = "";
|
|
4849
|
-
this.mainFrameElement.appendChild(this.mainIframe);
|
|
4850
|
-
}
|
|
4852
|
+
if (!this.rootElement || !this.mainUrl || !this.mainIframe) return;
|
|
4853
|
+
const newSrc = this.getIframeSrc(this.mainUrl, this.mainToken);
|
|
4854
|
+
if (this.mainIframe.src !== newSrc) {
|
|
4855
|
+
this.mainIframe.src = newSrc;
|
|
4856
|
+
}
|
|
4857
|
+
this.showIframe(this.mainIframe);
|
|
4858
|
+
if (this.options.forkDisplayMode === "side-by-side") {
|
|
4851
4859
|
this.updateSideBySideVisibility();
|
|
4852
4860
|
}
|
|
4853
4861
|
}
|
|
4854
4862
|
updateForkIframe() {
|
|
4855
|
-
if (!this.currentFork) return;
|
|
4863
|
+
if (!this.currentFork || !this.forkIframe) return;
|
|
4856
4864
|
const newSrc = this.getIframeSrc(
|
|
4857
4865
|
this.currentFork.url,
|
|
4858
4866
|
this.currentFork.token
|
|
4859
4867
|
);
|
|
4860
|
-
if (this.
|
|
4861
|
-
|
|
4862
|
-
this.createDialogStructure();
|
|
4863
|
-
}
|
|
4864
|
-
if (!this.forkIframe || this.forkIframe.src !== newSrc) {
|
|
4865
|
-
this.forkIframe = this.createIframe(
|
|
4866
|
-
this.currentFork.url,
|
|
4867
|
-
this.currentFork.token
|
|
4868
|
-
);
|
|
4869
|
-
this.forkIframe.style.borderRadius = "0";
|
|
4870
|
-
const iframeContainer = this.dialogElement.children[1];
|
|
4871
|
-
iframeContainer.innerHTML = "";
|
|
4872
|
-
iframeContainer.appendChild(this.forkIframe);
|
|
4873
|
-
}
|
|
4874
|
-
} else {
|
|
4875
|
-
if (!this.wrapperElement) {
|
|
4876
|
-
this.createSideBySideStructure();
|
|
4877
|
-
}
|
|
4878
|
-
if (!this.forkIframe || this.forkIframe.src !== newSrc) {
|
|
4879
|
-
this.forkIframe = this.createIframe(
|
|
4880
|
-
this.currentFork.url,
|
|
4881
|
-
this.currentFork.token
|
|
4882
|
-
);
|
|
4883
|
-
this.forkFrameElement.innerHTML = "";
|
|
4884
|
-
this.forkFrameElement.appendChild(this.forkIframe);
|
|
4885
|
-
}
|
|
4868
|
+
if (this.forkIframe.src !== newSrc) {
|
|
4869
|
+
this.forkIframe.src = newSrc;
|
|
4886
4870
|
}
|
|
4871
|
+
this.showIframe(this.forkIframe);
|
|
4887
4872
|
}
|
|
4888
4873
|
createSideBySideStructure() {
|
|
4889
4874
|
if (this.wrapperElement) return;
|
|
@@ -4892,8 +4877,14 @@ var MbAdapt = (() => {
|
|
|
4892
4877
|
this.wrapperElement.className = this.options.classNames?.wrapper || "mb-adapt__wrapper";
|
|
4893
4878
|
this.mainFrameElement = document.createElement("div");
|
|
4894
4879
|
this.mainFrameElement.className = this.options.classNames?.frameMain || `${this.options.classNames?.frame || "mb-adapt__frame"} mb-adapt__frame--main`;
|
|
4880
|
+
this.mainFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
4895
4881
|
this.forkFrameElement = document.createElement("div");
|
|
4896
4882
|
this.forkFrameElement.className = this.options.classNames?.frameFork || `${this.options.classNames?.frame || "mb-adapt__frame"} mb-adapt__frame--fork`;
|
|
4883
|
+
this.forkFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
4884
|
+
this.mainIframe = this.createHiddenIframe();
|
|
4885
|
+
this.forkIframe = this.createHiddenIframe();
|
|
4886
|
+
this.mainFrameElement.appendChild(this.mainIframe);
|
|
4887
|
+
this.forkFrameElement.appendChild(this.forkIframe);
|
|
4897
4888
|
this.dragHandleElement = document.createElement("div");
|
|
4898
4889
|
this.dragHandleElement.className = this.options.classNames?.dragHandle || "mb-adapt__drag-handle";
|
|
4899
4890
|
this.dragHandleElement.style.transform = "translateX(-50%)";
|
|
@@ -4954,9 +4945,9 @@ var MbAdapt = (() => {
|
|
|
4954
4945
|
return;
|
|
4955
4946
|
if (!this.currentFork) {
|
|
4956
4947
|
this.mainFrameElement.style.width = "100%";
|
|
4957
|
-
this.mainFrameElement.
|
|
4958
|
-
this.forkFrameElement.
|
|
4959
|
-
this.dragHandleElement.
|
|
4948
|
+
this.mainFrameElement.classList.remove("mb-adapt__frame--hidden");
|
|
4949
|
+
this.forkFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
4950
|
+
this.dragHandleElement.classList.add("mb-adapt__frame--hidden");
|
|
4960
4951
|
this.mainExpandButton.classList.remove(
|
|
4961
4952
|
"mb-adapt__expand-button--visible"
|
|
4962
4953
|
);
|
|
@@ -4967,10 +4958,10 @@ var MbAdapt = (() => {
|
|
|
4967
4958
|
}
|
|
4968
4959
|
if (this.isResponsiveMode()) {
|
|
4969
4960
|
this.mainFrameElement.style.width = "0%";
|
|
4970
|
-
this.mainFrameElement.
|
|
4961
|
+
this.mainFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
4971
4962
|
this.forkFrameElement.style.width = "100%";
|
|
4972
|
-
this.forkFrameElement.
|
|
4973
|
-
this.dragHandleElement.
|
|
4963
|
+
this.forkFrameElement.classList.remove("mb-adapt__frame--hidden");
|
|
4964
|
+
this.dragHandleElement.classList.add("mb-adapt__frame--hidden");
|
|
4974
4965
|
this.mainExpandButton.classList.add("mb-adapt__expand-button--visible");
|
|
4975
4966
|
this.forkExpandButton.classList.remove(
|
|
4976
4967
|
"mb-adapt__expand-button--visible"
|
|
@@ -4982,11 +4973,19 @@ var MbAdapt = (() => {
|
|
|
4982
4973
|
const mainCollapsed = mainWidth < _AdaptWebClient.COLLAPSE_THRESHOLD;
|
|
4983
4974
|
const forkCollapsed = forkWidth < _AdaptWebClient.COLLAPSE_THRESHOLD;
|
|
4984
4975
|
this.mainFrameElement.style.width = mainCollapsed ? "0%" : `${mainWidth}%`;
|
|
4985
|
-
|
|
4976
|
+
if (mainCollapsed) {
|
|
4977
|
+
this.mainFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
4978
|
+
} else {
|
|
4979
|
+
this.mainFrameElement.classList.remove("mb-adapt__frame--hidden");
|
|
4980
|
+
}
|
|
4986
4981
|
this.forkFrameElement.style.width = forkCollapsed ? "0%" : `${forkWidth}%`;
|
|
4987
|
-
|
|
4982
|
+
if (forkCollapsed) {
|
|
4983
|
+
this.forkFrameElement.classList.add("mb-adapt__frame--hidden");
|
|
4984
|
+
} else {
|
|
4985
|
+
this.forkFrameElement.classList.remove("mb-adapt__frame--hidden");
|
|
4986
|
+
}
|
|
4988
4987
|
this.dragHandleElement.style.left = `${this.splitPercentage}%`;
|
|
4989
|
-
this.dragHandleElement.
|
|
4988
|
+
this.dragHandleElement.classList.remove("mb-adapt__frame--hidden");
|
|
4990
4989
|
if (mainCollapsed || forkCollapsed) {
|
|
4991
4990
|
this.dragHandleElement.classList.add("mb-adapt__drag-handle--disabled");
|
|
4992
4991
|
} else {
|
|
@@ -5023,6 +5022,8 @@ var MbAdapt = (() => {
|
|
|
5023
5022
|
this.rootElement.innerHTML = "";
|
|
5024
5023
|
this.mainContainer = document.createElement("div");
|
|
5025
5024
|
this.mainContainer.className = "mb-adapt__main-container";
|
|
5025
|
+
this.mainIframe = this.createHiddenIframe();
|
|
5026
|
+
this.mainContainer.appendChild(this.mainIframe);
|
|
5026
5027
|
this.dialogExpandButton = document.createElement("button");
|
|
5027
5028
|
this.dialogExpandButton.className = this.options.classNames?.expandButton || "mb-adapt__expand-button";
|
|
5028
5029
|
this.dialogExpandButton.classList.add("mb-adapt__expand-button--dialog");
|
|
@@ -5064,6 +5065,9 @@ var MbAdapt = (() => {
|
|
|
5064
5065
|
const iframeContainer = document.createElement("div");
|
|
5065
5066
|
iframeContainer.style.flex = "1";
|
|
5066
5067
|
iframeContainer.style.overflow = "hidden";
|
|
5068
|
+
this.forkIframe = this.createHiddenIframe();
|
|
5069
|
+
this.forkIframe.style.borderRadius = "0";
|
|
5070
|
+
iframeContainer.appendChild(this.forkIframe);
|
|
5067
5071
|
this.dialogElement.appendChild(iframeContainer);
|
|
5068
5072
|
this.mainContainer.appendChild(this.dialogExpandButton);
|
|
5069
5073
|
this.rootElement.appendChild(this.mainContainer);
|
|
@@ -5095,10 +5099,9 @@ var MbAdapt = (() => {
|
|
|
5095
5099
|
getIframeSrc(url, token) {
|
|
5096
5100
|
return `${url}${token ? "#" + token : ""}`;
|
|
5097
5101
|
}
|
|
5098
|
-
|
|
5102
|
+
createHiddenIframe() {
|
|
5099
5103
|
const iframe = document.createElement("iframe");
|
|
5100
5104
|
iframe.className = this.options.classNames?.iframe || "mb-adapt__iframe";
|
|
5101
|
-
iframe.src = this.getIframeSrc(url, token);
|
|
5102
5105
|
iframe.setAttribute(
|
|
5103
5106
|
"sandbox",
|
|
5104
5107
|
"allow-downloads allow-same-origin allow-scripts allow-popups allow-forms allow-modals"
|
|
@@ -5109,6 +5112,11 @@ var MbAdapt = (() => {
|
|
|
5109
5112
|
);
|
|
5110
5113
|
return iframe;
|
|
5111
5114
|
}
|
|
5115
|
+
showIframe(iframe) {
|
|
5116
|
+
iframe.classList.remove("mb-adapt__iframe--hidden");
|
|
5117
|
+
void iframe.offsetHeight;
|
|
5118
|
+
iframe.classList.add("mb-adapt__iframe--visible");
|
|
5119
|
+
}
|
|
5112
5120
|
};
|
|
5113
5121
|
return __toCommonJS(index_exports);
|
|
5114
5122
|
})();
|
|
@@ -34,6 +34,10 @@
|
|
|
34
34
|
transition: width 0.15s ease-out;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
.mb-adapt__frame--hidden {
|
|
38
|
+
display: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
37
41
|
.mb-adapt__iframe {
|
|
38
42
|
width: 100%;
|
|
39
43
|
height: 100%;
|
|
@@ -41,6 +45,16 @@
|
|
|
41
45
|
display: block;
|
|
42
46
|
border-radius: var(--mb-adapt-border-radius);
|
|
43
47
|
pointer-events: auto;
|
|
48
|
+
opacity: 0;
|
|
49
|
+
transition: opacity 0.1s ease-out;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.mb-adapt__iframe--visible {
|
|
53
|
+
opacity: 1;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.mb-adapt__iframe--hidden {
|
|
57
|
+
display: none;
|
|
44
58
|
}
|
|
45
59
|
|
|
46
60
|
.mb-adapt__drag-handle {
|
|
@@ -268,4 +282,4 @@
|
|
|
268
282
|
transform: none;
|
|
269
283
|
}
|
|
270
284
|
}
|
|
271
|
-
`,rn=class e{constructor(n){this.rootElement=null;this.mainUrl=null;this.forkQueue=[];this.currentFork=null;this.sessionToken=null;this.isDragging=!1;this.wrapperElement=null;this.mainFrameElement=null;this.forkFrameElement=null;this.mainIframe=null;this.forkIframe=null;this.dragHandleElement=null;this.mainExpandButton=null;this.forkExpandButton=null;this.mainContainer=null;this.dialogBackdrop=null;this.dialogElement=null;this.dialogExpandButton=null;this.mouseMoveHandler=null;this.mouseUpHandler=null;this.resizeObserver=null;this.destroyed=!1;this.options={...n,forkDisplayMode:n.forkDisplayMode??"side-by-side"},this.splitPercentage=n.sideBySideSplit??50;let t=document.getElementById(n.container);if(!t)throw new Error(`Container with id '${n.container}' not found`);this.container=t,this.pubsub=new Ae(!1),this.injectDefaultStyles(),this.createRootElement(),this.setupDragListeners(),this.setupResizeObserver(),this.init()}static{this.COLLAPSE_THRESHOLD=15}static{this.RESPONSIVE_BREAKPOINT=600}setupResizeObserver(){this.rootElement&&(this.resizeObserver=new ResizeObserver(()=>{this.options.forkDisplayMode==="side-by-side"&&this.currentFork&&this.updateSideBySideVisibility()}),this.resizeObserver.observe(this.rootElement))}setupDragListeners(){let n=this.splitPercentage,t=!1,o=a=>{if(!this.isDragging||!this.rootElement)return;let i=this.rootElement.getBoundingClientRect();if(i.width===0)return;n=(a.clientX-i.left)/i.width*100;let r=n,l=100-n;r<e.COLLAPSE_THRESHOLD?t||(t=!0,this.splitPercentage=0,this.updateSideBySideVisibility()):l<e.COLLAPSE_THRESHOLD?t||(t=!0,this.splitPercentage=100,this.updateSideBySideVisibility()):(t=!1,this.splitPercentage=Math.max(e.COLLAPSE_THRESHOLD,Math.min(100-e.COLLAPSE_THRESHOLD,n)),this.updateSideBySideWidths())},s=()=>{this.isDragging&&(this.isDragging=!1,t=!1,document.getElementById("mb-adapt-drag-overlay")?.remove(),this.rootElement?.querySelectorAll(".mb-adapt__iframe-overlay").forEach(a=>a.remove()),this.mainFrameElement&&(this.mainFrameElement.style.transition=""),this.forkFrameElement&&(this.forkFrameElement.style.transition=""),this.dragHandleElement&&(this.dragHandleElement.style.transition=""),this.splitPercentage!==0&&this.splitPercentage!==100&&n>=e.COLLAPSE_THRESHOLD&&100-n>=e.COLLAPSE_THRESHOLD&&(this.splitPercentage=n),n=this.splitPercentage)};this.mouseMoveHandler=o,this.mouseUpHandler=s,document.addEventListener("mousemove",this.mouseMoveHandler),document.addEventListener("mouseup",this.mouseUpHandler)}injectDefaultStyles(){if(document.getElementById("mb-adapt-styles"))return;let n=document.createElement("style");n.id="mb-adapt-styles",n.textContent=As,document.head.appendChild(n)}createRootElement(){this.rootElement=document.createElement("div"),this.rootElement.className=this.options.classNames?.root||"mb-adapt",this.options.styles&&Object.assign(this.rootElement.style,this.options.styles),this.container.appendChild(this.rootElement)}parseInheritToken(){let n=this.options.inheritFrom;return n?"hash"in n?this.parseFromHash(n.hash):this.parseFromParam(n.param):null}parseFromHash(n){let t=window.location.hash.slice(1);if(!t)return null;let o=new URLSearchParams(t),s=o.get(n);if(!s)return null;o.delete(n);let a=o.toString(),i=window.location.pathname+window.location.search+(a?"#"+a:"");return history.replaceState(null,"",i),decodeURIComponent(s)}parseFromParam(n){let t=new URLSearchParams(window.location.search),o=t.get(n);if(!o)return null;t.delete(n);let s=t.toString(),a=window.location.pathname+(s?"?"+s:"")+window.location.hash;return history.replaceState(null,"",a),decodeURIComponent(o)}async init(){if(this.options.sessionToken)this.sessionToken=this.options.sessionToken;else{let t=this.parseInheritToken(),o=t||this.options.inheritToken;if(this.options.inheritFrom&&!t){let a="hash"in this.options.inheritFrom?`hash key '${this.options.inheritFrom.hash}'`:`param '${this.options.inheritFrom.param}'`;console.error(`[AdaptWebClient] No inherit token found in URL ${a}`);return}let s;if(o)s=await so(this.options.id,o);else{let a={id:this.options.id};this.options.transmitter&&(a.transmitter=this.options.transmitter),this.options.signals&&(a.signals=this.options.signals),this.options.authToken&&(a.token=this.options.authToken),s=await oo(a)}this.sessionToken=s.sessionToken}let n={id:this.options.id,sessionToken:this.sessionToken,onUrl:t=>this.onUrl(t),onSession:t=>{t.status==="STATUS_COMPLETED"&&!t.fork&&this.handleSessionComplete(),this.options.onSession&&this.options.onSession(t.status||"STATUS_UNSPECIFIED",t.fork)}};this.options.onOutput&&(n.onOutput=this.options.onOutput),await this.pubsub.subscribe(n)}async destroy(){this.destroyed=!0,this.sessionToken&&ao(this.options.id,this.sessionToken),await this.pubsub.unsubscribe(),this.mouseMoveHandler&&document.removeEventListener("mousemove",this.mouseMoveHandler),this.mouseUpHandler&&document.removeEventListener("mouseup",this.mouseUpHandler),this.resizeObserver&&this.resizeObserver.disconnect(),this.rootElement?.parentNode?.removeChild(this.rootElement),this.mainUrl=null,this.mainToken=void 0,this.forkQueue=[],this.currentFork=null,this.sessionToken=null,this.rootElement=null,this.wrapperElement=null,this.mainFrameElement=null,this.forkFrameElement=null,this.mainIframe=null,this.forkIframe=null,this.dragHandleElement=null,this.mainExpandButton=null,this.forkExpandButton=null,this.mainContainer=null,this.dialogBackdrop=null,this.dialogElement=null,this.dialogExpandButton=null,this.mouseMoveHandler=null,this.mouseUpHandler=null,this.resizeObserver=null}onUrl(n){if(this.destroyed)return;let t=n.fork||"";if(n.done){this.handleDoneMessage(t);return}n.url&&(t?this.handleForkUrl(n.url,n.token,t):this.handleMainUrl(n.url,n.token))}handleSessionComplete(){this.currentFork=null,this.forkQueue=[],this.options.forkDisplayMode==="side-by-side"?this.updateSideBySideVisibility():this.options.forkDisplayMode==="dialog"&&this.updateDialogVisibility()}handleDoneMessage(n){n&&(this.forkQueue=this.forkQueue.filter(t=>t.fork!==n),this.currentFork?.fork===n&&(this.currentFork=null,this.forkQueue.length>0&&this.activateNextFork()))}handleMainUrl(n,t){this.mainUrl=n,this.mainToken=t,this.updateMainIframe()}handleForkUrl(n,t,o){let s=(o.match(/\//g)||[]).length,a={url:n,token:t,fork:o,depth:s,time:Date.now()};this.mainUrl||(this.mainUrl=n,this.mainToken=t,this.updateMainIframe()),this.forkQueue.push(a),this.currentFork||this.activateNextFork()}activateNextFork(){this.forkQueue.length!==0&&(this.forkQueue.sort((n,t)=>n.depth!==t.depth?t.depth-n.depth:t.time-n.time),this.currentFork=this.forkQueue.shift(),this.updateForkIframe(),this.options.forkDisplayMode==="dialog"?this.updateDialogVisibility():this.updateSideBySideVisibility())}updateMainIframe(){if(!(!this.rootElement||!this.mainUrl))if(this.options.forkDisplayMode==="dialog"){this.mainContainer||this.createDialogStructure();let n=this.getIframeSrc(this.mainUrl,this.mainToken);if(!this.mainIframe||this.mainIframe.src!==n){this.mainIframe=this.createIframe(this.mainUrl,this.mainToken);let t=this.mainContainer.querySelector(".mb-adapt__iframe");t&&t.remove(),this.mainContainer.insertBefore(this.mainIframe,this.mainContainer.firstChild)}}else{this.wrapperElement||this.createSideBySideStructure();let n=this.getIframeSrc(this.mainUrl,this.mainToken);(!this.mainIframe||this.mainIframe.src!==n)&&(this.mainIframe=this.createIframe(this.mainUrl,this.mainToken),this.mainFrameElement.innerHTML="",this.mainFrameElement.appendChild(this.mainIframe)),this.updateSideBySideVisibility()}}updateForkIframe(){if(!this.currentFork)return;let n=this.getIframeSrc(this.currentFork.url,this.currentFork.token);if(this.options.forkDisplayMode==="dialog"){if(this.mainContainer||this.createDialogStructure(),!this.forkIframe||this.forkIframe.src!==n){this.forkIframe=this.createIframe(this.currentFork.url,this.currentFork.token),this.forkIframe.style.borderRadius="0";let t=this.dialogElement.children[1];t.innerHTML="",t.appendChild(this.forkIframe)}}else this.wrapperElement||this.createSideBySideStructure(),(!this.forkIframe||this.forkIframe.src!==n)&&(this.forkIframe=this.createIframe(this.currentFork.url,this.currentFork.token),this.forkFrameElement.innerHTML="",this.forkFrameElement.appendChild(this.forkIframe))}createSideBySideStructure(){this.wrapperElement||(this.rootElement.innerHTML="",this.wrapperElement=document.createElement("div"),this.wrapperElement.className=this.options.classNames?.wrapper||"mb-adapt__wrapper",this.mainFrameElement=document.createElement("div"),this.mainFrameElement.className=this.options.classNames?.frameMain||`${this.options.classNames?.frame||"mb-adapt__frame"} mb-adapt__frame--main`,this.forkFrameElement=document.createElement("div"),this.forkFrameElement.className=this.options.classNames?.frameFork||`${this.options.classNames?.frame||"mb-adapt__frame"} mb-adapt__frame--fork`,this.dragHandleElement=document.createElement("div"),this.dragHandleElement.className=this.options.classNames?.dragHandle||"mb-adapt__drag-handle",this.dragHandleElement.style.transform="translateX(-50%)",this.dragHandleElement.addEventListener("mousedown",n=>{n.preventDefault(),this.isDragging=!0,this.mainFrameElement&&(this.mainFrameElement.style.transition="none"),this.forkFrameElement&&(this.forkFrameElement.style.transition="none"),this.dragHandleElement&&(this.dragHandleElement.style.transition="none");let t=document.createElement("div");t.className="mb-adapt__drag-overlay",t.id="mb-adapt-drag-overlay",this.rootElement.appendChild(t),[this.mainFrameElement,this.forkFrameElement].forEach(o=>{if(o){let s=document.createElement("div");s.className="mb-adapt__iframe-overlay",o.appendChild(s)}})}),this.mainExpandButton=document.createElement("button"),this.mainExpandButton.className=this.options.classNames?.expandButton||"mb-adapt__expand-button",this.mainExpandButton.classList.add("mb-adapt__expand-button--left"),this.mainExpandButton.innerHTML="\u203A",this.mainExpandButton.setAttribute("aria-label","Expand main frame"),this.mainExpandButton.setAttribute("title","Expand main frame"),this.mainExpandButton.addEventListener("click",()=>{this.splitPercentage=50,this.updateSideBySideVisibility()}),this.forkExpandButton=document.createElement("button"),this.forkExpandButton.className=this.options.classNames?.expandButton||"mb-adapt__expand-button",this.forkExpandButton.classList.add("mb-adapt__expand-button--right"),this.forkExpandButton.innerHTML="\u2039",this.forkExpandButton.setAttribute("aria-label","Expand fork frame"),this.forkExpandButton.setAttribute("title","Expand fork frame"),this.forkExpandButton.addEventListener("click",()=>{this.splitPercentage=50,this.updateSideBySideVisibility()}),this.wrapperElement.appendChild(this.mainFrameElement),this.wrapperElement.appendChild(this.forkFrameElement),this.wrapperElement.appendChild(this.dragHandleElement),this.wrapperElement.appendChild(this.mainExpandButton),this.wrapperElement.appendChild(this.forkExpandButton),this.rootElement.appendChild(this.wrapperElement))}isResponsiveMode(){return this.rootElement?this.rootElement.offsetWidth<e.RESPONSIVE_BREAKPOINT:!1}updateSideBySideVisibility(){if(!this.mainFrameElement||!this.forkFrameElement||!this.dragHandleElement)return;if(!this.currentFork){this.mainFrameElement.style.width="100%",this.mainFrameElement.style.display="block",this.forkFrameElement.style.display="none",this.dragHandleElement.style.display="none",this.mainExpandButton.classList.remove("mb-adapt__expand-button--visible"),this.forkExpandButton.classList.remove("mb-adapt__expand-button--visible");return}if(this.isResponsiveMode()){this.mainFrameElement.style.width="0%",this.mainFrameElement.style.display="none",this.forkFrameElement.style.width="100%",this.forkFrameElement.style.display="block",this.dragHandleElement.style.display="none",this.mainExpandButton.classList.add("mb-adapt__expand-button--visible"),this.forkExpandButton.classList.remove("mb-adapt__expand-button--visible");return}let n=this.splitPercentage,t=100-this.splitPercentage,o=n<e.COLLAPSE_THRESHOLD,s=t<e.COLLAPSE_THRESHOLD;this.mainFrameElement.style.width=o?"0%":`${n}%`,this.mainFrameElement.style.display=o?"none":"block",this.forkFrameElement.style.width=s?"0%":`${t}%`,this.forkFrameElement.style.display=s?"none":"block",this.dragHandleElement.style.left=`${this.splitPercentage}%`,this.dragHandleElement.style.display="block",o||s?this.dragHandleElement.classList.add("mb-adapt__drag-handle--disabled"):this.dragHandleElement.classList.remove("mb-adapt__drag-handle--disabled"),o?this.mainExpandButton.classList.add("mb-adapt__expand-button--visible"):this.mainExpandButton.classList.remove("mb-adapt__expand-button--visible"),s?this.forkExpandButton.classList.add("mb-adapt__expand-button--visible"):this.forkExpandButton.classList.remove("mb-adapt__expand-button--visible")}updateSideBySideWidths(){if(!this.mainFrameElement||!this.forkFrameElement||!this.dragHandleElement)return;let n=this.splitPercentage,t=100-this.splitPercentage;this.mainFrameElement.style.width=`${n}%`,this.forkFrameElement.style.width=`${t}%`,this.dragHandleElement.style.left=`${this.splitPercentage}%`}createDialogStructure(){if(this.mainContainer)return;this.rootElement.innerHTML="",this.mainContainer=document.createElement("div"),this.mainContainer.className="mb-adapt__main-container",this.dialogExpandButton=document.createElement("button"),this.dialogExpandButton.className=this.options.classNames?.expandButton||"mb-adapt__expand-button",this.dialogExpandButton.classList.add("mb-adapt__expand-button--dialog"),this.dialogExpandButton.innerHTML="\u2304",this.dialogExpandButton.setAttribute("aria-label","Open fork dialog"),this.dialogExpandButton.setAttribute("title","Open fork dialog"),this.dialogExpandButton.addEventListener("click",()=>{this.activateNextFork()}),this.dialogBackdrop=document.createElement("div"),this.dialogBackdrop.className=this.options.classNames?.dialogBackdrop||"mb-adapt__dialog-backdrop",this.options.dialogBackdropClose&&this.dialogBackdrop.addEventListener("click",()=>{this.currentFork&&this.forkQueue.unshift(this.currentFork),this.currentFork=null,this.updateDialogVisibility()}),this.dialogElement=document.createElement("div"),this.dialogElement.className=this.options.classNames?.dialog||"mb-adapt__dialog";let n=document.createElement("div");n.className=this.options.classNames?.dialogBanner||"mb-adapt__dialog-banner";let t=document.createElement("button");t.className=this.options.classNames?.dialogClose||"mb-adapt__dialog-close",t.innerHTML="\xD7",t.setAttribute("aria-label","Close dialog"),t.setAttribute("title","Close dialog"),t.addEventListener("click",()=>{this.currentFork&&this.forkQueue.unshift(this.currentFork),this.currentFork=null,this.updateDialogVisibility()}),n.appendChild(t),this.dialogElement.appendChild(n);let o=document.createElement("div");o.style.flex="1",o.style.overflow="hidden",this.dialogElement.appendChild(o),this.mainContainer.appendChild(this.dialogExpandButton),this.rootElement.appendChild(this.mainContainer),this.rootElement.appendChild(this.dialogBackdrop),this.rootElement.appendChild(this.dialogElement)}updateDialogVisibility(){if(!this.dialogExpandButton||!this.dialogBackdrop||!this.dialogElement)return;let n=this.forkQueue.length>0,t=this.currentFork!==null;!t&&n?this.dialogExpandButton.classList.add("mb-adapt__expand-button--visible"):this.dialogExpandButton.classList.remove("mb-adapt__expand-button--visible"),t?(this.dialogBackdrop.classList.add("mb-adapt__dialog-backdrop--visible"),this.dialogElement.classList.add("mb-adapt__dialog--visible")):(this.dialogBackdrop.classList.remove("mb-adapt__dialog-backdrop--visible"),this.dialogElement.classList.remove("mb-adapt__dialog--visible"))}getIframeSrc(n,t){return`${n}${t?"#"+t:""}`}createIframe(n,t){let o=document.createElement("iframe");return o.className=this.options.classNames?.iframe||"mb-adapt__iframe",o.src=this.getIframeSrc(n,t),o.setAttribute("sandbox","allow-downloads allow-same-origin allow-scripts allow-popups allow-forms allow-modals"),o.setAttribute("allow","geolocation; accelerometer; midi; microphone; camera; magnetometer; gyroscope; fullscreen; payment;"),o}};return uo(Cs);})();
|
|
285
|
+
`,rn=class e{constructor(n){this.rootElement=null;this.mainUrl=null;this.forkQueue=[];this.currentFork=null;this.sessionToken=null;this.isDragging=!1;this.wrapperElement=null;this.mainFrameElement=null;this.forkFrameElement=null;this.mainIframe=null;this.forkIframe=null;this.dragHandleElement=null;this.mainExpandButton=null;this.forkExpandButton=null;this.mainContainer=null;this.dialogBackdrop=null;this.dialogElement=null;this.dialogExpandButton=null;this.mouseMoveHandler=null;this.mouseUpHandler=null;this.resizeObserver=null;this.destroyed=!1;this.options={...n,forkDisplayMode:n.forkDisplayMode??"side-by-side"},this.splitPercentage=n.sideBySideSplit??50;let t=document.getElementById(n.container);if(!t)throw new Error(`Container with id '${n.container}' not found`);this.container=t,this.pubsub=new Ae(!1),this.injectDefaultStyles(),this.createRootElement(),this.createInitialStructure(),this.setupDragListeners(),this.setupResizeObserver(),this.init()}static{this.COLLAPSE_THRESHOLD=15}static{this.RESPONSIVE_BREAKPOINT=600}createInitialStructure(){this.options.forkDisplayMode==="dialog"?this.createDialogStructure():this.createSideBySideStructure()}setupResizeObserver(){this.rootElement&&(this.resizeObserver=new ResizeObserver(()=>{this.options.forkDisplayMode==="side-by-side"&&this.currentFork&&this.updateSideBySideVisibility()}),this.resizeObserver.observe(this.rootElement))}setupDragListeners(){let n=this.splitPercentage,t=!1,o=a=>{if(!this.isDragging||!this.rootElement)return;let i=this.rootElement.getBoundingClientRect();if(i.width===0)return;n=(a.clientX-i.left)/i.width*100;let r=n,l=100-n;r<e.COLLAPSE_THRESHOLD?t||(t=!0,this.splitPercentage=0,this.updateSideBySideVisibility()):l<e.COLLAPSE_THRESHOLD?t||(t=!0,this.splitPercentage=100,this.updateSideBySideVisibility()):(t=!1,this.splitPercentage=Math.max(e.COLLAPSE_THRESHOLD,Math.min(100-e.COLLAPSE_THRESHOLD,n)),this.updateSideBySideWidths())},s=()=>{this.isDragging&&(this.isDragging=!1,t=!1,document.getElementById("mb-adapt-drag-overlay")?.remove(),this.rootElement?.querySelectorAll(".mb-adapt__iframe-overlay").forEach(a=>a.remove()),this.mainFrameElement&&(this.mainFrameElement.style.transition=""),this.forkFrameElement&&(this.forkFrameElement.style.transition=""),this.dragHandleElement&&(this.dragHandleElement.style.transition=""),this.splitPercentage!==0&&this.splitPercentage!==100&&n>=e.COLLAPSE_THRESHOLD&&100-n>=e.COLLAPSE_THRESHOLD&&(this.splitPercentage=n),n=this.splitPercentage)};this.mouseMoveHandler=o,this.mouseUpHandler=s,document.addEventListener("mousemove",this.mouseMoveHandler),document.addEventListener("mouseup",this.mouseUpHandler)}injectDefaultStyles(){if(document.getElementById("mb-adapt-styles"))return;let n=document.createElement("style");n.id="mb-adapt-styles",n.textContent=As,document.head.appendChild(n)}createRootElement(){this.rootElement=document.createElement("div"),this.rootElement.className=this.options.classNames?.root||"mb-adapt",this.options.styles&&Object.assign(this.rootElement.style,this.options.styles),this.container.appendChild(this.rootElement)}parseInheritToken(){let n=this.options.inheritFrom;return n?"hash"in n?this.parseFromHash(n.hash):this.parseFromParam(n.param):null}parseFromHash(n){let t=window.location.hash.slice(1);if(!t)return null;let o=new URLSearchParams(t),s=o.get(n);if(!s)return null;o.delete(n);let a=o.toString(),i=window.location.pathname+window.location.search+(a?"#"+a:"");return history.replaceState(null,"",i),decodeURIComponent(s)}parseFromParam(n){let t=new URLSearchParams(window.location.search),o=t.get(n);if(!o)return null;t.delete(n);let s=t.toString(),a=window.location.pathname+(s?"?"+s:"")+window.location.hash;return history.replaceState(null,"",a),decodeURIComponent(o)}async init(){if(this.options.sessionToken)this.sessionToken=this.options.sessionToken;else{let t=this.parseInheritToken(),o=t||this.options.inheritToken;if(this.options.inheritFrom&&!t){let a="hash"in this.options.inheritFrom?`hash key '${this.options.inheritFrom.hash}'`:`param '${this.options.inheritFrom.param}'`;console.error(`[AdaptWebClient] No inherit token found in URL ${a}`);return}let s;if(o)s=await so(this.options.id,o);else{let a={id:this.options.id};this.options.transmitter&&(a.transmitter=this.options.transmitter),this.options.signals&&(a.signals=this.options.signals),this.options.authToken&&(a.token=this.options.authToken),s=await oo(a)}this.sessionToken=s.sessionToken}let n={id:this.options.id,sessionToken:this.sessionToken,onUrl:t=>this.onUrl(t),onSession:t=>{t.status==="STATUS_COMPLETED"&&!t.fork&&this.handleSessionComplete(),this.options.onSession&&this.options.onSession(t.status||"STATUS_UNSPECIFIED",t.fork)}};this.options.onOutput&&(n.onOutput=this.options.onOutput),await this.pubsub.subscribe(n)}async destroy(){this.destroyed=!0,this.sessionToken&&ao(this.options.id,this.sessionToken),await this.pubsub.unsubscribe(),this.mouseMoveHandler&&document.removeEventListener("mousemove",this.mouseMoveHandler),this.mouseUpHandler&&document.removeEventListener("mouseup",this.mouseUpHandler),this.resizeObserver&&this.resizeObserver.disconnect(),this.rootElement?.parentNode?.removeChild(this.rootElement),this.mainUrl=null,this.mainToken=void 0,this.forkQueue=[],this.currentFork=null,this.sessionToken=null,this.rootElement=null,this.wrapperElement=null,this.mainFrameElement=null,this.forkFrameElement=null,this.mainIframe=null,this.forkIframe=null,this.dragHandleElement=null,this.mainExpandButton=null,this.forkExpandButton=null,this.mainContainer=null,this.dialogBackdrop=null,this.dialogElement=null,this.dialogExpandButton=null,this.mouseMoveHandler=null,this.mouseUpHandler=null,this.resizeObserver=null}onUrl(n){if(this.destroyed)return;let t=n.fork||"";if(n.done){this.handleDoneMessage(t);return}n.url&&(t?this.handleForkUrl(n.url,n.token,t):this.handleMainUrl(n.url,n.token))}handleSessionComplete(){this.currentFork=null,this.forkQueue=[],this.options.forkDisplayMode==="side-by-side"?this.updateSideBySideVisibility():this.options.forkDisplayMode==="dialog"&&this.updateDialogVisibility()}handleDoneMessage(n){n&&(this.forkQueue=this.forkQueue.filter(t=>t.fork!==n),this.currentFork?.fork===n&&(this.currentFork=null,this.forkQueue.length>0?this.activateNextFork():this.options.forkDisplayMode==="side-by-side"&&this.updateSideBySideVisibility()))}handleMainUrl(n,t){this.mainUrl=n,this.mainToken=t,this.updateMainIframe()}handleForkUrl(n,t,o){let s=(o.match(/\//g)||[]).length,a={url:n,token:t,fork:o,depth:s,time:Date.now()};this.mainUrl||(this.mainUrl=n,this.mainToken=t,this.updateMainIframe()),this.forkQueue.push(a),this.currentFork||this.activateNextFork()}activateNextFork(){this.forkQueue.length!==0&&(this.forkQueue.sort((n,t)=>n.depth!==t.depth?t.depth-n.depth:t.time-n.time),this.currentFork=this.forkQueue.shift(),this.updateForkIframe(),this.options.forkDisplayMode==="dialog"?this.updateDialogVisibility():this.updateSideBySideVisibility())}updateMainIframe(){if(!this.rootElement||!this.mainUrl||!this.mainIframe)return;let n=this.getIframeSrc(this.mainUrl,this.mainToken);this.mainIframe.src!==n&&(this.mainIframe.src=n),this.showIframe(this.mainIframe),this.options.forkDisplayMode==="side-by-side"&&this.updateSideBySideVisibility()}updateForkIframe(){if(!this.currentFork||!this.forkIframe)return;let n=this.getIframeSrc(this.currentFork.url,this.currentFork.token);this.forkIframe.src!==n&&(this.forkIframe.src=n),this.showIframe(this.forkIframe)}createSideBySideStructure(){this.wrapperElement||(this.rootElement.innerHTML="",this.wrapperElement=document.createElement("div"),this.wrapperElement.className=this.options.classNames?.wrapper||"mb-adapt__wrapper",this.mainFrameElement=document.createElement("div"),this.mainFrameElement.className=this.options.classNames?.frameMain||`${this.options.classNames?.frame||"mb-adapt__frame"} mb-adapt__frame--main`,this.mainFrameElement.classList.add("mb-adapt__frame--hidden"),this.forkFrameElement=document.createElement("div"),this.forkFrameElement.className=this.options.classNames?.frameFork||`${this.options.classNames?.frame||"mb-adapt__frame"} mb-adapt__frame--fork`,this.forkFrameElement.classList.add("mb-adapt__frame--hidden"),this.mainIframe=this.createHiddenIframe(),this.forkIframe=this.createHiddenIframe(),this.mainFrameElement.appendChild(this.mainIframe),this.forkFrameElement.appendChild(this.forkIframe),this.dragHandleElement=document.createElement("div"),this.dragHandleElement.className=this.options.classNames?.dragHandle||"mb-adapt__drag-handle",this.dragHandleElement.style.transform="translateX(-50%)",this.dragHandleElement.addEventListener("mousedown",n=>{n.preventDefault(),this.isDragging=!0,this.mainFrameElement&&(this.mainFrameElement.style.transition="none"),this.forkFrameElement&&(this.forkFrameElement.style.transition="none"),this.dragHandleElement&&(this.dragHandleElement.style.transition="none");let t=document.createElement("div");t.className="mb-adapt__drag-overlay",t.id="mb-adapt-drag-overlay",this.rootElement.appendChild(t),[this.mainFrameElement,this.forkFrameElement].forEach(o=>{if(o){let s=document.createElement("div");s.className="mb-adapt__iframe-overlay",o.appendChild(s)}})}),this.mainExpandButton=document.createElement("button"),this.mainExpandButton.className=this.options.classNames?.expandButton||"mb-adapt__expand-button",this.mainExpandButton.classList.add("mb-adapt__expand-button--left"),this.mainExpandButton.innerHTML="\u203A",this.mainExpandButton.setAttribute("aria-label","Expand main frame"),this.mainExpandButton.setAttribute("title","Expand main frame"),this.mainExpandButton.addEventListener("click",()=>{this.splitPercentage=50,this.updateSideBySideVisibility()}),this.forkExpandButton=document.createElement("button"),this.forkExpandButton.className=this.options.classNames?.expandButton||"mb-adapt__expand-button",this.forkExpandButton.classList.add("mb-adapt__expand-button--right"),this.forkExpandButton.innerHTML="\u2039",this.forkExpandButton.setAttribute("aria-label","Expand fork frame"),this.forkExpandButton.setAttribute("title","Expand fork frame"),this.forkExpandButton.addEventListener("click",()=>{this.splitPercentage=50,this.updateSideBySideVisibility()}),this.wrapperElement.appendChild(this.mainFrameElement),this.wrapperElement.appendChild(this.forkFrameElement),this.wrapperElement.appendChild(this.dragHandleElement),this.wrapperElement.appendChild(this.mainExpandButton),this.wrapperElement.appendChild(this.forkExpandButton),this.rootElement.appendChild(this.wrapperElement))}isResponsiveMode(){return this.rootElement?this.rootElement.offsetWidth<e.RESPONSIVE_BREAKPOINT:!1}updateSideBySideVisibility(){if(!this.mainFrameElement||!this.forkFrameElement||!this.dragHandleElement)return;if(!this.currentFork){this.mainFrameElement.style.width="100%",this.mainFrameElement.classList.remove("mb-adapt__frame--hidden"),this.forkFrameElement.classList.add("mb-adapt__frame--hidden"),this.dragHandleElement.classList.add("mb-adapt__frame--hidden"),this.mainExpandButton.classList.remove("mb-adapt__expand-button--visible"),this.forkExpandButton.classList.remove("mb-adapt__expand-button--visible");return}if(this.isResponsiveMode()){this.mainFrameElement.style.width="0%",this.mainFrameElement.classList.add("mb-adapt__frame--hidden"),this.forkFrameElement.style.width="100%",this.forkFrameElement.classList.remove("mb-adapt__frame--hidden"),this.dragHandleElement.classList.add("mb-adapt__frame--hidden"),this.mainExpandButton.classList.add("mb-adapt__expand-button--visible"),this.forkExpandButton.classList.remove("mb-adapt__expand-button--visible");return}let n=this.splitPercentage,t=100-this.splitPercentage,o=n<e.COLLAPSE_THRESHOLD,s=t<e.COLLAPSE_THRESHOLD;this.mainFrameElement.style.width=o?"0%":`${n}%`,o?this.mainFrameElement.classList.add("mb-adapt__frame--hidden"):this.mainFrameElement.classList.remove("mb-adapt__frame--hidden"),this.forkFrameElement.style.width=s?"0%":`${t}%`,s?this.forkFrameElement.classList.add("mb-adapt__frame--hidden"):this.forkFrameElement.classList.remove("mb-adapt__frame--hidden"),this.dragHandleElement.style.left=`${this.splitPercentage}%`,this.dragHandleElement.classList.remove("mb-adapt__frame--hidden"),o||s?this.dragHandleElement.classList.add("mb-adapt__drag-handle--disabled"):this.dragHandleElement.classList.remove("mb-adapt__drag-handle--disabled"),o?this.mainExpandButton.classList.add("mb-adapt__expand-button--visible"):this.mainExpandButton.classList.remove("mb-adapt__expand-button--visible"),s?this.forkExpandButton.classList.add("mb-adapt__expand-button--visible"):this.forkExpandButton.classList.remove("mb-adapt__expand-button--visible")}updateSideBySideWidths(){if(!this.mainFrameElement||!this.forkFrameElement||!this.dragHandleElement)return;let n=this.splitPercentage,t=100-this.splitPercentage;this.mainFrameElement.style.width=`${n}%`,this.forkFrameElement.style.width=`${t}%`,this.dragHandleElement.style.left=`${this.splitPercentage}%`}createDialogStructure(){if(this.mainContainer)return;this.rootElement.innerHTML="",this.mainContainer=document.createElement("div"),this.mainContainer.className="mb-adapt__main-container",this.mainIframe=this.createHiddenIframe(),this.mainContainer.appendChild(this.mainIframe),this.dialogExpandButton=document.createElement("button"),this.dialogExpandButton.className=this.options.classNames?.expandButton||"mb-adapt__expand-button",this.dialogExpandButton.classList.add("mb-adapt__expand-button--dialog"),this.dialogExpandButton.innerHTML="\u2304",this.dialogExpandButton.setAttribute("aria-label","Open fork dialog"),this.dialogExpandButton.setAttribute("title","Open fork dialog"),this.dialogExpandButton.addEventListener("click",()=>{this.activateNextFork()}),this.dialogBackdrop=document.createElement("div"),this.dialogBackdrop.className=this.options.classNames?.dialogBackdrop||"mb-adapt__dialog-backdrop",this.options.dialogBackdropClose&&this.dialogBackdrop.addEventListener("click",()=>{this.currentFork&&this.forkQueue.unshift(this.currentFork),this.currentFork=null,this.updateDialogVisibility()}),this.dialogElement=document.createElement("div"),this.dialogElement.className=this.options.classNames?.dialog||"mb-adapt__dialog";let n=document.createElement("div");n.className=this.options.classNames?.dialogBanner||"mb-adapt__dialog-banner";let t=document.createElement("button");t.className=this.options.classNames?.dialogClose||"mb-adapt__dialog-close",t.innerHTML="\xD7",t.setAttribute("aria-label","Close dialog"),t.setAttribute("title","Close dialog"),t.addEventListener("click",()=>{this.currentFork&&this.forkQueue.unshift(this.currentFork),this.currentFork=null,this.updateDialogVisibility()}),n.appendChild(t),this.dialogElement.appendChild(n);let o=document.createElement("div");o.style.flex="1",o.style.overflow="hidden",this.forkIframe=this.createHiddenIframe(),this.forkIframe.style.borderRadius="0",o.appendChild(this.forkIframe),this.dialogElement.appendChild(o),this.mainContainer.appendChild(this.dialogExpandButton),this.rootElement.appendChild(this.mainContainer),this.rootElement.appendChild(this.dialogBackdrop),this.rootElement.appendChild(this.dialogElement)}updateDialogVisibility(){if(!this.dialogExpandButton||!this.dialogBackdrop||!this.dialogElement)return;let n=this.forkQueue.length>0,t=this.currentFork!==null;!t&&n?this.dialogExpandButton.classList.add("mb-adapt__expand-button--visible"):this.dialogExpandButton.classList.remove("mb-adapt__expand-button--visible"),t?(this.dialogBackdrop.classList.add("mb-adapt__dialog-backdrop--visible"),this.dialogElement.classList.add("mb-adapt__dialog--visible")):(this.dialogBackdrop.classList.remove("mb-adapt__dialog-backdrop--visible"),this.dialogElement.classList.remove("mb-adapt__dialog--visible"))}getIframeSrc(n,t){return`${n}${t?"#"+t:""}`}createHiddenIframe(){let n=document.createElement("iframe");return n.className=this.options.classNames?.iframe||"mb-adapt__iframe",n.setAttribute("sandbox","allow-downloads allow-same-origin allow-scripts allow-popups allow-forms allow-modals"),n.setAttribute("allow","geolocation; accelerometer; midi; microphone; camera; magnetometer; gyroscope; fullscreen; payment;"),n}showIframe(n){n.classList.remove("mb-adapt__iframe--hidden"),n.offsetHeight,n.classList.add("mb-adapt__iframe--visible")}};return uo(Cs);})();
|