vim-web 0.5.0-dev.22 → 0.5.0-dev.23

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/style.css CHANGED
@@ -772,9 +772,6 @@ video:where(.vim-component,.vim-component *) {
772
772
  .vc-m-1 {
773
773
  margin: 0.25rem;
774
774
  }
775
- .vc-m-2 {
776
- margin: 0.5rem;
777
- }
778
775
  .vc-m-auto {
779
776
  margin: auto;
780
777
  }
@@ -46,7 +46,7 @@ export declare function controlBarMeasure(measure: ReturnType<typeof getMeasureS
46
46
  style: typeof ControlBar.Style.buttonDefaultStyle;
47
47
  }[];
48
48
  };
49
- export declare function controlBarMiscUltra(side: SideState, settings: UltraSettings): ControlBar.IControlBarSection;
49
+ export declare function controlBarMiscUltra(modal: ModalHandle, side: SideState, settings: UltraSettings): ControlBar.IControlBarSection;
50
50
  export type ControlBarCameraSettings = {
51
51
  cameraAuto: UserBoolean;
52
52
  cameraFrameSelection: UserBoolean;
@@ -84,4 +84,5 @@ export declare function useControlBar(viewer: Core.Webgl.Viewer, camera: CameraR
84
84
  * @param {Settings} settings - The viewer settings to check
85
85
  * @returns {boolean} True if any settings buttons are enabled
86
86
  */
87
- export declare function anyUiSettingButton(settings: WebglSettings): boolean;
87
+ export declare function anyWebglMiscButton(settings: WebglSettings): boolean;
88
+ export declare function anyUltraMiscButton(settings: UltraSettings): boolean;
@@ -1,8 +1,9 @@
1
1
  import * as Core from '../../core-viewers/ultra';
2
2
  import { ControlBarCustomization } from '../controlbar/controlBar';
3
+ import { ModalHandle } from '../panels';
3
4
  import { CameraRef } from '../state/cameraState';
4
5
  import { SectionBoxRef } from '../state/sectionBoxState';
5
6
  import { IsolationRef } from '../state/sharedIsolation';
6
7
  import { SideState } from '../state/sideState';
7
8
  import { UltraSettings } from './settings';
8
- export declare function useUltraControlBar(viewer: Core.Viewer, section: SectionBoxRef, isolation: IsolationRef, camera: CameraRef, settings: UltraSettings, side: SideState, customization: ControlBarCustomization | undefined): import("../controlbar").IControlBarSection[];
9
+ export declare function useUltraControlBar(viewer: Core.Viewer, section: SectionBoxRef, isolation: IsolationRef, camera: CameraRef, settings: UltraSettings, side: SideState, modal: ModalHandle, customization: ControlBarCustomization | undefined): import("../controlbar").IControlBarSection[];
@@ -55406,7 +55406,7 @@ void main() {
55406
55406
  }
55407
55407
  unparent2dObjects(target) {
55408
55408
  if (target instanceof Group) {
55409
- for (const child of target.children) {
55409
+ for (const child of [...target.children]) {
55410
55410
  if (child instanceof CSS2DObject) {
55411
55411
  target.remove(child);
55412
55412
  }
@@ -55581,6 +55581,7 @@ void main() {
55581
55581
  }
55582
55582
  add(objectOrObjects) {
55583
55583
  if (!this.enabled) return;
55584
+ if (!objectOrObjects) return;
55584
55585
  const objects = this.toArray(objectOrObjects);
55585
55586
  let changed = false;
55586
55587
  for (const obj of objects) {
@@ -67629,7 +67630,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67629
67630
  enabled: () => isTrue(settings2.sectioningEnable),
67630
67631
  tip: "Enable Section Box",
67631
67632
  isOn: () => section.enable.get(),
67632
- style: (on) => Style.buttonExpandStyle(on),
67633
+ style: Style.buttonExpandStyle,
67633
67634
  action: () => section.enable.set(!section.enable.get()),
67634
67635
  icon: sectionBox
67635
67636
  },
@@ -67638,7 +67639,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67638
67639
  tip: "Fit Section",
67639
67640
  enabled: () => section.enable.get() && isTrue(settings2.sectioningFitToSelection),
67640
67641
  isOn: () => hasSelection,
67641
- style: (on) => Style.buttonDisableStyle(on),
67642
+ style: Style.buttonDisableStyle,
67642
67643
  action: () => section.sectionSelection.call(),
67643
67644
  icon: sectionBoxShrink
67644
67645
  },
@@ -67646,7 +67647,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67646
67647
  id: Ids$2.sectioningFitScene,
67647
67648
  tip: "Reset Section",
67648
67649
  enabled: () => section.enable.get() && isTrue(settings2.sectioningReset),
67649
- style: (on) => Style.buttonDefaultStyle(on),
67650
+ style: Style.buttonDefaultStyle,
67650
67651
  action: () => section.sectionScene.call(),
67651
67652
  icon: sectionBoxReset
67652
67653
  },
@@ -67655,7 +67656,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67655
67656
  tip: "Show Section Box",
67656
67657
  enabled: () => section.enable.get() && isTrue(settings2.sectioningShow),
67657
67658
  isOn: () => section.visible.get(),
67658
- style: (on) => Style.buttonDefaultStyle(on),
67659
+ style: Style.buttonDefaultStyle,
67659
67660
  action: () => section.visible.set(!section.visible.get()),
67660
67661
  icon: visible
67661
67662
  },
@@ -67664,7 +67665,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67664
67665
  tip: "Auto Section",
67665
67666
  enabled: () => section.enable.get() && isTrue(settings2.sectioningAuto),
67666
67667
  isOn: () => section.auto.get(),
67667
- style: (on) => Style.buttonDefaultStyle(on),
67668
+ style: Style.buttonDefaultStyle,
67668
67669
  action: () => section.auto.set(!section.auto.get()),
67669
67670
  icon: sectionBoxAuto
67670
67671
  },
@@ -67673,14 +67674,14 @@ Averrage Date/Second ${avgDataRatePS} kb
67673
67674
  tip: "Section Settings",
67674
67675
  enabled: () => section.enable.get() && isTrue(settings2.sectioningSettings),
67675
67676
  isOn: () => section.showOffsetPanel.get(),
67676
- style: (on) => Style.buttonDefaultStyle(on),
67677
+ style: Style.buttonDefaultStyle,
67677
67678
  action: () => section.showOffsetPanel.set(!section.showOffsetPanel.get()),
67678
67679
  icon: slidersHoriz
67679
67680
  }
67680
67681
  ]
67681
67682
  };
