vim-web 0.3.44-dev.2 → 0.3.44-dev.4
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 +38 -1
- package/dist/types/core-viewers/ultra/index.d.ts +1 -0
- package/dist/types/core-viewers/ultra/viewer/marshal.d.ts +0 -1
- package/dist/types/core-viewers/ultra/viewer/rpcClient.d.ts +1 -0
- package/dist/types/core-viewers/ultra/viewer/rpcSafeClient.d.ts +1 -0
- package/dist/types/core-viewers/ultra/viewer/sectionBox.d.ts +2 -5
- package/dist/types/core-viewers/ultra/viewer/selection.d.ts +2 -0
- package/dist/types/core-viewers/ultra/viewer/viewer.d.ts +2 -0
- package/dist/types/core-viewers/ultra/viewer/vimCollection.d.ts +4 -0
- package/dist/types/core-viewers/webgl/utils/threeUtils.d.ts +3 -0
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmos.d.ts +1 -1
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBox.d.ts +1 -1
- package/dist/types/react-viewers/controlbar/controlBar.d.ts +6 -44
- package/dist/types/react-viewers/controlbar/controlBarButton.d.ts +3 -1
- package/dist/types/react-viewers/controlbar/controlBarIds.d.ts +27 -0
- package/dist/types/react-viewers/controlbar/controlBarSection.d.ts +2 -1
- package/dist/types/react-viewers/panels/icons.d.ts +6 -0
- package/dist/types/react-viewers/panels/sectionBoxPanel.d.ts +4 -0
- package/dist/types/react-viewers/state/controlBarState.d.ts +39 -0
- package/dist/types/react-viewers/state/sectionBoxState.d.ts +33 -0
- package/dist/types/react-viewers/ultra/ultraControlBarState.d.ts +6 -0
- package/dist/types/react-viewers/ultra/ultraModal.d.ts +4 -0
- package/dist/types/react-viewers/ultra/ultraSectionBoxState.d.ts +3 -0
- package/dist/types/react-viewers/webgl/index.d.ts +0 -1
- package/dist/types/react-viewers/webgl/webglSectionBoxState.d.ts +3 -0
- package/dist/vim-web.iife.js +705 -307
- package/dist/vim-web.iife.js.map +1 -1
- package/dist/vim-web.js +706 -308
- package/dist/vim-web.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/react-viewers/controlbar/controlBarCommands.d.ts +0 -4
- package/dist/types/react-viewers/controlbar/sectionBoxState.d.ts +0 -15
- /package/dist/types/react-viewers/{controlbar → panels}/restOfScreen.d.ts +0 -0
- /package/dist/types/react-viewers/{controlbar → state}/fullScreenState.d.ts +0 -0
- /package/dist/types/react-viewers/{controlbar → state}/measureState.d.ts +0 -0
- /package/dist/types/react-viewers/{controlbar → state}/pointerState.d.ts +0 -0
package/dist/vim-web.iife.js
CHANGED
|
@@ -52253,7 +52253,7 @@ void main() {
|
|
|
52253
52253
|
}
|
|
52254
52254
|
}
|
|
52255
52255
|
onIdleAction(hit) {
|
|
52256
|
-
if (!this._viewer.gizmos.
|
|
52256
|
+
if (!this._viewer.gizmos.sectionBox.interactive) {
|
|
52257
52257
|
this._viewer.selection.focus(hit == null ? void 0 : hit.object);
|
|
52258
52258
|
}
|
|
52259
52259
|
}
|
|
@@ -54811,12 +54811,12 @@ void main() {
|
|
|
54811
54811
|
const xz = this.screenDist(this._lineX.position, this._lineZ.position);
|
|
54812
54812
|
const yz = this.screenDist(this._lineY.position, this._lineZ.position);
|
|
54813
54813
|
let conflicts = 0;
|
|
54814
|
-
if (lx !== void 0 && lx < 0.
|
|
54815
|
-
if (ly !== void 0 && ly < 0.
|
|
54816
|
-
if (lz !== void 0 && lz < 0.
|
|
54817
|
-
if (xy !== void 0 && xy < 0.
|
|
54818
|
-
if (xz !== void 0 && xz < 0.
|
|
54819
|
-
if (yz !== void 0 && yz < 0.
|
|
54814
|
+
if (lx !== void 0 && lx < 0.3) conflicts++;
|
|
54815
|
+
if (ly !== void 0 && ly < 0.3) conflicts++;
|
|
54816
|
+
if (lz !== void 0 && lz < 0.3) conflicts++;
|
|
54817
|
+
if (xy !== void 0 && xy < 0.3) conflicts++;
|
|
54818
|
+
if (xz !== void 0 && xz < 0.3) conflicts++;
|
|
54819
|
+
if (yz !== void 0 && yz < 0.3) conflicts++;
|
|
54820
54820
|
const collapse2 = conflicts > 1;
|
|
54821
54821
|
this._label.visible = collapse2;
|
|
54822
54822
|
this._line.label.visible = !collapse2;
|
|
@@ -54846,6 +54846,7 @@ void main() {
|
|
|
54846
54846
|
this._line.mesh.visible = false;
|
|
54847
54847
|
this._line.label.visible = false;
|
|
54848
54848
|
}
|
|
54849
|
+
this._label.visible = false;
|
|
54849
54850
|
this._viewer.renderer.needsUpdate = true;
|
|
54850
54851
|
}
|
|
54851
54852
|
/**
|
|
@@ -54895,7 +54896,9 @@ void main() {
|
|
|
54895
54896
|
* Disposes all resources.
|
|
54896
54897
|
*/
|
|
54897
54898
|
dispose() {
|
|
54899
|
+
console.log("dispose");
|
|
54898
54900
|
if (this._animId !== void 0) cancelAnimationFrame(this._animId);
|
|
54901
|
+
this._html.div.remove();
|
|
54899
54902
|
this._viewer.renderer.remove(this._group);
|
|
54900
54903
|
this._startMarker.dispose();
|
|
54901
54904
|
this._endMarker.dispose();
|
|
@@ -55480,7 +55483,7 @@ void main() {
|
|
|
55480
55483
|
trackCamera(camera2) {
|
|
55481
55484
|
const rescale = () => {
|
|
55482
55485
|
const size = camera2.frustrumSizeAt(this.position);
|
|
55483
|
-
this.scale.set(size.x *
|
|
55486
|
+
this.scale.set(size.x * 3e-3, size.x * 3e-3, size.x * 3e-3);
|
|
55484
55487
|
};
|
|
55485
55488
|
this._camSub = camera2.onMoved.subscribe(() => rescale());
|
|
55486
55489
|
rescale();
|
|
@@ -55644,6 +55647,9 @@ void main() {
|
|
|
55644
55647
|
this.update();
|
|
55645
55648
|
};
|
|
55646
55649
|
this._inputs.onBoxConfirm = (box) => this._onBoxConfirm.dispatch(box);
|
|
55650
|
+
viewer.renderer.onBoxUpdated.subscribe(() => {
|
|
55651
|
+
this.fitBox(viewer.renderer.getBoundingBox());
|
|
55652
|
+
});
|
|
55647
55653
|
this.clip = false;
|
|
55648
55654
|
this.visible = false;
|
|
55649
55655
|
this.interactive = false;
|
|
@@ -55744,6 +55750,7 @@ void main() {
|
|
|
55744
55750
|
set visible(value) {
|
|
55745
55751
|
if (value === this._visible) return;
|
|
55746
55752
|
this._gizmos.visible = value;
|
|
55753
|
+
this._visible = value;
|
|
55747
55754
|
if (value) {
|
|
55748
55755
|
this.update();
|
|
55749
55756
|
}
|
|
@@ -55760,11 +55767,10 @@ void main() {
|
|
|
55760
55767
|
* @param box - The bounding box to match (required).
|
|
55761
55768
|
* @param padding - The scalar amount by which to expand the bounding box. Default is `1`.
|
|
55762
55769
|
*/
|
|
55763
|
-
fitBox(box
|
|
55770
|
+
fitBox(box) {
|
|
55764
55771
|
if (!box) return;
|
|
55765
|
-
|
|
55766
|
-
this.
|
|
55767
|
-
this.renderer.section.fitBox(b);
|
|
55772
|
+
this._gizmos.fitBox(box);
|
|
55773
|
+
this.renderer.section.fitBox(box);
|
|
55768
55774
|
this._onBoxConfirm.dispatch(this.box);
|
|
55769
55775
|
this.renderer.needsUpdate = true;
|
|
55770
55776
|
}
|
|
@@ -55774,7 +55780,7 @@ void main() {
|
|
|
55774
55780
|
* Call this if the renderer's section box is changed by code outside this class.
|
|
55775
55781
|
*/
|
|
55776
55782
|
update() {
|
|
55777
|
-
this.fitBox(this.section.box
|
|
55783
|
+
this.fitBox(this.section.box);
|
|
55778
55784
|
this.renderer.needsUpdate = true;
|
|
55779
55785
|
}
|
|
55780
55786
|
/**
|
|
@@ -55796,7 +55802,7 @@ void main() {
|
|
|
55796
55802
|
/**
|
|
55797
55803
|
* The section box gizmo.
|
|
55798
55804
|
*/
|
|
55799
|
-
__publicField(this, "
|
|
55805
|
+
__publicField(this, "sectionBox");
|
|
55800
55806
|
/**
|
|
55801
55807
|
* The loading indicator gizmo.
|
|
55802
55808
|
*/
|
|
@@ -55820,7 +55826,7 @@ void main() {
|
|
|
55820
55826
|
var _a2;
|
|
55821
55827
|
this.viewer = viewer;
|
|
55822
55828
|
this._measure = new Measure(viewer);
|
|
55823
|
-
this.
|
|
55829
|
+
this.sectionBox = new SectionBox$1(viewer);
|
|
55824
55830
|
this.loading = new GizmoLoading(viewer);
|
|
55825
55831
|
this.orbit = new GizmoOrbit(
|
|
55826
55832
|
viewer.renderer,
|
|
@@ -55849,7 +55855,7 @@ void main() {
|
|
|
55849
55855
|
var _a2;
|
|
55850
55856
|
(_a2 = this.viewer.viewport.canvas.parentElement) == null ? void 0 : _a2.removeChild(this.axes.canvas);
|
|
55851
55857
|
this._measure.clear();
|
|
55852
|
-
this.
|
|
55858
|
+
this.sectionBox.dispose();
|
|
55853
55859
|
this.loading.dispose();
|
|
55854
55860
|
this.orbit.dispose();
|
|
55855
55861
|
this.rectangle.dispose();
|
|
@@ -58009,7 +58015,6 @@ void main() {
|
|
|
58009
58015
|
}
|
|
58010
58016
|
// -------------------- SectionBox -------------------
|
|
58011
58017
|
writeSectionBoxState(data2) {
|
|
58012
|
-
this.writeBoolean(data2.enabled);
|
|
58013
58018
|
this.writeBoolean(data2.visible);
|
|
58014
58019
|
this.writeBoolean(data2.interactible);
|
|
58015
58020
|
this.writeBoolean(data2.clip);
|
|
@@ -58165,13 +58170,11 @@ void main() {
|
|
|
58165
58170
|
return new Segment(position, target);
|
|
58166
58171
|
}
|
|
58167
58172
|
readSectionBoxState() {
|
|
58168
|
-
const enabled = this.readBoolean();
|
|
58169
58173
|
const visible2 = this.readBoolean();
|
|
58170
58174
|
const interactible = this.readBoolean();
|
|
58171
58175
|
const clip = this.readBoolean();
|
|
58172
58176
|
const box = this.readBox3();
|
|
58173
58177
|
return {
|
|
58174
|
-
enabled,
|
|
58175
58178
|
visible: visible2,
|
|
58176
58179
|
interactible,
|
|
58177
58180
|
clip,
|
|
@@ -58290,6 +58293,12 @@ void main() {
|
|
|
58290
58293
|
marshal.writeUInt(componentHandle);
|
|
58291
58294
|
this._socket.sendRPC(marshal);
|
|
58292
58295
|
}
|
|
58296
|
+
RPCEnableSectionBox(value) {
|
|
58297
|
+
const marshal = new Marshal();
|
|
58298
|
+
marshal.writeString("RPCEnableSectionBox");
|
|
58299
|
+
marshal.writeBoolean(value);
|
|
58300
|
+
this._socket.sendRPC(marshal);
|
|
58301
|
+
}
|
|
58293
58302
|
async RPCFrameAll(blendTime) {
|
|
58294
58303
|
const marshal = new Marshal();
|
|
58295
58304
|
marshal.writeString("RPCFrameAll");
|
|
@@ -59133,6 +59142,9 @@ void main() {
|
|
|
59133
59142
|
* SECTION BOX METHODS
|
|
59134
59143
|
* Methods for controlling section box visibility and position.
|
|
59135
59144
|
******************************************************************************/
|
|
59145
|
+
RPCEnableSectionBox(enable) {
|
|
59146
|
+
this.rpc.RPCEnableSectionBox(enable);
|
|
59147
|
+
}
|
|
59136
59148
|
RPCSetSectionBox(state) {
|
|
59137
59149
|
this.rpc.RPCSetSectionBox(state);
|
|
59138
59150
|
}
|
|
@@ -61283,10 +61295,14 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61283
61295
|
__publicField(this, "_rpc");
|
|
61284
61296
|
__publicField(this, "_vims");
|
|
61285
61297
|
__publicField(this, "_selectedNodes");
|
|
61298
|
+
__publicField(this, "_onValueChanged", new distExports$1.SignalDispatcher());
|
|
61286
61299
|
this._rpc = rpc;
|
|
61287
61300
|
this._vims = vims;
|
|
61288
61301
|
this._selectedNodes = /* @__PURE__ */ new Map();
|
|
61289
61302
|
}
|
|
61303
|
+
get onValueChanged() {
|
|
61304
|
+
return this._onValueChanged.asEvent();
|
|
61305
|
+
}
|
|
61290
61306
|
/**
|
|
61291
61307
|
* Gets the total number of selected nodes across all VIMs.
|
|
61292
61308
|
* @returns The total count of selected nodes.
|
|
@@ -61355,12 +61371,17 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61355
61371
|
nodeSet = /* @__PURE__ */ new Set();
|
|
61356
61372
|
this._selectedNodes.set(vim, nodeSet);
|
|
61357
61373
|
}
|
|
61374
|
+
let changed = false;
|
|
61358
61375
|
nodes.forEach((n) => {
|
|
61359
61376
|
if (!nodeSet.has(n)) {
|
|
61360
61377
|
nodeSet.add(n);
|
|
61361
61378
|
vim.highlight([n]);
|
|
61379
|
+
changed = true;
|
|
61362
61380
|
}
|
|
61363
61381
|
});
|
|
61382
|
+
if (changed) {
|
|
61383
|
+
this._onValueChanged.dispatch();
|
|
61384
|
+
}
|
|
61364
61385
|
}
|
|
61365
61386
|
/**
|
|
61366
61387
|
* Removes the specified node(s) from the current selection.
|
|
@@ -61372,27 +61393,37 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61372
61393
|
const nodeSet = this._selectedNodes.get(vim);
|
|
61373
61394
|
if (!nodeSet) return;
|
|
61374
61395
|
const nodes = Array.isArray(node) ? node : [node];
|
|
61396
|
+
let changed = false;
|
|
61375
61397
|
nodes.forEach((n) => {
|
|
61376
61398
|
if (nodeSet.has(n)) {
|
|
61377
61399
|
nodeSet.delete(n);
|
|
61378
61400
|
vim.removeHighlight([n], "visible");
|
|
61401
|
+
changed = true;
|
|
61379
61402
|
}
|
|
61380
61403
|
});
|
|
61381
61404
|
if (nodeSet.size === 0) {
|
|
61382
61405
|
this._selectedNodes.delete(vim);
|
|
61383
61406
|
}
|
|
61407
|
+
if (changed) {
|
|
61408
|
+
this._onValueChanged.dispatch();
|
|
61409
|
+
}
|
|
61384
61410
|
}
|
|
61385
61411
|
/**
|
|
61386
61412
|
* Clears all selections across all VIMs or for a specific VIM.
|
|
61387
61413
|
* @param vim - Optional. If provided, only clears selections for the specified VIM.
|
|
61388
61414
|
*/
|
|
61389
61415
|
clear(vim) {
|
|
61416
|
+
let changed = false;
|
|
61390
61417
|
this._selectedNodes.forEach((nodes, v) => {
|
|
61391
61418
|
if (vim === void 0 || v === vim) {
|
|
61392
61419
|
v.removeHighlight(Array.from(nodes), "visible");
|
|
61420
|
+
changed = true;
|
|
61393
61421
|
}
|
|
61394
61422
|
});
|
|
61395
61423
|
this._selectedNodes.clear();
|
|
61424
|
+
if (changed) {
|
|
61425
|
+
this._onValueChanged.dispatch();
|
|
61426
|
+
}
|
|
61396
61427
|
}
|
|
61397
61428
|
/**
|
|
61398
61429
|
* Calculates the bounding box encompassing all selected nodes.
|
|
@@ -61421,8 +61452,12 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61421
61452
|
class VimCollection {
|
|
61422
61453
|
constructor() {
|
|
61423
61454
|
__publicField(this, "_vims");
|
|
61455
|
+
__publicField(this, "_onChanged", new distExports$1.SignalDispatcher());
|
|
61424
61456
|
this._vims = [];
|
|
61425
61457
|
}
|
|
61458
|
+
get onChanged() {
|
|
61459
|
+
return this._onChanged.asEvent();
|
|
61460
|
+
}
|
|
61426
61461
|
get count() {
|
|
61427
61462
|
return this._vims.length;
|
|
61428
61463
|
}
|
|
@@ -61433,6 +61468,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61433
61468
|
add(vim) {
|
|
61434
61469
|
if (!this._vims.some((v) => v.handle === vim.handle)) {
|
|
61435
61470
|
this._vims.push(vim);
|
|
61471
|
+
this._onChanged.dispatch();
|
|
61436
61472
|
}
|
|
61437
61473
|
}
|
|
61438
61474
|
/**
|
|
@@ -61440,7 +61476,11 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61440
61476
|
* @param vim - The Vim instance to remove.
|
|
61441
61477
|
*/
|
|
61442
61478
|
remove(vim) {
|
|
61479
|
+
const count = this._vims.length;
|
|
61443
61480
|
this._vims = this._vims.filter((v) => v.handle !== vim.handle);
|
|
61481
|
+
if (this._vims.length !== count) {
|
|
61482
|
+
this._onChanged.dispatch();
|
|
61483
|
+
}
|
|
61444
61484
|
}
|
|
61445
61485
|
/**
|
|
61446
61486
|
* Gets a Vim instance by its handle.
|
|
@@ -61703,7 +61743,6 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61703
61743
|
}
|
|
61704
61744
|
class SectionBox {
|
|
61705
61745
|
constructor(rpc) {
|
|
61706
|
-
__publicField(this, "_enabled", false);
|
|
61707
61746
|
__publicField(this, "_visible", true);
|
|
61708
61747
|
__publicField(this, "_interactible", true);
|
|
61709
61748
|
__publicField(this, "_clip", true);
|
|
@@ -61722,6 +61761,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61722
61761
|
return this._animationFrame > 0;
|
|
61723
61762
|
}
|
|
61724
61763
|
async onConnect() {
|
|
61764
|
+
this._rpc.RPCEnableSectionBox(true);
|
|
61725
61765
|
this.push();
|
|
61726
61766
|
this._interval = setInterval(() => this.pull(), 1e3);
|
|
61727
61767
|
}
|
|
@@ -61736,10 +61776,9 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61736
61776
|
if (this.needUpdate) return;
|
|
61737
61777
|
const state = await this._rpc.RPCGetSectionBox();
|
|
61738
61778
|
let changed = false;
|
|
61739
|
-
if (state.
|
|
61779
|
+
if (state.visible !== this._visible || state.interactible !== this._interactible || state.clip !== this._clip || state.box !== this._box) {
|
|
61740
61780
|
changed = true;
|
|
61741
61781
|
}
|
|
61742
|
-
this._enabled = state.enabled;
|
|
61743
61782
|
this._visible = state.visible;
|
|
61744
61783
|
this._interactible = state.interactible;
|
|
61745
61784
|
this._clip = state.clip;
|
|
@@ -61750,20 +61789,12 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61750
61789
|
}
|
|
61751
61790
|
async push() {
|
|
61752
61791
|
await this._rpc.RPCSetSectionBox({
|
|
61753
|
-
enabled: this._enabled,
|
|
61754
61792
|
visible: this._visible,
|
|
61755
61793
|
interactible: this._interactible,
|
|
61756
61794
|
clip: this._clip,
|
|
61757
61795
|
box: this._box
|
|
61758
61796
|
});
|
|
61759
61797
|
}
|
|
61760
|
-
get enabled() {
|
|
61761
|
-
return this._enabled;
|
|
61762
|
-
}
|
|
61763
|
-
set enabled(value) {
|
|
61764
|
-
this._enabled = value;
|
|
61765
|
-
this.scheduleUpdate();
|
|
61766
|
-
}
|
|
61767
61798
|
get visible() {
|
|
61768
61799
|
return this._visible;
|
|
61769
61800
|
}
|
|
@@ -61771,10 +61802,10 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61771
61802
|
this._visible = value;
|
|
61772
61803
|
this.scheduleUpdate();
|
|
61773
61804
|
}
|
|
61774
|
-
get
|
|
61805
|
+
get interactive() {
|
|
61775
61806
|
return this._interactible;
|
|
61776
61807
|
}
|
|
61777
|
-
set
|
|
61808
|
+
set interactive(value) {
|
|
61778
61809
|
this._interactible = value;
|
|
61779
61810
|
this.scheduleUpdate();
|
|
61780
61811
|
}
|
|
@@ -61884,6 +61915,9 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
61884
61915
|
get decoder() {
|
|
61885
61916
|
return this._decoder;
|
|
61886
61917
|
}
|
|
61918
|
+
get selection() {
|
|
61919
|
+
return this._selection;
|
|
61920
|
+
}
|
|
61887
61921
|
/**
|
|
61888
61922
|
* Gets the current URL to which the viewer is connected.
|
|
61889
61923
|
* @returns The URL as a string, or undefined if not connected.
|
|
@@ -66514,6 +66548,31 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
66514
66548
|
wrapper: "div",
|
|
66515
66549
|
clickable: false
|
|
66516
66550
|
}), _defineProperty(_class2, "supportedWrappers", ["div", "span"]), _defineProperty(_class2, "displayName", "ReactTooltip"), _class2)) || _class) || _class) || _class) || _class) || _class) || _class) || _class;
|
|
66551
|
+
function slidersHoriz({ height, width, fill: fill2, className }) {
|
|
66552
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className, height, width, viewBox: "0 0 256 256", children: [
|
|
66553
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66554
|
+
"path",
|
|
66555
|
+
{
|
|
66556
|
+
fill: fill2,
|
|
66557
|
+
d: "M24,74h111.163c6.293,15.258,21.308,26,38.837,26s32.543-10.742,38.837-26h19.163c8.836,0,16-7.164,16-16s-7.164-16-16-16h-19.163c-6.293-15.258-21.308-26-38.837-26s-32.543,10.742-38.837,26H24c-8.836,0-16,7.164-16,16s7.164,16,16,16Zm132.083-17.637c.014-.151,.031-.301,.048-.451,.05-.435,.116-.864,.197-1.289,.021-.11,.037-.222,.06-.331,.106-.503,.236-.998,.383-1.484,.046-.153,.1-.303,.15-.455,.116-.35,.242-.694,.379-1.033,.067-.167,.132-.336,.204-.5,.189-.433,.393-.859,.615-1.273,.092-.173,.196-.339,.294-.508,.15-.26,.305-.517,.467-.768,.133-.205,.268-.409,.409-.608,.147-.208,.302-.41,.458-.611,.28-.362,.572-.713,.878-1.053,.13-.146,.259-.293,.395-.435,.212-.221,.432-.435,.656-.645,.116-.109,.234-.215,.354-.321,.787-.703,1.634-1.338,2.535-1.896,.1-.062,.199-.123,.3-.182,.304-.181,.612-.356,.928-.519,2.464-1.27,5.25-2,8.208-2s5.744,.73,8.208,2c.315,.163,.624,.338,.928,.519,.101,.06,.201,.121,.3,.182,.901,.558,1.749,1.193,2.535,1.896,.119,.106,.238,.212,.354,.321,.224,.21,.443,.424,.656,.645,.135,.142,.264,.289,.395,.435,.306,.34,.599,.691,.878,1.053,.155,.202,.311,.403,.458,.611,.141,.199,.276,.403,.409,.608,.163,.251,.317,.508,.467,.768,.098,.169,.202,.335,.294,.508,.222,.415,.425,.84,.615,1.273,.072,.165,.137,.333,.204,.5,.137,.339,.263,.684,.379,1.033,.05,.151,.104,.301,.15,.455,.147,.487,.277,.981,.383,1.484,.023,.109,.039,.221,.06,.331,.081,.425,.147,.854,.197,1.289,.018,.15,.035,.3,.048,.451,.049,.54,.083,1.084,.083,1.637s-.034,1.097-.083,1.637c-.014,.151-.031,.301-.048,.451-.05,.435-.116,.864-.197,1.289-.021,.11-.037,.222-.06,.331-.106,.503-.236,.998-.383,1.484-.046,.153-.1,.303-.15,.455-.116,.35-.242,.694-.379,1.033-.067,.167-.132,.336-.204,.5-.189,.433-.393,.859-.615,1.273-.092,.173-.196,.339-.294,.508-.15,.26-.305,.517-.467,.768-.133,.205-.268,.409-.409,.608-.147,.208-.302,.41-.458,.611-.28,.362-.572,.713-.878,1.053-.13,.146-.259,.293-.395,.435-.212,.221-.432,.435-.656,.645-.116,.109-.234,.215-.354,.321-.787,.703-1.634,1.338-2.535,1.896-.1,.062-.199,.123-.3,.182-.304,.181-.612,.356-.928,.519-2.464,1.27-5.25,2-8.208,2s-5.744-.73-8.208-2c-.315-.163-.624-.338-.928-.519-.101-.06-.201-.121-.3-.182-.901-.558-1.749-1.193-2.535-1.896-.119-.106-.238-.212-.354-.321-.224-.21-.443-.424-.656-.645-.135-.142-.264-.289-.395-.435-.306-.34-.599-.691-.878-1.053-.155-.202-.311-.403-.458-.611-.141-.199-.276-.403-.409-.608-.163-.251-.317-.508-.467-.768-.098-.169-.202-.335-.294-.508-.222-.415-.425-.84-.615-1.273-.072-.165-.137-.333-.204-.5-.137-.339-.263-.684-.379-1.033-.05-.151-.104-.301-.15-.455-.147-.487-.277-.981-.383-1.484-.023-.109-.039-.221-.06-.331-.081-.425-.147-.854-.197-1.289-.018-.15-.035-.3-.048-.451-.049-.54-.083-1.084-.083-1.637s.034-1.097,.083-1.637Z"
|
|
66558
|
+
}
|
|
66559
|
+
),
|
|
66560
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66561
|
+
"path",
|
|
66562
|
+
{
|
|
66563
|
+
fill: fill2,
|
|
66564
|
+
d: "M232,112H120.837c-6.293-15.258-21.308-26-38.837-26s-32.543,10.742-38.837,26H24c-8.836,0-16,7.164-16,16s7.164,16,16,16h19.163c6.293,15.258,21.308,26,38.837,26s32.543-10.742,38.837-26h111.163c8.836,0,16-7.164,16-16s-7.164-16-16-16Zm-132.083,17.637c-.014,.151-.031,.301-.048,.451-.05,.435-.116,.864-.197,1.289-.021,.11-.037,.222-.06,.331-.106,.503-.236,.998-.383,1.484-.046,.153-.1,.303-.15,.455-.116,.35-.242,.694-.379,1.033-.067,.167-.132,.336-.204,.5-.189,.433-.393,.859-.615,1.273-.092,.173-.196,.339-.294,.508-.15,.26-.305,.517-.467,.768-.133,.205-.268,.409-.409,.608-.147,.208-.302,.41-.458,.611-.28,.362-.572,.713-.878,1.053-.13,.146-.259,.293-.395,.435-.212,.221-.432,.435-.656,.645-.116,.109-.234,.215-.354,.321-.787,.703-1.634,1.338-2.535,1.896-.1,.062-.199,.123-.3,.182-.304,.181-.612,.356-.928,.519-2.464,1.27-5.25,2-8.208,2s-5.744-.73-8.208-2c-.315-.163-.624-.338-.928-.519-.101-.06-.201-.121-.3-.182-.901-.558-1.749-1.193-2.535-1.896-.119-.106-.238-.212-.354-.321-.224-.21-.443-.424-.656-.645-.135-.142-.264-.289-.395-.435-.306-.34-.599-.691-.878-1.053-.155-.202-.311-.403-.458-.611-.141-.199-.276-.403-.409-.608-.163-.251-.317-.508-.467-.768-.098-.169-.202-.335-.294-.508-.222-.415-.425-.84-.615-1.273-.072-.165-.137-.333-.204-.5-.137-.339-.263-.684-.379-1.033-.05-.151-.104-.301-.15-.455-.147-.487-.277-.981-.383-1.484-.023-.109-.039-.221-.06-.331-.081-.425-.147-.854-.197-1.289-.018-.15-.035-.3-.048-.451-.049-.54-.083-1.084-.083-1.637s.034-1.097,.083-1.637c.014-.151,.031-.301,.048-.451,.05-.435,.116-.864,.197-1.289,.021-.11,.037-.222,.06-.331,.106-.503,.236-.998,.383-1.484,.046-.153,.1-.303,.15-.455,.116-.35,.242-.694,.379-1.033,.067-.167,.132-.336,.204-.5,.189-.433,.393-.859,.615-1.273,.092-.173,.196-.339,.294-.508,.15-.26,.305-.517,.467-.768,.133-.205,.268-.409,.409-.608,.147-.208,.302-.41,.458-.611,.28-.362,.572-.713,.878-1.053,.13-.146,.259-.293,.395-.435,.212-.221,.432-.435,.656-.645,.116-.109,.234-.215,.354-.321,.787-.703,1.634-1.338,2.535-1.896,.1-.062,.199-.123,.3-.182,.304-.181,.612-.356,.928-.519,2.464-1.27,5.25-2,8.208-2s5.744,.73,8.208,2c.315,.163,.624,.338,.928,.519,.101,.06,.201,.121,.3,.182,.901,.558,1.749,1.193,2.535,1.896,.119,.106,.238,.212,.354,.321,.224,.21,.443,.424,.656,.645,.135,.142,.264,.289,.395,.435,.306,.34,.599,.691,.878,1.053,.155,.202,.311,.403,.458,.611,.141,.199,.276,.403,.409,.608,.163,.251,.317,.508,.467,.768,.098,.169,.202,.335,.294,.508,.222,.415,.425,.84,.615,1.273,.072,.165,.137,.333,.204,.5,.137,.339,.263,.684,.379,1.033,.05,.151,.104,.301,.15,.455,.147,.487,.277,.981,.383,1.484,.023,.109,.039,.221,.06,.331,.081,.425,.147,.854,.197,1.289,.018,.15,.035,.3,.048,.451,.049,.54,.083,1.084,.083,1.637s-.034,1.097-.083,1.637Z"
|
|
66565
|
+
}
|
|
66566
|
+
),
|
|
66567
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66568
|
+
"path",
|
|
66569
|
+
{
|
|
66570
|
+
fill: fill2,
|
|
66571
|
+
d: "M232,182h-19.163c-6.293-15.258-21.308-26-38.837-26s-32.543,10.742-38.837,26H24c-8.836,0-16,7.164-16,16s7.164,16,16,16h111.163c6.293,15.258,21.308,26,38.837,26s32.543-10.742,38.837-26h19.163c8.836,0,16-7.164,16-16s-7.164-16-16-16Zm-40.083,17.637c-.014,.151-.031,.301-.048,.451-.05,.435-.116,.864-.197,1.289-.021,.11-.037,.222-.06,.331-.106,.503-.236,.998-.383,1.484-.046,.153-.1,.303-.15,.455-.116,.35-.242,.694-.379,1.033-.067,.167-.132,.336-.204,.5-.189,.433-.393,.859-.615,1.273-.092,.173-.196,.339-.294,.508-.15,.26-.305,.517-.467,.768-.133,.205-.268,.409-.409,.608-.147,.208-.302,.41-.458,.611-.28,.362-.572,.713-.878,1.053-.13,.146-.259,.293-.395,.435-.212,.221-.432,.435-.656,.645-.116,.109-.234,.215-.354,.321-.787,.703-1.634,1.338-2.535,1.896-.1,.062-.199,.123-.3,.182-.304,.181-.612,.356-.928,.519-2.464,1.27-5.25,2-8.208,2s-5.744-.73-8.208-2c-.315-.163-.624-.338-.928-.519-.101-.06-.201-.121-.3-.182-.901-.558-1.749-1.193-2.535-1.896-.119-.106-.238-.212-.354-.321-.224-.21-.443-.424-.656-.645-.135-.142-.264-.289-.395-.435-.306-.34-.599-.691-.878-1.053-.155-.202-.311-.403-.458-.611-.141-.199-.276-.403-.409-.608-.163-.251-.317-.508-.467-.768-.098-.169-.202-.335-.294-.508-.222-.415-.425-.84-.615-1.273-.072-.165-.137-.333-.204-.5-.137-.339-.263-.684-.379-1.033-.05-.151-.104-.301-.15-.455-.147-.487-.277-.981-.383-1.484-.023-.109-.039-.221-.06-.331-.081-.425-.147-.854-.197-1.289-.018-.15-.035-.3-.048-.451-.049-.54-.083-1.084-.083-1.637s.034-1.097,.083-1.637c.014-.151,.031-.301,.048-.451,.05-.435,.116-.864,.197-1.289,.021-.11,.037-.222,.06-.331,.106-.503,.236-.998,.383-1.484,.046-.153,.1-.303,.15-.455,.116-.35,.242-.694,.379-1.033,.067-.167,.132-.336,.204-.5,.189-.433,.393-.859,.615-1.273,.092-.173,.196-.339,.294-.508,.15-.26,.305-.517,.467-.768,.133-.205,.268-.409,.409-.608,.147-.208,.302-.41,.458-.611,.28-.362,.572-.713,.878-1.053,.13-.146,.259-.293,.395-.435,.212-.221,.432-.435,.656-.645,.116-.109,.234-.215,.354-.321,.787-.703,1.634-1.338,2.535-1.896,.1-.062,.199-.123,.3-.182,.304-.181,.612-.356,.928-.519,2.464-1.27,5.25-2,8.208-2s5.744,.73,8.208,2c.315,.163,.624,.338,.928,.519,.101,.06,.201,.121,.3,.182,.901,.558,1.749,1.193,2.535,1.896,.119,.106,.238,.212,.354,.321,.224,.21,.443,.424,.656,.645,.135,.142,.264,.289,.395,.435,.306,.34,.599,.691,.878,1.053,.155,.202,.311,.403,.458,.611,.141,.199,.276,.403,.409,.608,.163,.251,.317,.508,.467,.768,.098,.169,.202,.335,.294,.508,.222,.415,.425,.84,.615,1.273,.072,.165,.137,.333,.204,.5,.137,.339,.263,.684,.379,1.033,.05,.151,.104,.301,.15,.455,.147,.487,.277,.981,.383,1.484,.023,.109,.039,.221,.06,.331,.081,.425,.147,.854,.197,1.289,.018,.15,.035,.3,.048,.451,.049,.54,.083,1.084,.083,1.637s-.034,1.097-.083,1.637Z"
|
|
66572
|
+
}
|
|
66573
|
+
)
|
|
66574
|
+
] });
|
|
66575
|
+
}
|
|
66517
66576
|
function settings({ height, width, fill: fill2, className }) {
|
|
66518
66577
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className, height, width, viewBox: "0 0 256 256", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
66519
66578
|
"path",
|
|
@@ -67048,6 +67107,60 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67048
67107
|
)
|
|
67049
67108
|
] });
|
|
67050
67109
|
}
|
|
67110
|
+
function sectionBoxSettings({ height, width, fill: fill2, className }) {
|
|
67111
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className, height, width, viewBox: "0 0 256 256", children: [
|
|
67112
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67113
|
+
"path",
|
|
67114
|
+
{
|
|
67115
|
+
fill: fill2,
|
|
67116
|
+
d: "M 109.70368,2.190587 17.447731,55.710016 A 16.213,16.213 0 0 0 9.3632977,69.780402 L 9.6706253,176.28696 a 16.215,16.215 0 0 0 8.1654987,14.0235 l 95.269706,54.51732 c 1.35625,0.77609 3.04643,-0.20379 3.04192,-1.76478 L 115.79652,121.3395 221.23346,60.173007 c 1.35174,-0.783903 1.34611,-2.734895 -0.0101,-3.511985 L 125.95362,2.1436974 a 16.278,16.278 0 0 0 -16.24994,0.04689 z M 95.74464,211.51674 29.976783,173.88635 29.714025,82.825734 l 65.768857,37.630376 0.262761,91.06162 z m 9.95507,-107.77018 -65.766855,-37.629382 77.949835,-45.221114 65.76886,37.62938 -77.95084,45.221116 z"
|
|
67117
|
+
}
|
|
67118
|
+
),
|
|
67119
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67120
|
+
"path",
|
|
67121
|
+
{
|
|
67122
|
+
fill: fill2,
|
|
67123
|
+
d: "m 175.57713,226.38215 c -1.28316,3.98514 -5.40414,6.14971 -9.13315,4.86244 l -3.60809,-1.24739 c -3.76004,-1.29737 -5.86799,-5.60846 -4.70379,-9.64145 l 0.42438,-1.46966 c 0.96925,-3.3572 -0.3989,-7.74539 -3.07521,-9.81798 l -0.73032,-0.56682 c -2.66882,-2.0641 -7.02118,-2.10184 -9.7235,-0.0863 l -1.1842,0.8837 c -3.23919,2.42089 -7.76901,1.59565 -10.07644,-1.77642 l -2.23242,-3.26259 c -2.3254,-3.40131 -1.6226,-8.22657 1.51812,-10.73784 l 1.15669,-0.92571 c 2.63933,-2.1082 3.9555,-6.51288 2.93126,-9.86426 l -0.27844,-0.91558 c -1.01877,-3.33861 -4.52035,-6.09072 -7.821,-6.14815 l -1.44661,-0.0253 c -3.95551,-0.0693 -7.1652,-3.56724 -7.1652,-7.7374 v -4.03725 c 0,-4.20531 3.2372,-7.66991 7.1652,-7.73745 l 1.44661,-0.0251 c 3.30016,-0.0568 6.79826,-2.79894 7.821,-6.14974 l 0.27844,-0.91348 c 1.02023,-3.33859 -0.29193,-7.75605 -2.93126,-9.86586 l -1.15669,-0.9241 c -3.16419,-2.52987 -3.82354,-7.3652 -1.51812,-10.73784 l 2.23242,-3.2647 c 2.32739,-3.39921 6.86326,-4.17603 10.07644,-1.77645 l 1.1842,0.88372 c 2.70232,2.01782 7.04471,1.98645 9.7235,-0.086 l 0.73032,-0.56467 c 2.66683,-2.06414 4.04446,-6.46083 3.07521,-9.81803 l -0.42438,-1.47176 c -1.1627,-4.02504 0.97525,-8.35208 4.70379,-9.63935 l 3.60809,-1.24738 c 3.76004,-1.299493 7.84798,0.87146 9.13315,4.86086 l 0.46987,1.4569 c 1.07175,3.32157 4.60331,6.0152 7.91546,6.0152 h 0.90232 c 3.30011,0 6.84321,-2.69363 7.91345,-6.0152 l 0.46988,-1.4569 c 1.28517,-3.98301 5.40663,-6.148123 9.13516,-4.86033 l 3.60808,1.24739 c 3.76006,1.29738 5.86803,5.60632 4.70383,9.63932 l -0.42441,1.47179 c -0.96925,3.35722 0.39893,7.7454 3.07522,9.81798 l 0.73029,0.56467 c 2.66883,2.06622 7.02122,2.10401 9.72154,0.0862 l 1.1842,-0.88369 c 3.23916,-2.41874 7.77099,-1.59353 10.0764,1.77644 l 2.23444,3.26469 c 2.32542,3.40132 1.62261,8.22656 -1.51812,10.73784 l -1.15667,0.92409 c -2.63936,2.11036 -3.95552,6.51504 -2.93328,9.86586 l 0.28043,0.91346 c 1.01873,3.34022 4.52035,6.09284 7.82101,6.14975 l 1.44514,0.0251 c 3.95749,0.0671 7.16516,3.56725 7.16516,7.73741 v 4.03729 c 0,4.20314 -3.23717,7.66987 -7.16516,7.73739 l -1.44514,0.0254 c -3.30016,0.0568 -6.79828,2.79678 -7.82101,6.14812 l -0.28043,0.91562 c -1.01872,3.33856 0.29392,7.75601 2.93328,9.86424 l 1.15667,0.92571 c 3.16422,2.52985 3.82355,7.36522 1.51812,10.73786 l -2.23444,3.26254 c -2.32537,3.40135 -6.86123,4.17815 -10.0764,1.77645 l -1.1842,-0.88373 c -2.70032,-2.01569 -7.04322,-1.98646 -9.72154,0.086 l -0.73029,0.56681 c -2.66683,2.06412 -4.04447,6.46079 -3.07522,9.81801 l 0.42441,1.46964 c 1.1627,4.02717 -0.97526,8.3542 -4.70383,9.64146 l -3.60808,1.24739 c -3.76002,1.29736 -7.84798,-0.87146 -9.13516,-4.86248 l -0.46988,-1.45474 c -1.06973,-3.32157 -4.60133,-6.01523 -7.91345,-6.01523 h -0.90232 c -3.30013,0 -6.84323,2.69366 -7.91546,6.01523 l -0.46987,1.45474 z m 8.83473,-24.33631 c 18.77473,0 33.99232,-16.18681 33.99232,-36.15723 0,-19.97043 -15.21759,-36.1551 -33.99232,-36.1551 -18.77467,0 -33.9903,16.18681 -33.9903,36.1551 0,19.96828 15.21761,36.15723 33.9903,36.15723 z"
|
|
67124
|
+
}
|
|
67125
|
+
)
|
|
67126
|
+
] });
|
|
67127
|
+
}
|
|
67128
|
+
function sectionBoxAuto({ height, width, fill: fill2, className }) {
|
|
67129
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className, height, width, viewBox: "0 0 256 256", children: [
|
|
67130
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67131
|
+
"path",
|
|
67132
|
+
{
|
|
67133
|
+
fill: fill2,
|
|
67134
|
+
d: "M 109.70368,2.190587 17.447731,55.710016 A 16.213,16.213 0 0 0 9.3632977,69.780402 L 9.6706253,176.28696 a 16.215,16.215 0 0 0 8.1654987,14.0235 l 95.269706,54.51732 c 1.35625,0.77609 3.04643,-0.20379 3.04192,-1.76478 L 115.79652,121.3395 221.23346,60.173007 c 1.35174,-0.783903 1.34611,-2.734895 -0.0101,-3.511985 L 125.95362,2.1436974 a 16.278,16.278 0 0 0 -16.24994,0.04689 z M 95.74464,211.51674 29.976783,173.88635 29.714025,82.825734 l 65.768857,37.630376 0.262761,91.06162 z m 9.95507,-107.77018 -65.766855,-37.629382 77.949835,-45.221114 65.76886,37.62938 -77.95084,45.221116 z"
|
|
67135
|
+
}
|
|
67136
|
+
),
|
|
67137
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67138
|
+
"path",
|
|
67139
|
+
{
|
|
67140
|
+
fill: fill2,
|
|
67141
|
+
d: "M 221.207314 217.240532 L 214.827314 200.469532 L 160.504314 200.469532 L 154.124314 217.604532 C 151.632314 224.288532 149.506314 228.815532 147.744314 231.186532 C 145.981314 233.494532 143.095314 234.649532 139.085314 234.649532 C 135.682314 234.649532 132.674314 233.403532 130.061314 230.912532 C 127.448314 228.420532 126.142314 225.595532 126.142314 222.435532 C 126.142314 220.612532 126.446314 218.729532 127.053314 216.784532 C 127.661314 214.840532 128.664314 212.137532 130.061314 208.672532 L 164.241314 121.901532 C 165.213314 119.410532 166.368314 116.432532 167.704314 112.969532 C 169.102314 109.444532 170.560314 106.528532 172.079314 104.219532 C 173.659314 101.911532 175.695314 100.057532 178.186314 98.660532 C 180.738314 97.201532 183.868314 96.471532 187.574314 96.471532 C 191.342314 96.471532 194.471314 97.201532 196.962314 98.660532 C 199.514314 100.057532 201.550314 101.879532 203.069314 104.128532 C 204.649314 106.376532 205.955314 108.807532 206.988314 111.419532 C 208.082314 113.971532 209.449314 117.405532 211.090314 121.719532 L 245.999314 207.943532 C 248.733314 214.505532 250.100314 219.275532 250.100314 222.253532 C 250.100314 225.352532 248.794314 228.209532 246.181314 230.822532 C 243.629314 233.373532 240.530314 234.649532 236.884314 234.649532 C 234.758314 234.649532 232.935314 234.254532 231.416314 233.464532 C 229.896314 232.735532 228.620314 231.732532 227.587314 230.456532 C 226.554314 229.119532 225.430314 227.115532 224.215314 224.440532 C 223.060314 221.706532 222.058314 219.306532 221.207314 217.240532 Z M 167.613314 180.143532 L 207.535314 180.143532 L 187.392314 125.000532 Z"
|
|
67142
|
+
}
|
|
67143
|
+
)
|
|
67144
|
+
] });
|
|
67145
|
+
}
|
|
67146
|
+
function sectionBoxVisible({ height, width, fill: fill2, className }) {
|
|
67147
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className, height, width, viewBox: "0 0 256 256", children: [
|
|
67148
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67149
|
+
"path",
|
|
67150
|
+
{
|
|
67151
|
+
fill: fill2,
|
|
67152
|
+
d: "M 109.70368,2.190587 17.447731,55.710016 A 16.213,16.213 0 0 0 9.3632977,69.780402 L 9.6706253,176.28696 a 16.215,16.215 0 0 0 8.1654987,14.0235 l 95.269706,54.51732 c 1.35625,0.77609 3.04643,-0.20379 3.04192,-1.76478 L 115.79652,121.3395 221.23346,60.173007 c 1.35174,-0.783903 1.34611,-2.734895 -0.0101,-3.511985 L 125.95362,2.1436974 a 16.278,16.278 0 0 0 -16.24994,0.04689 z M 95.74464,211.51674 29.976783,173.88635 29.714025,82.825734 l 65.768857,37.630376 0.262761,91.06162 z m 9.95507,-107.77018 -65.766855,-37.629382 77.949835,-45.221114 65.76886,37.62938 -77.95084,45.221116 z"
|
|
67153
|
+
}
|
|
67154
|
+
),
|
|
67155
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67156
|
+
"path",
|
|
67157
|
+
{
|
|
67158
|
+
fill: fill2,
|
|
67159
|
+
d: "m 186.05204,115.30607 c -37.93016,0 -68.67906,39.581 -68.67906,59.64313 0,21.35677 30.7489,59.64312 68.67906,59.64312 37.93016,0 68.67906,-38.28635 68.67906,-59.64312 0,-20.06213 -30.7489,-59.64313 -68.67906,-59.64313 z m 40.42729,85.41349 c -6.9441,6.83951 -21.43002,18.31368 -40.42729,18.31368 -18.99727,0 -33.48265,-11.47417 -40.42728,-18.31368 -11.61642,-11.4411 -15.37445,-22.30263 -15.37445,-25.77036 0,-0.0305 0.0381,-3.14164 3.35186,-9.36916 2.8652,-5.38603 7.15818,-11.06056 12.08697,-15.97917 3.66628,-3.65833 9.40099,-8.61065 16.72067,-12.50626 -6.58514,7.55977 -10.6973,18.2333 -10.6973,30.07505 0,22.91463 15.37445,41.49087 34.33953,41.49087 18.96508,0 34.33953,-18.57624 34.33953,-41.49087 0,-5.71277 -0.95614,-11.15521 -2.68492,-16.10818 -0.0445,9.9792 -6.75148,18.05306 -15.0214,18.05306 -8.26992,0 -15.02354,-8.12702 -15.02354,-18.15225 0,-8.97953 5.39774,-16.43168 12.48617,-17.88905 11.9346,3.73548 21.13062,11.40091 26.2676,16.52763 4.92879,4.91861 9.22177,10.59379 12.08697,15.97917 3.31377,6.22752 3.35186,9.33869 3.35186,9.36916 0,3.46773 -3.75803,14.32926 -15.37445,25.77036 z"
|
|
67160
|
+
}
|
|
67161
|
+
)
|
|
67162
|
+
] });
|
|
67163
|
+
}
|
|
67051
67164
|
function sectionBox({ height, width, fill: fill2, className }) {
|
|
67052
67165
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className, height, width, viewBox: "0 0 256 256", children: [
|
|
67053
67166
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -67066,6 +67179,31 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67066
67179
|
)
|
|
67067
67180
|
] });
|
|
67068
67181
|
}
|
|
67182
|
+
function sectionBoxDisable({ height, width, fill: fill2, className }) {
|
|
67183
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className, height, width, viewBox: "0 0 256 256", children: [
|
|
67184
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67185
|
+
"path",
|
|
67186
|
+
{
|
|
67187
|
+
fill: fill2,
|
|
67188
|
+
d: "M 109.70368,2.190587 17.447731,55.710016 A 16.213,16.213 0 0 0 9.3632977,69.780402 L 9.6706253,176.28696 a 16.215,16.215 0 0 0 8.1654987,14.0235 l 95.269706,54.51732 c 1.35625,0.77609 3.04643,-0.20379 3.04192,-1.76478 L 115.79652,121.3395 221.23346,60.173007 c 1.35174,-0.783903 1.34611,-2.734895 -0.0101,-3.511985 L 125.95362,2.1436974 a 16.278,16.278 0 0 0 -16.24994,0.04689 z M 95.74464,211.51674 29.976783,173.88635 29.714025,82.825734 l 65.768857,37.630376 0.262761,91.06162 z m 9.95507,-107.77018 -65.766855,-37.629382 77.949835,-45.221114 65.76886,37.62938 -77.95084,45.221116 z"
|
|
67189
|
+
}
|
|
67190
|
+
),
|
|
67191
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67192
|
+
"path",
|
|
67193
|
+
{
|
|
67194
|
+
fill: fill2,
|
|
67195
|
+
d: "m 185.61601,192.28388 v -44.0883 c 0,-2.52838 -1.97182,-4.91709 -4.84542,-5.26996 -3.49833,-0.42965 -6.4956,1.9253 -6.4956,4.89027 v 44.08783 c 0,2.52885 1.97182,4.91756 4.84542,5.27043 3.49833,0.42965 6.4956,-1.92531 6.4956,-4.89027 z m 22.68149,0 v -44.0883 c 0,-2.52838 -1.97182,-4.91709 -4.84542,-5.26996 -3.49832,-0.42965 -6.49559,1.9253 -6.49559,4.89027 v 44.08783 c 0,2.52885 1.97182,4.91756 4.84542,5.27043 3.49832,0.42965 6.49559,-1.92531 6.49559,-4.89027 z m 38.18908,-71.6429 H 225.42553 V 105.9623 c 0,-2.80818 -2.61299,-5.08498 -5.83584,-5.08498 h -56.43703 c -3.22285,0 -5.83585,2.2768 -5.83585,5.08498 v 14.67868 h -21.23089 c -4.69044,0 -8.49236,3.31275 -8.49236,7.39969 v 0.0231 c 0,4.08694 3.80192,7.39969 8.49236,7.39969 h 110.40066 c 4.69044,0 8.49236,-3.31275 8.49236,-7.39969 v -0.0231 c 0,-4.08694 -3.80192,-7.39969 -8.49236,-7.39969 z m -35.23745,-6.4863 v 6.4863 h -39.75592 v -6.4863 a 1.0615448,0.92496161 0 0 1 1.06155,-0.92496 h 37.63282 a 1.0615448,0.92496161 0 0 1 1.06155,0.92496 z"
|
|
67196
|
+
}
|
|
67197
|
+
),
|
|
67198
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67199
|
+
"path",
|
|
67200
|
+
{
|
|
67201
|
+
fill: fill2,
|
|
67202
|
+
d: "m 227.42894,215.76405 c 0,5.6549 -4.47215,10.23953 -9.98832,10.23953 h -49.76957 c -5.51617,0 -9.98832,-4.58463 -9.98832,-10.23953 v -69.72083 a 4.9863693,5.1117785 0 0 0 -4.98637,-5.11178 h -10.00391 a 4.9863693,5.1117785 0 0 0 -4.98637,5.11178 v 73.13422 c 0,15.08038 11.92553,27.30584 26.63594,27.30584 h 56.42825 c 14.71041,0 26.63594,-12.22546 26.63594,-27.30584 v -73.13422 a 4.9863693,5.1117785 0 0 0 -4.98637,-5.11178 h -10.0039 a 4.9863693,5.1117785 0 0 0 -4.98637,5.11178 v 69.72147 z"
|
|
67203
|
+
}
|
|
67204
|
+
)
|
|
67205
|
+
] });
|
|
67206
|
+
}
|
|
67069
67207
|
function sectionBoxClip({ height, width, fill: fill2, className }) {
|
|
67070
67208
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className, height, width, viewBox: "0 0 256 256", children: [
|
|
67071
67209
|
/* @__PURE__ */ jsxRuntimeExports.jsx("path", { fill: "none", d: "M0 0h256v256H0z" }),
|
|
@@ -67147,6 +67285,24 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67147
67285
|
) })
|
|
67148
67286
|
] });
|
|
67149
67287
|
}
|
|
67288
|
+
function sectionBoxShrink2({ height, width, fill: fill2, className }) {
|
|
67289
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className, height, width, viewBox: "0 0 256 256", children: [
|
|
67290
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67291
|
+
"path",
|
|
67292
|
+
{
|
|
67293
|
+
fill: fill2,
|
|
67294
|
+
d: "M 109.70368,2.190587 17.447731,55.710016 A 16.213,16.213 0 0 0 9.3632977,69.780402 L 9.6706253,176.28696 a 16.215,16.215 0 0 0 8.1654987,14.0235 l 95.269706,54.51732 c 1.35625,0.77609 3.04643,-0.20379 3.04192,-1.76478 L 115.79652,121.3395 221.23346,60.173007 c 1.35174,-0.783903 1.34611,-2.734895 -0.0101,-3.511985 L 125.95362,2.1436974 a 16.278,16.278 0 0 0 -16.24994,0.04689 z M 95.74464,211.51674 29.976783,173.88635 29.714025,82.825734 l 65.768857,37.630376 0.262761,91.06162 z m 9.95507,-107.77018 -65.766855,-37.629382 77.949835,-45.221114 65.76886,37.62938 -77.95084,45.221116 z"
|
|
67295
|
+
}
|
|
67296
|
+
),
|
|
67297
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67298
|
+
"path",
|
|
67299
|
+
{
|
|
67300
|
+
fill: fill2,
|
|
67301
|
+
d: "m 223.41166,231.92815 -50.05,-51.82677 -21.39562,22.15515 -21.52251,-81.36695 78.57748,22.28655 -21.39561,22.15516 50.05002,51.82676 z"
|
|
67302
|
+
}
|
|
67303
|
+
)
|
|
67304
|
+
] });
|
|
67305
|
+
}
|
|
67150
67306
|
function ghost({ height, width, fill: fill2, className }) {
|
|
67151
67307
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className, width: height, height: width, viewBox: "0 0 20 20", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("g", { "data-name": "ICONS", children: [
|
|
67152
67308
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -67206,11 +67362,17 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67206
67362
|
pan,
|
|
67207
67363
|
perspective,
|
|
67208
67364
|
sectionBox,
|
|
67365
|
+
sectionBoxAuto,
|
|
67209
67366
|
sectionBoxClip,
|
|
67367
|
+
sectionBoxDisable,
|
|
67210
67368
|
sectionBoxIgnore,
|
|
67211
67369
|
sectionBoxReset,
|
|
67370
|
+
sectionBoxSettings,
|
|
67212
67371
|
sectionBoxShrink,
|
|
67372
|
+
sectionBoxShrink2,
|
|
67373
|
+
sectionBoxVisible,
|
|
67213
67374
|
settings,
|
|
67375
|
+
slidersHoriz,
|
|
67214
67376
|
toggleIsolation,
|
|
67215
67377
|
trash,
|
|
67216
67378
|
treeView,
|
|
@@ -67230,9 +67392,6 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67230
67392
|
function anyUiCursorButton(settings2) {
|
|
67231
67393
|
return isTrue(settings2.ui.orbit) || isTrue(settings2.ui.lookAround) || isTrue(settings2.ui.pan) || isTrue(settings2.ui.zoom) || isTrue(settings2.ui.zoomWindow) || isTrue(settings2.ui.zoomToFit);
|
|
67232
67394
|
}
|
|
67233
|
-
function anyUiToolButton(settings2) {
|
|
67234
|
-
return isTrue(settings2.ui.sectioningMode) || isTrue(settings2.ui.measuringMode) || isTrue(settings2.ui.toggleIsolation);
|
|
67235
|
-
}
|
|
67236
67395
|
function anyUiSettingButton(settings2) {
|
|
67237
67396
|
return isTrue(settings2.ui.projectInspector) || isTrue(settings2.ui.settings) || isTrue(settings2.ui.help) || isTrue(settings2.ui.maximise);
|
|
67238
67397
|
}
|
|
@@ -67364,7 +67523,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67364
67523
|
}
|
|
67365
67524
|
);
|
|
67366
67525
|
const hidden2 = isTrue(props.settings.value.ui.axesPanel) ? "" : " vc-hidden";
|
|
67367
|
-
const
|
|
67526
|
+
const createBar = () => {
|
|
67368
67527
|
if (!anyUiAxesButton(props.settings.value)) {
|
|
67369
67528
|
return (
|
|
67370
67529
|
// Keeps layout when all buttons are disabled.
|
|
@@ -67386,7 +67545,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67386
67545
|
className: "vim-axes-panel vc-pointer-events-none vc-absolute vc-overflow-hidden vc-z-20 vc-flex vc-flex-col vc-border vc-border-white vc-opacity-50 vc-shadow-lg vc-saturate-0 vc-transition-all hover:vc-opacity-100 hover:vc-saturate-100" + hidden2,
|
|
67387
67546
|
children: [
|
|
67388
67547
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: gizmoDiv, className: "vim-axes-panel-gizmo vc-absolute vc-pointer-events-auto" }),
|
|
67389
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "vim-axes-panel-bar vc-absolute vc-top-[75%] vc-bottom-0 vc-right-0 vc-left-0", children:
|
|
67548
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "vim-axes-panel-bar vc-absolute vc-top-[75%] vc-bottom-0 vc-right-0 vc-left-0", children: createBar() })
|
|
67390
67549
|
]
|
|
67391
67550
|
}
|
|
67392
67551
|
);
|
|
@@ -67395,22 +67554,96 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67395
67554
|
function buttonDefaultStyle(on) {
|
|
67396
67555
|
return on ? btnStyle + " vc-text-primary" : btnStyle + " vc-text-gray-medium";
|
|
67397
67556
|
}
|
|
67557
|
+
function buttonExpandStyle(on) {
|
|
67558
|
+
return on ? btnStyle + " vc-text-white vc-bg-primary" : btnStyle + " vc-text-gray-medium";
|
|
67559
|
+
}
|
|
67560
|
+
function buttonDisableStyle(on) {
|
|
67561
|
+
return on ? btnStyle + " vc-text-gray-medium" : btnStyle + " vc-text-gray vc-pointer-events-none";
|
|
67562
|
+
}
|
|
67398
67563
|
function buttonBlueStyle(on) {
|
|
67399
67564
|
return btnStyle + " vc-text-white";
|
|
67400
67565
|
}
|
|
67401
67566
|
function createButton(button) {
|
|
67402
67567
|
var _a2;
|
|
67403
67568
|
if (button.enabled !== void 0 && !button.enabled()) return null;
|
|
67404
|
-
const style = button.style((_a2 = button.isOn) == null ? void 0 : _a2.call(button));
|
|
67405
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("button", { "data-tip": button.tip, onClick: button.action, className: style, type: "button", children: button.icon({ height: "20", width: "20", fill: "currentColor", className: "vc-max-h-[80%]" }) }, button.id);
|
|
67569
|
+
const style = (button.style ?? buttonDefaultStyle)((_a2 = button.isOn) == null ? void 0 : _a2.call(button));
|
|
67570
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("button", { id: button.id, "data-tip": button.tip, onClick: button.action, className: style, type: "button", children: button.icon({ height: "20", width: "20", fill: "currentColor", className: "vc-max-h-[80%]" }) }, button.id);
|
|
67406
67571
|
}
|
|
67407
|
-
const sectionStyle = "vc-flex vc-items-center vc-rounded-full vc-mb-2 vc-
|
|
67572
|
+
const sectionStyle = "vc-flex vc-items-center vc-rounded-full vc-mb-2 vc-shadow-md";
|
|
67408
67573
|
const sectionDefaultStyle = sectionStyle + " vc-bg-white";
|
|
67409
67574
|
const sectionBlueStyle = sectionStyle + " vc-bg-primary";
|
|
67575
|
+
const sectionNoPadStyle = sectionStyle.replace("vc-px-2", "") + " vc-bg-white";
|
|
67410
67576
|
function createSection$1(section) {
|
|
67411
67577
|
if (section.enable !== void 0 && !section.enable()) return null;
|
|
67412
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `vim-control-bar-section ${section.style}`, children: section.buttons.map((b) => createButton(b)) }, section.id);
|
|
67578
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `vim-control-bar-section ${section.style ?? sectionDefaultStyle}`, children: section.buttons.map((b) => createButton(b)) }, section.id);
|
|
67413
67579
|
}
|
|
67580
|
+
const elementIds = {
|
|
67581
|
+
// Sections
|
|
67582
|
+
sectionCamera: "controlBar.sectionCamera",
|
|
67583
|
+
sectionActions: "controlBar.sectionActions",
|
|
67584
|
+
sectionTools: "controlBar.sectionTools",
|
|
67585
|
+
sectionSettings: "controlBar.sectionSettings",
|
|
67586
|
+
sectionMeasure: "controlBar.sectionMeasure",
|
|
67587
|
+
sectionSectionBox: "controlBar.sectionSectionBox",
|
|
67588
|
+
// Camera buttons
|
|
67589
|
+
buttonCameraOrbit: "controlBar.camera.orbit",
|
|
67590
|
+
buttonCameraLook: "controlBarcamera.look",
|
|
67591
|
+
buttonCameraPan: "controlBar.camera.pan",
|
|
67592
|
+
buttonCameraZoom: "controlBar.camera.zoom",
|
|
67593
|
+
buttonCameraZoomWindow: "controlBar.camera.zoomWindow",
|
|
67594
|
+
// Settings buttons
|
|
67595
|
+
buttonProjectInspector: "controlBar.projectInspector",
|
|
67596
|
+
buttonSettings: "controlBar.settings",
|
|
67597
|
+
buttonHelp: "controlBar.help",
|
|
67598
|
+
buttonMaximize: "controlBar.maximize",
|
|
67599
|
+
// Action Buttons
|
|
67600
|
+
buttonToggleIsolation: "controlBar.action.toggleIsolation",
|
|
67601
|
+
buttonZoomToFit: "controlBar.action.zoomToFit",
|
|
67602
|
+
// Tools buttons
|
|
67603
|
+
buttonSectionBox: "controlBar.sectionBox",
|
|
67604
|
+
buttonMeasure: "controlBar.measure",
|
|
67605
|
+
// Section box buttons
|
|
67606
|
+
buttonSectionBoxEnable: "controlBar.sectionBox.enable",
|
|
67607
|
+
buttonSectionBoxVisible: "controlBar.sectionBox.visible",
|
|
67608
|
+
buttonSectionBoxShrinkToSelection: "controlBar.sectionBox.shrinkToSelection",
|
|
67609
|
+
buttonSectionBoxAuto: "controlBar.sectionBox.auto",
|
|
67610
|
+
buttonSectionBoxClip: "controlBar.sectionBox.clip",
|
|
67611
|
+
buttonSectionBoxSettings: "controlBar.sectionBox.settings"
|
|
67612
|
+
};
|
|
67613
|
+
function ControlBar(props) {
|
|
67614
|
+
React2.useEffect(() => {
|
|
67615
|
+
ReactTooltip.rebuild();
|
|
67616
|
+
});
|
|
67617
|
+
if (!props.show) {
|
|
67618
|
+
return null;
|
|
67619
|
+
}
|
|
67620
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67621
|
+
"div",
|
|
67622
|
+
{
|
|
67623
|
+
style: {
|
|
67624
|
+
gap: "min(10px, 2%)",
|
|
67625
|
+
bottom: "min(36px, 10%)"
|
|
67626
|
+
},
|
|
67627
|
+
id: "vim-control-bar",
|
|
67628
|
+
className: "vim-control-bar vc-pointer-events-auto vc-flex-wrap vc-mx-2 vc-min-w-0 vc-absolute vc-left-0 vc-right-0 vc-z-20 vc-flex vc-items-center vc-justify-center transition-all",
|
|
67629
|
+
children: props.content.map(createSection$1)
|
|
67630
|
+
}
|
|
67631
|
+
);
|
|
67632
|
+
}
|
|
67633
|
+
const controlBar = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
67634
|
+
__proto__: null,
|
|
67635
|
+
ControlBar,
|
|
67636
|
+
buttonBlueStyle,
|
|
67637
|
+
buttonDefaultStyle,
|
|
67638
|
+
buttonDisableStyle,
|
|
67639
|
+
buttonExpandStyle,
|
|
67640
|
+
createButton,
|
|
67641
|
+
createSection: createSection$1,
|
|
67642
|
+
elementIds,
|
|
67643
|
+
sectionBlueStyle,
|
|
67644
|
+
sectionDefaultStyle,
|
|
67645
|
+
sectionNoPadStyle
|
|
67646
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
67414
67647
|
function getPointerState(viewer) {
|
|
67415
67648
|
const [mode, setMode] = React2.useState(viewer.inputs.pointerActive);
|
|
67416
67649
|
React2.useEffect(() => {
|
|
@@ -67472,52 +67705,6 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67472
67705
|
}
|
|
67473
67706
|
};
|
|
67474
67707
|
}
|
|
67475
|
-
function getSectionBoxState(viewer) {
|
|
67476
|
-
const sectionGizmo = viewer.gizmos.section;
|
|
67477
|
-
const first = React2.useRef(true);
|
|
67478
|
-
const [section, setSection] = React2.useState({
|
|
67479
|
-
clip: sectionGizmo.clip,
|
|
67480
|
-
active: sectionGizmo.visible && sectionGizmo.interactive
|
|
67481
|
-
});
|
|
67482
|
-
React2.useEffect(() => {
|
|
67483
|
-
const subSection = sectionGizmo.onStateChanged.subscribe(
|
|
67484
|
-
() => setSection({
|
|
67485
|
-
clip: sectionGizmo.clip,
|
|
67486
|
-
active: sectionGizmo.visible && sectionGizmo.interactive
|
|
67487
|
-
})
|
|
67488
|
-
);
|
|
67489
|
-
return () => subSection();
|
|
67490
|
-
}, []);
|
|
67491
|
-
const toggle = () => {
|
|
67492
|
-
ReactTooltip.hide();
|
|
67493
|
-
if (viewer.inputs.pointerActive === "rect") {
|
|
67494
|
-
viewer.inputs.pointerActive = viewer.inputs.pointerFallback;
|
|
67495
|
-
}
|
|
67496
|
-
const next = !(sectionGizmo.visible && sectionGizmo.interactive);
|
|
67497
|
-
sectionGizmo.interactive = next;
|
|
67498
|
-
sectionGizmo.visible = next;
|
|
67499
|
-
if (next && first.current) {
|
|
67500
|
-
sectionGizmo.clip = true;
|
|
67501
|
-
sectionGizmo.fitBox(viewer.renderer.getBoundingBox());
|
|
67502
|
-
first.current = false;
|
|
67503
|
-
}
|
|
67504
|
-
};
|
|
67505
|
-
return {
|
|
67506
|
-
clip: section.clip,
|
|
67507
|
-
active: section.active,
|
|
67508
|
-
set: setSection,
|
|
67509
|
-
toggle,
|
|
67510
|
-
hide: () => {
|
|
67511
|
-
sectionGizmo.visible = false;
|
|
67512
|
-
sectionGizmo.interactive = false;
|
|
67513
|
-
},
|
|
67514
|
-
reset: () => sectionGizmo.fitBox(viewer.renderer.getBoundingBox()),
|
|
67515
|
-
shrinkToSelection: () => sectionGizmo.fitBox(viewer.selection.getBoundingBox()),
|
|
67516
|
-
toggleClip: () => {
|
|
67517
|
-
sectionGizmo.clip = !section.clip;
|
|
67518
|
-
}
|
|
67519
|
-
};
|
|
67520
|
-
}
|
|
67521
67708
|
function pointerToCursor(pointer) {
|
|
67522
67709
|
switch (pointer) {
|
|
67523
67710
|
case "orbit":
|
|
@@ -67569,13 +67756,13 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67569
67756
|
const sub2 = this._viewer.inputs.onPointerOverrideChanged.subscribe(
|
|
67570
67757
|
() => this._updateCursor()
|
|
67571
67758
|
);
|
|
67572
|
-
const sub3 = this._viewer.gizmos.
|
|
67573
|
-
if (!this._viewer.gizmos.
|
|
67759
|
+
const sub3 = this._viewer.gizmos.sectionBox.onStateChanged.subscribe(() => {
|
|
67760
|
+
if (!this._viewer.gizmos.sectionBox.visible) {
|
|
67574
67761
|
this._boxHover = false;
|
|
67575
67762
|
this._updateCursor();
|
|
67576
67763
|
}
|
|
67577
67764
|
});
|
|
67578
|
-
const sub4 = this._viewer.gizmos.
|
|
67765
|
+
const sub4 = this._viewer.gizmos.sectionBox.onHover.subscribe((hover) => {
|
|
67579
67766
|
this._boxHover = hover;
|
|
67580
67767
|
this._updateCursor();
|
|
67581
67768
|
});
|
|
@@ -67638,59 +67825,77 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67638
67825
|
clear
|
|
67639
67826
|
};
|
|
67640
67827
|
}
|
|
67641
|
-
|
|
67642
|
-
|
|
67643
|
-
|
|
67644
|
-
|
|
67645
|
-
|
|
67646
|
-
|
|
67647
|
-
|
|
67648
|
-
|
|
67649
|
-
|
|
67650
|
-
|
|
67651
|
-
|
|
67652
|
-
|
|
67653
|
-
|
|
67654
|
-
|
|
67655
|
-
|
|
67656
|
-
|
|
67657
|
-
|
|
67658
|
-
|
|
67659
|
-
|
|
67660
|
-
|
|
67661
|
-
|
|
67662
|
-
|
|
67663
|
-
|
|
67664
|
-
|
|
67665
|
-
|
|
67666
|
-
|
|
67667
|
-
|
|
67668
|
-
|
|
67669
|
-
|
|
67670
|
-
|
|
67671
|
-
|
|
67672
|
-
|
|
67673
|
-
|
|
67674
|
-
|
|
67675
|
-
|
|
67676
|
-
|
|
67677
|
-
|
|
67678
|
-
|
|
67679
|
-
|
|
67680
|
-
|
|
67681
|
-
|
|
67682
|
-
|
|
67683
|
-
|
|
67684
|
-
|
|
67685
|
-
|
|
67686
|
-
|
|
67828
|
+
function controlBarSectionBox(section, hasSelection) {
|
|
67829
|
+
return {
|
|
67830
|
+
id: elementIds.sectionSectionBox,
|
|
67831
|
+
style: section.getEnable() ? sectionNoPadStyle : sectionDefaultStyle,
|
|
67832
|
+
//enable: () => section.getEnable(),
|
|
67833
|
+
buttons: [
|
|
67834
|
+
{
|
|
67835
|
+
id: elementIds.buttonSectionBoxEnable,
|
|
67836
|
+
tip: "Enable Section Box",
|
|
67837
|
+
isOn: () => section.getEnable(),
|
|
67838
|
+
style: (on) => buttonExpandStyle(on),
|
|
67839
|
+
action: () => section.setEnable(!section.getEnable()),
|
|
67840
|
+
icon: sectionBox
|
|
67841
|
+
},
|
|
67842
|
+
{
|
|
67843
|
+
id: elementIds.buttonSectionBoxShrinkToSelection,
|
|
67844
|
+
tip: "Fit Section",
|
|
67845
|
+
enabled: () => section.getEnable(),
|
|
67846
|
+
isOn: () => hasSelection,
|
|
67847
|
+
style: (on) => buttonDisableStyle(on),
|
|
67848
|
+
action: () => section.sectionSelection(),
|
|
67849
|
+
icon: sectionBoxShrink
|
|
67850
|
+
},
|
|
67851
|
+
{
|
|
67852
|
+
id: elementIds.buttonSectionBoxClip,
|
|
67853
|
+
tip: "Reset Section",
|
|
67854
|
+
enabled: () => section.getEnable(),
|
|
67855
|
+
style: (on) => buttonDefaultStyle(on),
|
|
67856
|
+
action: () => section.sectionReset(),
|
|
67857
|
+
icon: sectionBoxReset
|
|
67858
|
+
},
|
|
67859
|
+
{
|
|
67860
|
+
id: elementIds.buttonSectionBoxVisible,
|
|
67861
|
+
tip: "Show Section Box",
|
|
67862
|
+
enabled: () => section.getEnable(),
|
|
67863
|
+
isOn: () => section.getVisible(),
|
|
67864
|
+
style: (on) => buttonDefaultStyle(on),
|
|
67865
|
+
action: () => section.setVisible(!section.getVisible()),
|
|
67866
|
+
icon: visible
|
|
67867
|
+
},
|
|
67868
|
+
{
|
|
67869
|
+
id: elementIds.buttonSectionBoxAuto,
|
|
67870
|
+
tip: "Auto Section",
|
|
67871
|
+
enabled: () => section.getEnable(),
|
|
67872
|
+
isOn: () => section.getAuto(),
|
|
67873
|
+
style: (on) => buttonDefaultStyle(on),
|
|
67874
|
+
action: () => section.setAuto(!section.getAuto()),
|
|
67875
|
+
icon: sectionBoxAuto
|
|
67876
|
+
},
|
|
67877
|
+
{
|
|
67878
|
+
id: elementIds.buttonSectionBoxSettings,
|
|
67879
|
+
tip: "Section Settings",
|
|
67880
|
+
enabled: () => section.getEnable(),
|
|
67881
|
+
isOn: () => section.getOffsetVisible(),
|
|
67882
|
+
style: (on) => buttonDefaultStyle(on),
|
|
67883
|
+
action: () => section.setOffsetsVisible(!section.getOffsetVisible()),
|
|
67884
|
+
icon: slidersHoriz
|
|
67885
|
+
}
|
|
67886
|
+
]
|
|
67887
|
+
};
|
|
67888
|
+
}
|
|
67889
|
+
function controlBarPointer(viewer, camera2, settings2, section) {
|
|
67890
|
+
const pointer = getPointerState(viewer);
|
|
67891
|
+
return {
|
|
67687
67892
|
id: elementIds.sectionCamera,
|
|
67688
|
-
enable: () => anyUiCursorButton(
|
|
67893
|
+
enable: () => anyUiCursorButton(settings2),
|
|
67689
67894
|
style: sectionDefaultStyle,
|
|
67690
67895
|
buttons: [
|
|
67691
67896
|
{
|
|
67692
67897
|
id: elementIds.buttonCameraOrbit,
|
|
67693
|
-
enabled: () => isTrue(
|
|
67898
|
+
enabled: () => isTrue(settings2.ui.orbit),
|
|
67694
67899
|
tip: "Orbit",
|
|
67695
67900
|
action: () => pointer.onButton("orbit"),
|
|
67696
67901
|
icon: orbit,
|
|
@@ -67699,7 +67904,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67699
67904
|
},
|
|
67700
67905
|
{
|
|
67701
67906
|
id: elementIds.buttonCameraLook,
|
|
67702
|
-
enabled: () => isTrue(
|
|
67907
|
+
enabled: () => isTrue(settings2.ui.lookAround),
|
|
67703
67908
|
tip: "Look Around",
|
|
67704
67909
|
action: () => pointer.onButton("look"),
|
|
67705
67910
|
icon: look,
|
|
@@ -67708,7 +67913,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67708
67913
|
},
|
|
67709
67914
|
{
|
|
67710
67915
|
id: elementIds.buttonCameraPan,
|
|
67711
|
-
enabled: () => isTrue(
|
|
67916
|
+
enabled: () => isTrue(settings2.ui.pan),
|
|
67712
67917
|
tip: "Pan",
|
|
67713
67918
|
action: () => pointer.onButton("pan"),
|
|
67714
67919
|
icon: pan,
|
|
@@ -67717,7 +67922,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67717
67922
|
},
|
|
67718
67923
|
{
|
|
67719
67924
|
id: elementIds.buttonCameraZoom,
|
|
67720
|
-
enabled: () => isTrue(
|
|
67925
|
+
enabled: () => isTrue(settings2.ui.zoom),
|
|
67721
67926
|
tip: "Zoom",
|
|
67722
67927
|
action: () => pointer.onButton("zoom"),
|
|
67723
67928
|
icon: zoom,
|
|
@@ -67726,59 +67931,87 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67726
67931
|
},
|
|
67727
67932
|
{
|
|
67728
67933
|
id: elementIds.buttonCameraZoomWindow,
|
|
67729
|
-
enabled: () => isTrue(
|
|
67934
|
+
enabled: () => isTrue(settings2.ui.zoomWindow),
|
|
67730
67935
|
tip: "Zoom Window",
|
|
67731
67936
|
action: () => {
|
|
67732
67937
|
pointer.onButton("rect");
|
|
67733
|
-
section.hide();
|
|
67734
67938
|
},
|
|
67735
67939
|
icon: frameRect,
|
|
67736
67940
|
isOn: () => pointer.mode === "rect",
|
|
67737
67941
|
style: buttonDefaultStyle
|
|
67738
|
-
}
|
|
67942
|
+
}
|
|
67943
|
+
]
|
|
67944
|
+
};
|
|
67945
|
+
}
|
|
67946
|
+
function controlBarActions(camera2, settings2, isolation, measure$1) {
|
|
67947
|
+
return {
|
|
67948
|
+
id: elementIds.sectionActions,
|
|
67949
|
+
enable: () => true,
|
|
67950
|
+
style: sectionDefaultStyle,
|
|
67951
|
+
buttons: [
|
|
67739
67952
|
{
|
|
67740
|
-
id: elementIds.
|
|
67741
|
-
enabled: () => isTrue(
|
|
67953
|
+
id: elementIds.buttonZoomToFit,
|
|
67954
|
+
enabled: () => isTrue(settings2.ui.zoomToFit),
|
|
67742
67955
|
tip: "Zoom to Fit",
|
|
67743
|
-
action: () =>
|
|
67956
|
+
action: () => camera2.frameContext(),
|
|
67744
67957
|
icon: frameSelection,
|
|
67745
67958
|
isOn: () => false,
|
|
67746
67959
|
style: buttonDefaultStyle
|
|
67960
|
+
},
|
|
67961
|
+
{
|
|
67962
|
+
id: elementIds.buttonToggleIsolation,
|
|
67963
|
+
enabled: () => isTrue(settings2.ui.toggleIsolation),
|
|
67964
|
+
tip: "Toggle Isolation",
|
|
67965
|
+
action: () => isolation.toggle("controlBar"),
|
|
67966
|
+
icon: toggleIsolation,
|
|
67967
|
+
style: buttonDefaultStyle
|
|
67968
|
+
},
|
|
67969
|
+
{
|
|
67970
|
+
id: elementIds.buttonMeasure,
|
|
67971
|
+
enabled: () => isTrue(settings2.ui.measuringMode),
|
|
67972
|
+
isOn: () => measure$1.active,
|
|
67973
|
+
tip: "Measuring Mode",
|
|
67974
|
+
action: () => measure$1.toggle(),
|
|
67975
|
+
icon: measure,
|
|
67976
|
+
style: buttonDefaultStyle
|
|
67747
67977
|
}
|
|
67748
67978
|
]
|
|
67749
67979
|
};
|
|
67750
|
-
|
|
67980
|
+
}
|
|
67981
|
+
function controlBarSettings(modal, side, settings$1) {
|
|
67982
|
+
const fullScreen = getFullScreenState();
|
|
67983
|
+
return {
|
|
67751
67984
|
id: elementIds.sectionSettings,
|
|
67752
|
-
enable: () => anyUiSettingButton(
|
|
67985
|
+
enable: () => anyUiSettingButton(settings$1),
|
|
67753
67986
|
style: sectionDefaultStyle,
|
|
67754
67987
|
buttons: [
|
|
67755
67988
|
{
|
|
67756
67989
|
id: elementIds.buttonProjectInspector,
|
|
67757
|
-
enabled: () => isTrue(
|
|
67990
|
+
enabled: () => isTrue(settings$1.ui.projectInspector) && (isTrue(settings$1.ui.bimTreePanel) || isTrue(settings$1.ui.bimInfoPanel)),
|
|
67758
67991
|
tip: "Project Inspector",
|
|
67759
|
-
action: () =>
|
|
67992
|
+
action: () => side.toggleContent("bim"),
|
|
67760
67993
|
icon: treeView,
|
|
67761
67994
|
style: buttonDefaultStyle
|
|
67762
67995
|
},
|
|
67763
67996
|
{
|
|
67764
67997
|
id: elementIds.buttonSettings,
|
|
67765
|
-
enabled: () => isTrue(
|
|
67998
|
+
enabled: () => isTrue(settings$1.ui.settings),
|
|
67766
67999
|
tip: "Settings",
|
|
67767
|
-
action: () =>
|
|
68000
|
+
action: () => side.toggleContent("settings"),
|
|
67768
68001
|
icon: settings,
|
|
67769
68002
|
style: buttonDefaultStyle
|
|
67770
68003
|
},
|
|
67771
68004
|
{
|
|
67772
68005
|
id: elementIds.buttonHelp,
|
|
67773
|
-
enabled: () => isTrue(
|
|
68006
|
+
enabled: () => isTrue(settings$1.ui.help),
|
|
67774
68007
|
tip: "Help",
|
|
67775
|
-
action: () =>
|
|
68008
|
+
action: () => modal.help(true),
|
|
67776
68009
|
icon: help,
|
|
67777
68010
|
style: buttonDefaultStyle
|
|
67778
68011
|
},
|
|
67779
68012
|
{
|
|
67780
68013
|
id: elementIds.buttonMaximize,
|
|
67781
|
-
enabled: () => isTrue(
|
|
68014
|
+
enabled: () => isTrue(settings$1.ui.maximise) && settings$1.capacity.canGoFullScreen,
|
|
67782
68015
|
tip: fullScreen.get() ? "Minimize" : "Fullscreen",
|
|
67783
68016
|
action: () => fullScreen.toggle(),
|
|
67784
68017
|
icon: fullScreen.get() ? minimize : fullsScreen,
|
|
@@ -67786,112 +68019,23 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
67786
68019
|
}
|
|
67787
68020
|
]
|
|
67788
68021
|
};
|
|
67789
|
-
const sectionBoxSection = {
|
|
67790
|
-
id: elementIds.sectionSectionBox,
|
|
67791
|
-
enable: () => !measure$1.active && section.active,
|
|
67792
|
-
style: sectionBlueStyle,
|
|
67793
|
-
buttons: [
|
|
67794
|
-
{
|
|
67795
|
-
id: elementIds.buttonSectionBoxReset,
|
|
67796
|
-
tip: "Reset Section Box",
|
|
67797
|
-
action: () => section.reset(),
|
|
67798
|
-
icon: sectionBoxReset,
|
|
67799
|
-
style: buttonBlueStyle
|
|
67800
|
-
},
|
|
67801
|
-
{
|
|
67802
|
-
id: elementIds.buttonSectionBoxShrinkToSelection,
|
|
67803
|
-
tip: "Shrink to Selection",
|
|
67804
|
-
action: () => section.shrinkToSelection(),
|
|
67805
|
-
icon: sectionBoxShrink,
|
|
67806
|
-
style: buttonBlueStyle
|
|
67807
|
-
},
|
|
67808
|
-
{
|
|
67809
|
-
id: elementIds.buttonSectionBoxClip,
|
|
67810
|
-
tip: section.clip ? "Ignore Section Box" : "Clip Section Box",
|
|
67811
|
-
action: () => section.toggleClip(),
|
|
67812
|
-
icon: section.clip ? sectionBoxIgnore : sectionBoxClip,
|
|
67813
|
-
style: buttonBlueStyle
|
|
67814
|
-
},
|
|
67815
|
-
{
|
|
67816
|
-
id: elementIds.buttonSectionBoxDone,
|
|
67817
|
-
tip: "Done",
|
|
67818
|
-
action: () => section.toggle(),
|
|
67819
|
-
icon: checkmark,
|
|
67820
|
-
style: buttonBlueStyle
|
|
67821
|
-
}
|
|
67822
|
-
]
|
|
67823
|
-
};
|
|
67824
|
-
const measureSection = {
|
|
67825
|
-
id: elementIds.sectionMeasure,
|
|
67826
|
-
enable: () => measure$1.active && !section.active,
|
|
67827
|
-
style: sectionBlueStyle,
|
|
67828
|
-
buttons: [
|
|
67829
|
-
{
|
|
67830
|
-
id: elementIds.buttonMeasureDelete,
|
|
67831
|
-
tip: "Delete",
|
|
67832
|
-
action: () => measure$1.clear(),
|
|
67833
|
-
icon: trash,
|
|
67834
|
-
style: buttonBlueStyle
|
|
67835
|
-
},
|
|
67836
|
-
{
|
|
67837
|
-
id: elementIds.buttonMeasureDone,
|
|
67838
|
-
tip: "Done",
|
|
67839
|
-
action: () => measure$1.toggle(),
|
|
67840
|
-
icon: checkmark,
|
|
67841
|
-
style: buttonBlueStyle
|
|
67842
|
-
}
|
|
67843
|
-
]
|
|
67844
|
-
};
|
|
67845
|
-
const toolSections = {
|
|
67846
|
-
id: elementIds.sectionTools,
|
|
67847
|
-
enable: () => anyUiToolButton(props.settings) && !measure$1.active && !section.active,
|
|
67848
|
-
style: measure$1.active || section.active ? sectionBlueStyle : sectionDefaultStyle,
|
|
67849
|
-
buttons: [
|
|
67850
|
-
{
|
|
67851
|
-
id: elementIds.buttonSectionBox,
|
|
67852
|
-
enabled: () => isTrue(props.settings.ui.sectioningMode),
|
|
67853
|
-
tip: "Sectioning Mode",
|
|
67854
|
-
action: () => section.toggle(),
|
|
67855
|
-
icon: sectionBox,
|
|
67856
|
-
style: buttonDefaultStyle
|
|
67857
|
-
},
|
|
67858
|
-
{
|
|
67859
|
-
id: elementIds.buttonMeasure,
|
|
67860
|
-
enabled: () => isTrue(props.settings.ui.measuringMode),
|
|
67861
|
-
tip: "Measuring Mode",
|
|
67862
|
-
action: () => measure$1.toggle(),
|
|
67863
|
-
icon: measure,
|
|
67864
|
-
style: buttonDefaultStyle
|
|
67865
|
-
},
|
|
67866
|
-
{
|
|
67867
|
-
id: elementIds.buttonToggleIsolation,
|
|
67868
|
-
enabled: () => isTrue(props.settings.ui.toggleIsolation),
|
|
67869
|
-
tip: "Toggle Isolation",
|
|
67870
|
-
action: () => props.isolation.toggle("controlBar"),
|
|
67871
|
-
icon: toggleIsolation,
|
|
67872
|
-
style: buttonDefaultStyle
|
|
67873
|
-
}
|
|
67874
|
-
]
|
|
67875
|
-
};
|
|
67876
|
-
let controlBar2 = [cameraSection, toolSections, measureSection, sectionBoxSection, settingsSection];
|
|
67877
|
-
controlBar2 = ((_a2 = props.customization) == null ? void 0 : _a2.call(props, controlBar2)) ?? controlBar2;
|
|
67878
|
-
return createBar(controlBar2);
|
|
67879
68022
|
}
|
|
67880
|
-
function
|
|
67881
|
-
|
|
67882
|
-
|
|
67883
|
-
|
|
67884
|
-
|
|
68023
|
+
function useControlBar(viewer, camera2, modal, side, isolation, cursor, settings2, section, customization) {
|
|
68024
|
+
const measure2 = getMeasureState(viewer, cursor);
|
|
68025
|
+
const pointerSection = controlBarPointer(viewer, camera2, settings2);
|
|
68026
|
+
const actionSection = controlBarActions(camera2, settings2, isolation, measure2);
|
|
68027
|
+
const sectionBoxSection = controlBarSectionBox(section, viewer.selection.count > 0);
|
|
68028
|
+
const settingsSection = controlBarSettings(modal, side, settings2);
|
|
68029
|
+
let controlBarSections = [
|
|
68030
|
+
pointerSection,
|
|
68031
|
+
actionSection,
|
|
68032
|
+
sectionBoxSection,
|
|
68033
|
+
// Optional section
|
|
68034
|
+
settingsSection
|
|
68035
|
+
];
|
|
68036
|
+
controlBarSections = (customization == null ? void 0 : customization(controlBarSections)) ?? controlBarSections;
|
|
68037
|
+
return controlBarSections;
|
|
67885
68038
|
}
|
|
67886
|
-
const controlBar = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
67887
|
-
__proto__: null,
|
|
67888
|
-
ControlBar,
|
|
67889
|
-
buttonBlueStyle,
|
|
67890
|
-
buttonDefaultStyle,
|
|
67891
|
-
elementIds,
|
|
67892
|
-
sectionBlueStyle,
|
|
67893
|
-
sectionDefaultStyle
|
|
67894
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
67895
68039
|
function RestOfScreen(props) {
|
|
67896
68040
|
const [, setVersion] = React2.useState(0);
|
|
67897
68041
|
const resizeObserver = React2.useRef();
|
|
@@ -71880,23 +72024,23 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
71880
72024
|
const viewer = props.viewer;
|
|
71881
72025
|
const camera2 = props.camera;
|
|
71882
72026
|
const [section, setSection] = React2.useState({
|
|
71883
|
-
visible: viewer.gizmos.
|
|
71884
|
-
clip: viewer.gizmos.
|
|
72027
|
+
visible: viewer.gizmos.sectionBox.visible,
|
|
72028
|
+
clip: viewer.gizmos.sectionBox.clip
|
|
71885
72029
|
});
|
|
71886
72030
|
const isClipping = () => {
|
|
71887
|
-
return !viewer.gizmos.
|
|
72031
|
+
return !viewer.gizmos.sectionBox.box.containsBox(viewer.renderer.getBoundingBox());
|
|
71888
72032
|
};
|
|
71889
72033
|
const [clipping, setClipping] = React2.useState(isClipping());
|
|
71890
72034
|
const [, setVersion] = React2.useState(0);
|
|
71891
72035
|
const hidden2 = props.isolation.isActive();
|
|
71892
72036
|
React2.useEffect(() => {
|
|
71893
|
-
const subState = viewer.gizmos.
|
|
72037
|
+
const subState = viewer.gizmos.sectionBox.onStateChanged.subscribe(() => {
|
|
71894
72038
|
setSection({
|
|
71895
|
-
visible: viewer.gizmos.
|
|
71896
|
-
clip: viewer.gizmos.
|
|
72039
|
+
visible: viewer.gizmos.sectionBox.visible,
|
|
72040
|
+
clip: viewer.gizmos.sectionBox.clip
|
|
71897
72041
|
});
|
|
71898
72042
|
});
|
|
71899
|
-
const subConfirm = viewer.gizmos.
|
|
72043
|
+
const subConfirm = viewer.gizmos.sectionBox.onBoxConfirm.subscribe(
|
|
71900
72044
|
() => setClipping(isClipping())
|
|
71901
72045
|
);
|
|
71902
72046
|
props.isolation.onChanged.subscribe(() => setVersion((v) => v + 1));
|
|
@@ -71948,10 +72092,10 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
71948
72092
|
e.stopPropagation();
|
|
71949
72093
|
};
|
|
71950
72094
|
const onSectionToggleBtn = (e) => {
|
|
71951
|
-
viewer.gizmos.
|
|
72095
|
+
viewer.gizmos.sectionBox.clip = !viewer.gizmos.sectionBox.clip;
|
|
71952
72096
|
};
|
|
71953
72097
|
const onSectionResetBtn = (e) => {
|
|
71954
|
-
viewer.gizmos.
|
|
72098
|
+
viewer.gizmos.sectionBox.fitBox(viewer.renderer.getBoundingBox());
|
|
71955
72099
|
e.stopPropagation();
|
|
71956
72100
|
};
|
|
71957
72101
|
const onMeasureDeleteBtn = (e) => {
|
|
@@ -71960,7 +72104,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
71960
72104
|
const onFitSectionToSelectionBtn = (e) => {
|
|
71961
72105
|
const box = viewer.selection.getBoundingBox();
|
|
71962
72106
|
if (box) {
|
|
71963
|
-
viewer.gizmos.
|
|
72107
|
+
viewer.gizmos.sectionBox.fitBox(box);
|
|
71964
72108
|
}
|
|
71965
72109
|
};
|
|
71966
72110
|
const createButton2 = (button) => {
|
|
@@ -74918,7 +75062,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
74918
75062
|
frameSelection(duration = 1) {
|
|
74919
75063
|
if (this._viewer.selection.count === 0) return;
|
|
74920
75064
|
const box = this._viewer.selection.getBoundingBox();
|
|
74921
|
-
if (box && this._viewer.gizmos.
|
|
75065
|
+
if (box && this._viewer.gizmos.sectionBox.box.intersectsBox(box)) {
|
|
74922
75066
|
const movement = duration === 0 ? this._viewer.camera.snap() : this._viewer.camera.lerp(duration);
|
|
74923
75067
|
movement.frame(box);
|
|
74924
75068
|
}
|
|
@@ -75567,6 +75711,223 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75567
75711
|
component.classList.remove("behind");
|
|
75568
75712
|
}
|
|
75569
75713
|
}
|
|
75714
|
+
function SectionBoxPanel(props) {
|
|
75715
|
+
const [panelPosition, setPanelPosition] = React2.useState({
|
|
75716
|
+
top: 0,
|
|
75717
|
+
left: 0
|
|
75718
|
+
});
|
|
75719
|
+
const panelRef = React2.useRef(null);
|
|
75720
|
+
React2.useLayoutEffect(() => {
|
|
75721
|
+
const updatePosition = () => {
|
|
75722
|
+
const { top, left } = computePosition(panelRef);
|
|
75723
|
+
setPanelPosition({ top, left });
|
|
75724
|
+
};
|
|
75725
|
+
updatePosition();
|
|
75726
|
+
let resizeObserver = null;
|
|
75727
|
+
if (panelRef.current) {
|
|
75728
|
+
resizeObserver = new ResizeObserver(updatePosition);
|
|
75729
|
+
resizeObserver.observe(panelRef.current.parentElement);
|
|
75730
|
+
}
|
|
75731
|
+
return () => {
|
|
75732
|
+
if (resizeObserver) {
|
|
75733
|
+
resizeObserver.disconnect();
|
|
75734
|
+
}
|
|
75735
|
+
};
|
|
75736
|
+
}, [props.state.getOffsetVisible()]);
|
|
75737
|
+
if (!props.state.getOffsetVisible()) return null;
|
|
75738
|
+
const renderField = (id2, label, field) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "vim-sectionbox-offsets-entry vc-text-xs vc-flex vc-items-center vc-justify-center vc-justify-between vc-my-2", children: [
|
|
75739
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("dt", { className: "vc-w-1/2 vc-inline", children: label }),
|
|
75740
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("dd", { className: "vc-w-1/3 vc-inline", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75741
|
+
"input",
|
|
75742
|
+
{
|
|
75743
|
+
id: id2,
|
|
75744
|
+
type: "text",
|
|
75745
|
+
value: props.state.getText(field),
|
|
75746
|
+
onChange: (e) => props.state.setText(field, e.target.value),
|
|
75747
|
+
className: "vc-border vc-inline vc-border-gray-300 vc-py-1 vc-w-full vc-px-1",
|
|
75748
|
+
onBlur: () => props.state.validate(field)
|
|
75749
|
+
}
|
|
75750
|
+
) })
|
|
75751
|
+
] });
|
|
75752
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75753
|
+
"div",
|
|
75754
|
+
{
|
|
75755
|
+
className: "vc-fixed vc-inset-0 vc-flex vc-pointer-events-none",
|
|
75756
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
75757
|
+
"div",
|
|
75758
|
+
{
|
|
75759
|
+
ref: panelRef,
|
|
75760
|
+
style: { position: "absolute", top: panelPosition.top, left: panelPosition.left, width: "min(200px, 60%)" },
|
|
75761
|
+
className: "vim-sectionbox-offsets vc-pointer-events-auto vc-bg-white vc-relative",
|
|
75762
|
+
onClick: (e) => e.stopPropagation(),
|
|
75763
|
+
children: [
|
|
75764
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "vim-sectionbox-header vc-px-2 vc-bg-gray-light vc-flex vc-items-center vc-justify-between ", children: [
|
|
75765
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "vc-flex vim-sectionbox-offsets-title vc-title vc-block", children: "Section Box Offsets" }),
|
|
75766
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75767
|
+
"button",
|
|
75768
|
+
{
|
|
75769
|
+
className: "vc-flex vc-border-none vc-bg-transparent vc-text-sm vc-cursor-pointer",
|
|
75770
|
+
onClick: () => props.state.setOffsetsVisible(false),
|
|
75771
|
+
children: close({ height: 12, width: 12, fill: "currentColor" })
|
|
75772
|
+
}
|
|
75773
|
+
)
|
|
75774
|
+
] }),
|
|
75775
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("dl", { className: "vc-text-xl vc-text-gray-darker vc-mb-2 vc-mx-2 ", children: [
|
|
75776
|
+
renderField("topOffset", "Top Offset", "topOffset"),
|
|
75777
|
+
renderField("sideOffseet", "Side Offset", "sideOffset"),
|
|
75778
|
+
renderField("bottomOffset", "Bottom Offset", "bottomOffset")
|
|
75779
|
+
] })
|
|
75780
|
+
]
|
|
75781
|
+
}
|
|
75782
|
+
)
|
|
75783
|
+
}
|
|
75784
|
+
);
|
|
75785
|
+
}
|
|
75786
|
+
function computePosition(panelRef) {
|
|
75787
|
+
const origin = document.getElementById("vim-control-bar");
|
|
75788
|
+
if (origin && panelRef.current) {
|
|
75789
|
+
const originRect = origin.getBoundingClientRect();
|
|
75790
|
+
const panelRect = panelRef.current.getBoundingClientRect();
|
|
75791
|
+
let left = originRect.left + originRect.width / 2 - panelRect.width / 2;
|
|
75792
|
+
let top = originRect.top - 10 - panelRect.height;
|
|
75793
|
+
if (top < 10) {
|
|
75794
|
+
top = originRect.bottom + 10;
|
|
75795
|
+
}
|
|
75796
|
+
if (left < 10) {
|
|
75797
|
+
left = 10;
|
|
75798
|
+
}
|
|
75799
|
+
if (left + panelRect.width > window.innerWidth - 10) {
|
|
75800
|
+
left = window.innerWidth - panelRect.width - 10;
|
|
75801
|
+
}
|
|
75802
|
+
return { top, left };
|
|
75803
|
+
}
|
|
75804
|
+
return { top: 0, left: 0 };
|
|
75805
|
+
}
|
|
75806
|
+
function addBox(b1, b2) {
|
|
75807
|
+
const r = b1.clone();
|
|
75808
|
+
r.min.x += b2.min.x;
|
|
75809
|
+
r.min.y += b2.min.y;
|
|
75810
|
+
r.min.z += b2.min.z;
|
|
75811
|
+
r.max.x += b2.max.x;
|
|
75812
|
+
r.max.y += b2.max.y;
|
|
75813
|
+
r.max.z += b2.max.z;
|
|
75814
|
+
return r;
|
|
75815
|
+
}
|
|
75816
|
+
function useSectionBox(adapter) {
|
|
75817
|
+
const [enable, setEnable] = React2.useState(false);
|
|
75818
|
+
const [visible2, setVisible] = React2.useState(false);
|
|
75819
|
+
const [offsetsVisible, setOffsetsVisible] = React2.useState(false);
|
|
75820
|
+
const [auto, setAuto] = React2.useState(false);
|
|
75821
|
+
const [offsets, setOffsets] = React2.useState({
|
|
75822
|
+
topOffset: "1",
|
|
75823
|
+
sideOffset: "1",
|
|
75824
|
+
bottomOffset: "1"
|
|
75825
|
+
});
|
|
75826
|
+
const boxRef = React2.useRef(adapter.getBox());
|
|
75827
|
+
const offsetBox = React2.useMemo(() => offsetsToBox3(offsets), [offsets]);
|
|
75828
|
+
React2.useEffect(() => {
|
|
75829
|
+
setVisible(enable);
|
|
75830
|
+
setAuto(false);
|
|
75831
|
+
setOffsetsVisible(false);
|
|
75832
|
+
setOffsets({
|
|
75833
|
+
topOffset: "1",
|
|
75834
|
+
sideOffset: "1",
|
|
75835
|
+
bottomOffset: "1"
|
|
75836
|
+
});
|
|
75837
|
+
void resetBox();
|
|
75838
|
+
}, [enable]);
|
|
75839
|
+
React2.useEffect(() => {
|
|
75840
|
+
if (auto) sectionSelection();
|
|
75841
|
+
return auto ? adapter.onSelectionChanged.sub(sectionSelection) : () => {
|
|
75842
|
+
};
|
|
75843
|
+
}, [auto]);
|
|
75844
|
+
React2.useEffect(() => {
|
|
75845
|
+
setBox(boxRef.current);
|
|
75846
|
+
}, [offsets]);
|
|
75847
|
+
React2.useEffect(() => {
|
|
75848
|
+
adapter.setVisible(visible2);
|
|
75849
|
+
}, [visible2]);
|
|
75850
|
+
const setText = (field, value) => {
|
|
75851
|
+
const result = sanitize(value, false);
|
|
75852
|
+
if (result !== void 0) {
|
|
75853
|
+
setOffsets((prev) => ({ ...prev, [field]: result }));
|
|
75854
|
+
}
|
|
75855
|
+
};
|
|
75856
|
+
const validate = (field) => {
|
|
75857
|
+
const result = sanitize(offsets[field], true);
|
|
75858
|
+
if (result !== void 0) {
|
|
75859
|
+
setOffsets((prev) => ({ ...prev, [field]: result }));
|
|
75860
|
+
}
|
|
75861
|
+
};
|
|
75862
|
+
const setBox = (baseBox) => {
|
|
75863
|
+
boxRef.current = baseBox;
|
|
75864
|
+
const newBox = addBox(baseBox, offsetBox);
|
|
75865
|
+
adapter.fitBox(newBox);
|
|
75866
|
+
};
|
|
75867
|
+
const sectionSelection = async () => {
|
|
75868
|
+
try {
|
|
75869
|
+
const box = await adapter.getSelectionBox() ?? await adapter.getRendererBox();
|
|
75870
|
+
setBox(box);
|
|
75871
|
+
} catch (e) {
|
|
75872
|
+
console.error(e);
|
|
75873
|
+
}
|
|
75874
|
+
};
|
|
75875
|
+
const resetBox = async () => {
|
|
75876
|
+
const box = await adapter.getRendererBox();
|
|
75877
|
+
setBox(box);
|
|
75878
|
+
};
|
|
75879
|
+
return {
|
|
75880
|
+
setEnable,
|
|
75881
|
+
getEnable: () => enable,
|
|
75882
|
+
getVisible: () => visible2,
|
|
75883
|
+
setVisible,
|
|
75884
|
+
sectionSelection,
|
|
75885
|
+
sectionReset: resetBox,
|
|
75886
|
+
getOffsetVisible: () => offsetsVisible,
|
|
75887
|
+
setOffsetsVisible,
|
|
75888
|
+
getText: (field) => offsets[field],
|
|
75889
|
+
setText,
|
|
75890
|
+
getAuto: () => auto,
|
|
75891
|
+
setAuto,
|
|
75892
|
+
validate
|
|
75893
|
+
};
|
|
75894
|
+
}
|
|
75895
|
+
const sanitize = (value, strict) => {
|
|
75896
|
+
if (!strict) {
|
|
75897
|
+
if (value === "" || value === "-") return value;
|
|
75898
|
+
}
|
|
75899
|
+
const num = parseFloat(value);
|
|
75900
|
+
if (isNaN(num)) {
|
|
75901
|
+
return strict ? "1" : void 0;
|
|
75902
|
+
}
|
|
75903
|
+
return String(num);
|
|
75904
|
+
};
|
|
75905
|
+
function offsetsToBox3(offsets) {
|
|
75906
|
+
const getNumber = (field) => {
|
|
75907
|
+
const num = parseFloat(offsets[field]);
|
|
75908
|
+
return isNaN(num) ? 0 : num;
|
|
75909
|
+
};
|
|
75910
|
+
return new Box3(
|
|
75911
|
+
new Vector3(-getNumber("sideOffset"), -getNumber("sideOffset"), -getNumber("bottomOffset")),
|
|
75912
|
+
new Vector3(getNumber("sideOffset"), getNumber("sideOffset"), getNumber("topOffset"))
|
|
75913
|
+
);
|
|
75914
|
+
}
|
|
75915
|
+
function useWebglSectionBox(viewer) {
|
|
75916
|
+
const vimAdapter = {
|
|
75917
|
+
setVisible: (b) => {
|
|
75918
|
+
viewer.gizmos.sectionBox.visible = b;
|
|
75919
|
+
viewer.gizmos.sectionBox.interactive = b;
|
|
75920
|
+
},
|
|
75921
|
+
getBox: () => viewer.gizmos.sectionBox.box.clone(),
|
|
75922
|
+
fitBox: (box) => viewer.gizmos.sectionBox.fitBox(box),
|
|
75923
|
+
getSelectionBox: () => Promise.resolve(viewer.selection.getBoundingBox()),
|
|
75924
|
+
getRendererBox: () => Promise.resolve(viewer.renderer.getBoundingBox()),
|
|
75925
|
+
onSceneChanged: viewer.renderer.onBoxUpdated,
|
|
75926
|
+
onSelectionChanged: viewer.selection.onValueChanged
|
|
75927
|
+
};
|
|
75928
|
+
viewer.gizmos.sectionBox.clip = true;
|
|
75929
|
+
return useSectionBox(vimAdapter);
|
|
75930
|
+
}
|
|
75570
75931
|
function createWebglComponent(container, componentSettings = {}, viewerSettings = {}) {
|
|
75571
75932
|
const promise2 = new DeferredPromise();
|
|
75572
75933
|
const cmpContainer = container instanceof HTMLElement ? createContainer(container) : container ?? createContainer();
|
|
@@ -75608,11 +75969,13 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75608
75969
|
Math.min(props.container.root.clientWidth * 0.25, 340)
|
|
75609
75970
|
);
|
|
75610
75971
|
const [contextMenu2, setcontextMenu] = React2.useState();
|
|
75611
|
-
const [
|
|
75972
|
+
const [controlBarCustom, setControlBarCustom] = React2.useState();
|
|
75612
75973
|
const bimInfoRef = useBimInfo();
|
|
75613
75974
|
const viewerState = useViewerState(props.viewer);
|
|
75614
75975
|
const treeRef = React2.useRef();
|
|
75615
75976
|
const performanceRef = React2.useRef(null);
|
|
75977
|
+
const sectionBox2 = useWebglSectionBox(props.viewer);
|
|
75978
|
+
const controlBar2 = useControlBar(props.viewer, camera2, modal, side, isolation, cursor, settings2.value, sectionBox2, controlBarCustom);
|
|
75616
75979
|
React2.useEffect(() => {
|
|
75617
75980
|
var _a3;
|
|
75618
75981
|
side.setHasBim(((_a3 = viewerState.vim) == null ? void 0 : _a3.bim) !== void 0);
|
|
@@ -75641,7 +76004,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75641
76004
|
customize: (v) => setcontextMenu(() => v)
|
|
75642
76005
|
},
|
|
75643
76006
|
controlBar: {
|
|
75644
|
-
customize: (v) =>
|
|
76007
|
+
customize: (v) => setControlBarCustom(() => v)
|
|
75645
76008
|
},
|
|
75646
76009
|
modal,
|
|
75647
76010
|
bimInfo: bimInfoRef,
|
|
@@ -75695,16 +76058,11 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75695
76058
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75696
76059
|
ControlBar,
|
|
75697
76060
|
{
|
|
75698
|
-
|
|
75699
|
-
|
|
75700
|
-
modal,
|
|
75701
|
-
side,
|
|
75702
|
-
isolation,
|
|
75703
|
-
cursor,
|
|
75704
|
-
settings: settings2.value,
|
|
75705
|
-
customization: controlBar2
|
|
76061
|
+
content: controlBar2,
|
|
76062
|
+
show: isTrue(settings2.value.ui.controlBar)
|
|
75706
76063
|
}
|
|
75707
76064
|
),
|
|
76065
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SectionBoxPanel, { state: sectionBox2 }),
|
|
75708
76066
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75709
76067
|
AxesPanelMemo,
|
|
75710
76068
|
{
|
|
@@ -76030,12 +76388,53 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
76030
76388
|
return serverConnectionError(source.url);
|
|
76031
76389
|
}
|
|
76032
76390
|
}
|
|
76391
|
+
function updateModal(modal, state) {
|
|
76392
|
+
if (state.status === "connected") {
|
|
76393
|
+
modal.loading(void 0);
|
|
76394
|
+
modal.message(void 0);
|
|
76395
|
+
}
|
|
76396
|
+
if (state.status === "connecting") {
|
|
76397
|
+
if (modal.current === void 0 || modal.current.type === "loading") {
|
|
76398
|
+
modal.loading({ message: "Connecting to VIM Ultra server..." });
|
|
76399
|
+
}
|
|
76400
|
+
}
|
|
76401
|
+
if (state.status === "error") {
|
|
76402
|
+
console.log("Error loading vim", state);
|
|
76403
|
+
modal.message(getErrorMessage(state));
|
|
76404
|
+
}
|
|
76405
|
+
}
|
|
76406
|
+
async function updateProgress(request2, modal) {
|
|
76407
|
+
for await (const progress of request2.getProgress()) {
|
|
76408
|
+
if (request2.isCompleted) break;
|
|
76409
|
+
modal.loading({ message: "Loading File in VIM Ultra mode", progress });
|
|
76410
|
+
}
|
|
76411
|
+
}
|
|
76412
|
+
function useUltraSectionBox(viewer) {
|
|
76413
|
+
const ultraAdapter = {
|
|
76414
|
+
setVisible: (b) => {
|
|
76415
|
+
viewer.sectionBox.visible = b;
|
|
76416
|
+
viewer.sectionBox.interactive = b;
|
|
76417
|
+
},
|
|
76418
|
+
getBox: () => viewer.sectionBox.getBox().clone(),
|
|
76419
|
+
fitBox: (box) => viewer.sectionBox.fitBox(box),
|
|
76420
|
+
getSelectionBox: () => viewer.selection.getBoundingBox(),
|
|
76421
|
+
getRendererBox: () => viewer.renderer.getBoundingBox(),
|
|
76422
|
+
onSelectionChanged: viewer.selection.onValueChanged,
|
|
76423
|
+
onSceneChanged: viewer.vims.onChanged
|
|
76424
|
+
};
|
|
76425
|
+
return useSectionBox(ultraAdapter);
|
|
76426
|
+
}
|
|
76427
|
+
function useUltraControlBar(viewer, section, customization) {
|
|
76428
|
+
let controlBar2 = [controlBarSectionBox(section, viewer.selection.count > 0)];
|
|
76429
|
+
controlBar2 = (customization == null ? void 0 : customization(controlBar2)) ?? controlBar2;
|
|
76430
|
+
return controlBar2;
|
|
76431
|
+
}
|
|
76033
76432
|
function createUltraComponent(container) {
|
|
76034
76433
|
const promise2 = new DeferredPromise();
|
|
76035
76434
|
const cmpContainer = container instanceof HTMLElement ? createContainer(container) : container ?? createContainer();
|
|
76036
76435
|
const viewer = Viewer.createWithCanvas(cmpContainer.gfx);
|
|
76037
76436
|
const reactRoot = clientExports.createRoot(cmpContainer.ui);
|
|
76038
|
-
const
|
|
76437
|
+
const attachDispose = (cmp) => {
|
|
76039
76438
|
cmp.dispose = () => {
|
|
76040
76439
|
viewer.dispose();
|
|
76041
76440
|
cmpContainer.dispose();
|
|
@@ -76049,7 +76448,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
76049
76448
|
{
|
|
76050
76449
|
container: cmpContainer,
|
|
76051
76450
|
viewer,
|
|
76052
|
-
onMount: (cmp) => promise2.resolve(
|
|
76451
|
+
onMount: (cmp) => promise2.resolve(attachDispose(cmp))
|
|
76053
76452
|
}
|
|
76054
76453
|
)
|
|
76055
76454
|
);
|
|
@@ -76057,31 +76456,36 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
76057
76456
|
}
|
|
76058
76457
|
function UltraComponent(props) {
|
|
76059
76458
|
const modal = useModal(true);
|
|
76459
|
+
const sectionBox2 = useUltraSectionBox(props.viewer);
|
|
76460
|
+
const controlBar2 = useUltraControlBar(props.viewer, sectionBox2, (_2) => _2);
|
|
76461
|
+
const side = useSideState(true, 400);
|
|
76462
|
+
const [_, setSelectState] = React2.useState(0);
|
|
76060
76463
|
React2.useEffect(() => {
|
|
76061
76464
|
props.viewer.onStateChanged.subscribe((state) => updateModal(modal, state));
|
|
76062
|
-
props.
|
|
76465
|
+
props.viewer.selection.onValueChanged.subscribe(() => {
|
|
76466
|
+
setSelectState((i2) => (i2 + 1) % 2);
|
|
76467
|
+
});
|
|
76468
|
+
props.onMount(createComponentRef(props.viewer, modal));
|
|
76063
76469
|
}, []);
|
|
76064
76470
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
76065
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
76471
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(RestOfScreen, { side, content: () => {
|
|
76472
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
76473
|
+
whenTrue(true, /* @__PURE__ */ jsxRuntimeExports.jsx(LogoMemo, {})),
|
|
76474
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Overlay, { canvas: props.viewer.viewport.canvas }),
|
|
76475
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
76476
|
+
ControlBar,
|
|
76477
|
+
{
|
|
76478
|
+
content: controlBar2,
|
|
76479
|
+
show: true
|
|
76480
|
+
}
|
|
76481
|
+
),
|
|
76482
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SectionBoxPanel, { state: sectionBox2 })
|
|
76483
|
+
] });
|
|
76484
|
+
} }),
|
|
76066
76485
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Modal, { state: modal })
|
|
76067
76486
|
] });
|
|
76068
76487
|
}
|
|
76069
|
-
function
|
|
76070
|
-
if (state.status === "connected") {
|
|
76071
|
-
modal.loading(void 0);
|
|
76072
|
-
modal.message(void 0);
|
|
76073
|
-
}
|
|
76074
|
-
if (state.status === "connecting") {
|
|
76075
|
-
if (modal.current === void 0 || modal.current.type === "loading") {
|
|
76076
|
-
modal.loading({ message: "Connecting to VIM Ultra server..." });
|
|
76077
|
-
}
|
|
76078
|
-
}
|
|
76079
|
-
if (state.status === "error") {
|
|
76080
|
-
console.log("Error loading vim", state);
|
|
76081
|
-
modal.message(getErrorMessage(state));
|
|
76082
|
-
}
|
|
76083
|
-
}
|
|
76084
|
-
function ToRef(viewer, modal) {
|
|
76488
|
+
function createComponentRef(viewer, modal) {
|
|
76085
76489
|
function load(source) {
|
|
76086
76490
|
const request2 = viewer.loadVim(source);
|
|
76087
76491
|
void updateProgress(request2, modal);
|
|
@@ -76106,12 +76510,6 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
76106
76510
|
load
|
|
76107
76511
|
};
|
|
76108
76512
|
}
|
|
76109
|
-
async function updateProgress(request2, modal) {
|
|
76110
|
-
for await (const progress of request2.getProgress()) {
|
|
76111
|
-
if (request2.isCompleted) break;
|
|
76112
|
-
modal.loading({ message: "Loading File in VIM Ultra mode", progress });
|
|
76113
|
-
}
|
|
76114
|
-
}
|
|
76115
76513
|
const index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
76116
76514
|
__proto__: null,
|
|
76117
76515
|
UltraComponent,
|