@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 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
- // If no more forks, iframe stays mounted but we don't close dialog
611
- // Dialog will close when user clicks close or backdrop
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
- // Ensure structure exists
664
- if (this.options.forkDisplayMode === "dialog") {
665
- if (!this.mainContainer) {
666
- this.createDialogStructure();
667
- }
668
- // Update main iframe if URL changed
669
- const newSrc = this.getIframeSrc(this.mainUrl, this.mainToken);
670
- if (!this.mainIframe || this.mainIframe.src !== newSrc) {
671
- this.mainIframe = this.createIframe(this.mainUrl, this.mainToken);
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.options.forkDisplayMode === "dialog") {
697
- if (!this.mainContainer) {
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
- // Fork frame
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.style.display = "block";
809
- this.forkFrameElement.style.display = "none";
810
- this.dragHandleElement.style.display = "none";
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.style.display = "none";
822
+ this.mainFrameElement.classList.add("mb-adapt__frame--hidden");
819
823
  this.forkFrameElement.style.width = "100%";
820
- this.forkFrameElement.style.display = "block";
821
- this.dragHandleElement.style.display = "none";
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
- this.mainFrameElement.style.display = mainCollapsed ? "none" : "block";
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
- this.forkFrameElement.style.display = forkCollapsed ? "none" : "block";
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.style.display = "block";
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
- createIframe(url, token) {
981
+ createHiddenIframe() {
961
982
  const iframe = document.createElement("iframe");
962
983
  iframe.className = this.options.classNames?.iframe || "mb-adapt__iframe";
963
- iframe.src = this.getIframeSrc(url, token);
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -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 createIframe;
70
+ private createHiddenIframe;
71
+ private showIframe;
70
72
  }
@@ -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
- if (this.options.forkDisplayMode === "dialog") {
4828
- if (!this.mainContainer) {
4829
- this.createDialogStructure();
4830
- }
4831
- const newSrc = this.getIframeSrc(this.mainUrl, this.mainToken);
4832
- if (!this.mainIframe || this.mainIframe.src !== newSrc) {
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.options.forkDisplayMode === "dialog") {
4861
- if (!this.mainContainer) {
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.style.display = "block";
4958
- this.forkFrameElement.style.display = "none";
4959
- this.dragHandleElement.style.display = "none";
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.style.display = "none";
4961
+ this.mainFrameElement.classList.add("mb-adapt__frame--hidden");
4971
4962
  this.forkFrameElement.style.width = "100%";
4972
- this.forkFrameElement.style.display = "block";
4973
- this.dragHandleElement.style.display = "none";
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
- this.mainFrameElement.style.display = mainCollapsed ? "none" : "block";
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
- this.forkFrameElement.style.display = forkCollapsed ? "none" : "block";
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.style.display = "block";
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
- createIframe(url, token) {
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);})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mochabug/adapt-web",
3
- "version": "1.0.0-rc24",
3
+ "version": "1.0.0-rc25",
4
4
  "description": "Browser client library for Adapt automation platform",
5
5
  "type": "module",
6
6
  "main": "./dist/esm/index.js",