67682
67683
  }
67683
- function controlBarPointer(viewer, camera2, settings2, section) {
67684
+ function controlBarPointer(viewer, settings2) {
67684
67685
  const pointer2 = getPointerState(viewer);
67685
67686
  return {
67686
67687
  id: Ids$2.cursorSpan,
@@ -67744,65 +67745,57 @@ Averrage Date/Second ${avgDataRatePS} kb
67744
67745
  ]
67745
67746
  };
67746
67747
  }
67747
- function controlBarMiscUltra(side, settings$1) {
67748
+ function createMiscSettingsButton(side, settings$1) {
67749
+ return {
67750
+ id: Ids$2.miscSettings,
67751
+ enabled: () => isTrue(settings$1.ui.miscSettings),
67752
+ tip: "Settings",
67753
+ action: () => side.toggleContent("settings"),
67754
+ icon: settings,
67755
+ style: Style.buttonDefaultStyle
67756
+ };
67757
+ }
67758
+ function createMiscHelpButton(modal, settings2) {
67759
+ return {
67760
+ id: Ids$2.miscHelp,
67761
+ enabled: () => isTrue(settings2.ui.miscHelp),
67762
+ tip: "Help",
67763
+ action: () => modal.help(true),
67764
+ icon: help,
67765
+ style: Style.buttonDefaultStyle
67766
+ };
67767
+ }
67768
+ function controlBarMiscUltra(modal, side, settings2) {
67748
67769
  return {
67749
67770
  id: Ids$2.miscSpan,
67750
- enable: () => isTrue(settings$1.ui.miscSettings),
67771
+ enable: () => anyUltraMiscButton(settings2),
67751
67772
  style: Style.sectionDefaultStyle,
67752
67773
  buttons: [
67753
- {
67754
- id: Ids$2.miscSettings,
67755
- enabled: () => isTrue(settings$1.ui.miscSettings),
67756
- tip: "Settings",
67757
- action: () => side.toggleContent("settings"),
67758
- icon: settings,
67759
- style: Style.buttonDefaultStyle
67760
- },
67761
- {
67762
- id: Ids$2.miscHelp,
67763
- enabled: () => isTrue(settings$1.ui.miscHelp),
67764
- tip: "Help",
67765
- action: () => side.toggleContent("settings"),
67766
- icon: settings,
67767
- style: Style.buttonDefaultStyle
67768
- }
67774
+ createMiscSettingsButton(side, settings2),
67775
+ createMiscHelpButton(modal, settings2)
67769
67776
  ]
67770
67777
  };
67771
67778
  }
67772
- function controlBarMisc(modal, side, settings$1) {
67779
+ function controlBarMisc(modal, side, settings2) {
67773
67780
  const fullScreen = getFullScreenState();
67774
67781
  return {
67775
67782
  id: Ids$2.miscSpan,
67776
- enable: () => anyUiSettingButton(settings$1),
67783
+ enable: () => anyWebglMiscButton(settings2),
67777
67784
  style: Style.sectionDefaultStyle,
67778
67785
  buttons: [
67779
67786
  {
67780
67787
  id: Ids$2.miscInspector,
67781
- enabled: () => isTrue(settings$1.ui.miscProjectInspector) && (isTrue(settings$1.ui.panelBimTree) || isTrue(settings$1.ui.panelBimInfo)),
67788
+ enabled: () => showBimButton(settings2),
67782
67789
  tip: "Project Inspector",
67783
67790
  action: () => side.toggleContent("bim"),
67784
67791
  icon: treeView,
67785
67792
  style: Style.buttonDefaultStyle
67786
67793
  },
67787
- {
67788
- id: Ids$2.miscSettings,
67789
- enabled: () => isTrue(settings$1.ui.miscSettings),
67790
- tip: "Settings",
67791
- action: () => side.toggleContent("settings"),
67792
- icon: settings,
67793
- style: Style.buttonDefaultStyle
67794
- },
67795
- {
67796
- id: Ids$2.miscHelp,
67797
- enabled: () => isTrue(settings$1.ui.miscHelp),
67798
- tip: "Help",
67799
- action: () => modal.help(true),
67800
- icon: help,
67801
- style: Style.buttonDefaultStyle
67802
- },
67794
+ createMiscSettingsButton(side, settings2),
67795
+ createMiscHelpButton(modal, settings2),
67803
67796
  {
67804
67797
  id: Ids$2.miscMaximize,
67805
- enabled: () => isTrue(settings$1.ui.miscMaximise) && settings$1.capacity.canGoFullScreen,
67798
+ enabled: () => isTrue(settings2.ui.miscMaximise) && settings2.capacity.canGoFullScreen,
67806
67799
  tip: fullScreen.get() ? "Minimize" : "Fullscreen",
67807
67800
  action: () => fullScreen.toggle(),
67808
67801
  icon: fullScreen.get() ? minimize : fullsScreen,
@@ -67853,7 +67846,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67853
67846
  return {
67854
67847
  id: Ids$2.visibilitySpan,
67855
67848
  enable: () => true,
67856
- style: `${Style.sectionDefaultStyle}`,
67849
+ style: Style.sectionDefaultStyle,
67857
67850
  buttons: [
67858
67851
  {
67859
67852
  id: Ids$2.visibilityClearSelection,
@@ -67922,7 +67915,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67922
67915
  function useControlBar(viewer, camera2, modal, side, cursor, settings2, section, isolationRef, customization) {
67923
67916
  const measure2 = getMeasureState(viewer, cursor);
67924
67917
  let controlBarSections = [
67925
- controlBarPointer(viewer, camera2, settings2.ui),
67918
+ controlBarPointer(viewer, settings2.ui),
67926
67919
  controlBarCamera(camera2, settings2.ui),
67927
67920
  controlBarVisibility(isolationRef, settings2.ui),
67928
67921
  controlBarMeasure(measure2, settings2.ui),
@@ -67932,12 +67925,21 @@ Averrage Date/Second ${avgDataRatePS} kb
67932
67925
  controlBarSections = (customization == null ? void 0 : customization(controlBarSections)) ?? controlBarSections;
67933
67926
  return controlBarSections;
67934
67927
  }
67928
+ function showBimButton(settings2) {
67929
+ if (isFalse(settings2.ui.miscProjectInspector)) return false;
67930
+ if (isTrue(settings2.ui.panelBimTree)) return true;
67931
+ if (isTrue(settings2.ui.panelBimInfo)) return true;
67932
+ return false;
67933
+ }
67935
67934
  function anyUiCursorButton(settings2) {
67936
67935
  return isTrue(settings2.cursorOrbit) || isTrue(settings2.cursorLookAround) || isTrue(settings2.cursorPan) || isTrue(settings2.cursorZoom);
67937
67936
  }
67938
- function anyUiSettingButton(settings2) {
67937
+ function anyWebglMiscButton(settings2) {
67939
67938
  return isTrue(settings2.ui.miscProjectInspector) || isTrue(settings2.ui.miscSettings) || isTrue(settings2.ui.miscHelp) || isTrue(settings2.ui.miscMaximise);
67940
67939
  }
67940
+ function anyUltraMiscButton(settings2) {
67941
+ return isTrue(settings2.ui.miscSettings) || isTrue(settings2.ui.miscHelp);
67942
+ }
67941
67943
  function RestOfScreen(props) {
67942
67944
  const [, setVersion] = React2.useState(0);
67943
67945
  const resizeObserver = React2.useRef();
@@ -74824,7 +74826,7 @@ Averrage Date/Second ${avgDataRatePS} kb
74824
74826
  }, Symbol.toStringTag, { value: "Module" }));
74825
74827
  function fileOpeningError(url) {
74826
74828
  return {
74827
- title: "File Opening Error",
74829
+ title: "VIM Ultra File Error",
74828
74830
  body: serverFileOpeningErrorBody(url),
74829
74831
  footer: footer$1(),
74830
74832
  canClose: false
@@ -74832,12 +74834,8 @@ Averrage Date/Second ${avgDataRatePS} kb
74832
74834
  }
74833
74835
  function serverFileOpeningErrorBody(url) {
74834
74836
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74835
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74836
- "Oops, it appears that there's an ",
74837
- bold("error opening the VIM file"),
74838
- ". Please check the file exists at the path noted below."
74839
- ] })),
74840
- subTitle("Error details:"),
74837
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered an error opening the VIM file in VIM Ultra." })),
74838
+ subTitle("Details"),
74841
74839
  dotList([bullet("File path:", url)])
74842
74840
  ] });
74843
74841
  }
@@ -74846,7 +74844,7 @@ Averrage Date/Second ${avgDataRatePS} kb
74846
74844
  return fileOpeningError(url);
74847
74845
  }
74848
74846
  return {
74849
- title: "File Downloading Error",
74847
+ title: "VIM Ultra Download Error",
74850
74848
  body: body$5(url, authToken, server),
74851
74849
  footer: footer$1(),
74852
74850
  canClose: false
@@ -74854,28 +74852,23 @@ Averrage Date/Second ${avgDataRatePS} kb
74854
74852
  }
74855
74853
  function body$5(url, authToken, server) {
74856
74854
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74857
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74858
- "Oops, it appears that there’s an ",
74859
- bold("error downloading the VIM file"),
74860
- ". Please check the following conditions to get back up and running quickly."
74861
- ] })),
74862
- subTitle("Error details:"),
74855
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered an error downloading the VIM file in VIM Ultra." })),
74856
+ subTitle("Details"),
74863
74857
  dotList([
74864
- server ? bullet("VIM ULTRA Server:", server) : null,
74865
- bullet("File URL:", url),
74866
- authToken ? bullet("Auth Token:", authToken) : null
74858
+ server ? bullet("VIM Ultra:", server) : null,
74859
+ bullet("VIM URL:", url),
74860
+ authToken ? bullet("Access Token:", authToken) : null
74867
74861
  ]),
74868
- subTitle("Troubleshooting tips:"),
74862
+ subTitle("Tips"),
74869
74863
  numList([
74870
- "Make sure the VIM exists at the url listed above.",
74871
- "Reprocess the VIM file and refresh the Power BI report dataset.",
74872
- server ? "Check network access policies to allow the VIM Ultra Server access to the VIM File url." : ""
74864
+ "Ensure the VIM URL is valid",
74865
+ "Check your network connection and access policies"
74873
74866
  ])
74874
74867
  ] });
74875
74868
  }
74876
74869
  function serverFileLoadingError(url) {
74877
74870
  return {
74878
- title: "File Loading Error",
74871
+ title: "VIM Ultra Loading Error",
74879
74872
  body: body$4(url),
74880
74873
  footer: footer$1(),
74881
74874
  canClose: false
@@ -74883,30 +74876,20 @@ Averrage Date/Second ${avgDataRatePS} kb
74883
74876
  }
74884
74877
  function body$4(url) {
74885
74878
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74886
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74887
- "Oops, it appears that we ",
74888
- bold("couldn’t load the VIM file"),
74889
- ". This could be due to a couple of reasons, including that the file could be corrupt or not recognizable."
74890
- ] })),
74891
- subTitle("Error details:"),
74879
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered an error loading the VIM file in VIM Ultra." })),
74880
+ subTitle("Details"),
74892
74881
  dotList([bullet("File path:", url)]),
74893
- subTitle("Troubleshooting tips:"),
74882
+ subTitle("Tips"),
74894
74883
  numList([
74895
- "Reload this Power BI report",
74896
- "Reprocess the VIM file and refresh the Power BI report dataset"
74884
+ "Reload the page",
74885
+ "Ensure the VIM URL points to a valid VIM file",
74886
+ "Clear your VIM Ultra download cache"
74897
74887
  ])
74898
74888
  ] });
74899
74889
  }
74900
- const supportUltra = "https://docs.vimaec.com/docs/vim-for-windows/configuring-vim-ultra";
74901
- const supportControls = "https://docs.vimaec.com/docs/vim-cloud/webgl-navigation-and-controls-guide";
74902
- const urls = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
74903
- __proto__: null,
74904
- supportControls,
74905
- supportUltra
74906
- }, Symbol.toStringTag, { value: "Module" }));
74907
74890
  function serverConnectionError(url) {
74908
74891
  return {
74909
- title: "Connection Error",
74892
+ title: "VIM Ultra Connection",
74910
74893
  body: body$3(url, isLocalUrl(url)),
74911
74894
  footer: footer$1(),
74912
74895
  canClose: false
@@ -74914,29 +74897,17 @@ Averrage Date/Second ${avgDataRatePS} kb
74914
74897
  }
74915
74898
  function body$3(url, local) {
74916
74899
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74917
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74918
- "Oops, it appears that there’s an ",
74919
- bold("error connecting to the ULTRA server"),
74920
- ". Please check the following conditions to get back up and running quickly."
74921
- ] })),
74922
- subTitle("Troubleshooting tips:"),
74900
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered an error connecting to VIM Ultra." })),
74901
+ subTitle("Tips"),
74923
74902
  numList([
74924
- /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74925
- "Ensure that VIM Ultra",
74926
- " ",
74927
- link(supportUltra, "process is running"),
74928
- " ",
74929
- "at ",
74930
- detailText(url)
74931
- ] }),
74932
- "Check your internet connection.",
74933
- "Check firewall permissions."
74903
+ `Ensure that VIM Ultra is running at ${detailText(url)}`,
74904
+ "Check your network connection and access policies"
74934
74905
  ])
74935
74906
  ] });
74936
74907
  }
74937
74908
  function serverCompatibilityError(url, localVersion, remoteVersion) {
74938
74909
  return {
74939
- title: "Compatibility Error",
74910
+ title: "VIM Ultra Compatibility",
74940
74911
  body: body$2(url, localVersion, remoteVersion),
74941
74912
  footer: footer$1(),
74942
74913
  canClose: false
@@ -74944,28 +74915,23 @@ Averrage Date/Second ${avgDataRatePS} kb
74944
74915
  }
74945
74916
  function body$2(url, localVersion, remoteVersion) {
74946
74917
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74947
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74948
- "Oops, it appears that you’re running a ",
74949
- " ",
74950
- bold("version of VIM Ultra Server that isn’t compatible with this visual"),
74951
- ". Please check the following conditions to get back up and running quickly."
74952
- ] })),
74953
- subTitle("Error details:"),
74918
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "The VIM Ultra version is incompatible with this visual." })),
74919
+ subTitle("Details"),
74954
74920
  dotList([
74955
74921
  bullet("Url:", url),
74956
74922
  bullet("Local Version:", localVersion),
74957
74923
  bullet("Remote Version:", remoteVersion)
74958
74924
  ]),
74959
- subTitle("Troubleshooting tips:"),
74925
+ subTitle("Tips"),
74960
74926
  numList([
74961
- "Update your PowerBI visual with the compatible version.",
74962
- "Or, run the compatible version of VIM Ultra."
74927
+ "Update this visual to a compatible version.",
74928
+ "Start a compatible version of VIM Ultra."
74963
74929
  ])
74964
74930
  ] });
74965
74931
  }
74966
74932
  function serverStreamError(url) {
74967
74933
  return {
74968
- title: "Stream Error",
74934
+ title: "VIM Ultra Stream Error",
74969
74935
  body: body$1(),
74970
74936
  footer: footer$1(),
74971
74937
  canClose: false
@@ -74973,16 +74939,12 @@ Averrage Date/Second ${avgDataRatePS} kb
74973
74939
  }
74974
74940
  function body$1(url) {
74975
74941
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74976
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74977
- "Oops, it appears that there’s an ",
74978
- bold("error starting a stream on the VIM Ultra Server"),
74979
- ". Please check the following conditions to get back up and running quickly."
74980
- ] })),
74981
- subTitle("Troubleshooting tips:"),
74942
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered a streaming error with VIM Ultra." })),
74943
+ subTitle("Tips"),
74982
74944
  numList([
74983
- "Close other applications that may be using the server.",
74984
- "Try reconnecting to the server.",
74985
- "Restart the server."
74945
+ "Reload the page",
74946
+ "Close other applications that may be using VIM Ultra",
74947
+ "Restart VIM Ultra"
74986
74948
  ])
74987
74949
  ] });
74988
74950
  }
@@ -76788,12 +76750,12 @@ Averrage Date/Second ${avgDataRatePS} kb
76788
76750
  };
76789
76751
  return useSectionBox(ultraAdapter);
76790
76752
  }
76791
- function useUltraControlBar(viewer, section, isolation, camera2, settings2, side, customization) {
76753
+ function useUltraControlBar(viewer, section, isolation, camera2, settings2, side, modal, customization) {
76792
76754
  let bar = [
76793
76755
  controlBarCamera(camera2, settings2.ui),
76794
76756
  controlBarVisibility(isolation, settings2.ui),
76795
76757
  controlBarSectionBox(section, viewer.selection.any(), settings2.ui),
76796
- controlBarMiscUltra(side, settings2)
76758
+ controlBarMiscUltra(modal, side, settings2)
76797
76759
  ];
76798
76760
  bar = (customization == null ? void 0 : customization(bar)) ?? bar;
76799
76761
  return bar;
@@ -77052,6 +77014,7 @@ Averrage Date/Second ${avgDataRatePS} kb
77052
77014
  camera2,
77053
77015
  settings2.value,
77054
77016
  side,
77017
+ modalHandle.current,
77055
77018
  (_2) => _2
77056
77019
  );
77057
77020
  useViewerInput(props.core.inputs, camera2);
@@ -77168,6 +77131,13 @@ Averrage Date/Second ${avgDataRatePS} kb
77168
77131
  createViewer,
77169
77132
  getDefaultUltraSettings
77170
77133
  }, Symbol.toStringTag, { value: "Module" }));
77134
+ const supportUltra = "https://docs.vimaec.com/docs/vim-for-windows/configuring-vim-ultra";
77135
+ const supportControls = "https://docs.vimaec.com/docs/vim-cloud/webgl-navigation-and-controls-guide";
77136
+ const urls = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
77137
+ __proto__: null,
77138
+ supportControls,
77139
+ supportUltra
77140
+ }, Symbol.toStringTag, { value: "Module" }));
77171
77141
  const SectionBoxPanel = {
77172
77142
  Ids
77173
77143
  };