@realsee/dnalogel 2.0.0-alpha.11 → 2.0.0-alpha.12

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/ModelItemLabelPlugin/events.type.d.ts +9 -0
  3. package/dist/ModelItemLabelPlugin/index.d.ts +4 -0
  4. package/dist/ModelItemLabelPlugin/index.js +678 -0
  5. package/dist/ModelItemLabelPlugin/typings.d.ts +55 -0
  6. package/dist/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  7. package/dist/ModelRoomLabelPlugin/index.js +1 -1
  8. package/dist/PanoSpatialTagPlugin/index.js +9 -9
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.es.js +810 -166
  11. package/dist/index.js +809 -163
  12. package/dist/index.umd.js +812 -167
  13. package/docs/assets/search.js +1 -1
  14. package/docs/classes/ModelRoomLabelController.html +6 -6
  15. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  16. package/docs/enums/ModelFloorplanErrorType.html +1 -1
  17. package/docs/index.html +1 -1
  18. package/docs/interfaces/LineJson.html +1 -1
  19. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  20. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  21. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  22. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  23. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  24. package/docs/interfaces/ModelFloorplanParameterType.html +1 -1
  25. package/docs/interfaces/ModelFloorplanViewEvent.html +2 -2
  26. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  27. package/docs/interfaces/PanoCompassPluginData.html +1 -1
  28. package/docs/interfaces/PanoCompassPluginParameterType.html +1 -1
  29. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  30. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  31. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  32. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  33. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  34. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  35. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  36. package/docs/interfaces/PointJson.html +1 -1
  37. package/docs/interfaces/RoomLabel.html +7 -7
  38. package/docs/interfaces/TopviewFloorplanPluginParameterType.html +1 -1
  39. package/docs/modules.html +12 -12
  40. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +420 -0
  41. package/libs/ModelItemLabelPlugin/ItemLabelItem.js +133 -0
  42. package/libs/ModelItemLabelPlugin/events.type.d.ts +9 -0
  43. package/libs/ModelItemLabelPlugin/events.type.js +1 -0
  44. package/libs/ModelItemLabelPlugin/index.d.ts +4 -0
  45. package/libs/ModelItemLabelPlugin/index.js +170 -0
  46. package/libs/ModelItemLabelPlugin/typings.d.ts +55 -0
  47. package/libs/ModelItemLabelPlugin/typings.js +6 -0
  48. package/libs/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  49. package/libs/ModelItemLabelPlugin/utils/parseData.js +7 -0
  50. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +1 -1
  51. package/libs/PanoSpatialTagPlugin/Components/tag.js +9 -9
  52. package/libs/index.d.ts +1 -0
  53. package/libs/index.js +2 -0
  54. package/package.json +1 -1
package/dist/index.es.js CHANGED
@@ -2,8 +2,8 @@ import * as THREE from 'three';
2
2
  import { Vector3, Scene, Group, Raycaster, Vector2, MeshBasicMaterial, CanvasTexture, AnimationMixer, Color, TextureLoader, PlaneGeometry, sRGBEncoding, Mesh, CurvePath, LineCurve3, TubeGeometry, DoubleSide, SphereGeometry } from 'three';
3
3
  import { CSS3DRenderer, CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer';
4
4
  import { Line as Line$1 } from '@realsee/five/line';
5
- import { SvelteComponent, init, safe_not_equal, append_styles, element, text, space, attr, set_style, toggle_class, insert, append, listen, set_data, noop, detach, empty, create_component, mount_component, transition_in, transition_out, destroy_component, add_render_callback, add_resize_listener, group_outros, update_keyed_each, outro_and_destroy_block, check_outros, HtmlTag, get_spread_update, assign, destroy_block, src_url_equal, svg_element, destroy_each, binding_callbacks, create_in_transition } from 'svelte/internal';
6
- import { onDestroy, onMount, afterUpdate } from 'svelte';
5
+ import { SvelteComponent, init, safe_not_equal, append_styles, element, text, space, attr, set_style, toggle_class, insert, append, listen, set_data, noop, detach, empty, create_component, mount_component, transition_in, transition_out, destroy_component, add_render_callback, add_resize_listener, group_outros, update_keyed_each, outro_and_destroy_block, check_outros, HtmlTag, get_spread_update, assign, destroy_block, src_url_equal, svg_element, destroy_each, binding_callbacks, create_in_transition, null_to_empty } from 'svelte/internal';
6
+ import { onDestroy, onMount, afterUpdate, beforeUpdate } from 'svelte';
7
7
  import { linear } from 'svelte/easing';
8
8
  import { fade } from 'svelte/transition';
9
9
  import { Five, Subscribe } from '@realsee/five';
@@ -11,6 +11,7 @@ import { FBXLoader } from 'three/examples/jsm/loaders/FBXLoader';
11
11
  import * as TWEEN from '@tweenjs/tween.js';
12
12
  import TWEEN__default from '@tweenjs/tween.js';
13
13
  import { writable } from 'svelte/store';
14
+ import classNames from 'classnames';
14
15
 
15
16
  function _mergeNamespaces(n, m) {
16
17
  m.forEach(function (e) {
@@ -471,11 +472,11 @@ const ROOM_LABEL_BG = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAA8CAY
471
472
 
472
473
  /* src/ModelRoomLabelPlugin/RoomLabelItem.svelte generated by Svelte v3.47.0 */
473
474
 
474
- function add_css$j(target) {
475
+ function add_css$l(target) {
475
476
  append_styles(target, "svelte-17nkflf", ".room-label-item.svelte-17nkflf{position:absolute;font-size:8px;z-index:0;transform:none;cursor:pointer;pointer-events:none;user-select:none}.room-label-item__text.svelte-17nkflf{position:absolute;left:0;top:-64px;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center;height:20px;min-width:32px;padding:0 6px;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap}.room-label-item__bar.svelte-17nkflf{position:absolute;top:-44px;height:48px;width:1px;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0))}.wide.svelte-17nkflf{font-size:10px}");
476
477
  }
477
478
 
478
- function create_fragment$o(ctx) {
479
+ function create_fragment$q(ctx) {
479
480
  let div1;
480
481
  let span;
481
482
  let t0_value = /*roomLabel*/ ctx[0].name + "";
@@ -542,7 +543,7 @@ function create_fragment$o(ctx) {
542
543
  };
543
544
  }
544
545
 
545
- function instance$o($$self, $$props, $$invalidate) {
546
+ function instance$q($$self, $$props, $$invalidate) {
546
547
  let { five } = $$props;
547
548
  let { roomLabel } = $$props;
548
549
 
@@ -565,24 +566,24 @@ function instance$o($$self, $$props, $$invalidate) {
565
566
  class RoomLabelItem extends SvelteComponent {
566
567
  constructor(options) {
567
568
  super();
568
- init(this, options, instance$o, create_fragment$o, safe_not_equal, { five: 2, roomLabel: 0 }, add_css$j);
569
+ init(this, options, instance$q, create_fragment$q, safe_not_equal, { five: 2, roomLabel: 0 }, add_css$l);
569
570
  }
570
571
  }
571
572
 
572
573
  /* src/ModelRoomLabelPlugin/RoomLabelItems.svelte generated by Svelte v3.47.0 */
573
574
 
574
- function add_css$i(target) {
575
+ function add_css$k(target) {
575
576
  append_styles(target, "svelte-185yvaa", ".room-labels-container.svelte-185yvaa{width:100%;height:100%;position:relative;color:#fff}");
576
577
  }
577
578
 
578
- function get_each_context$7(ctx, list, i) {
579
+ function get_each_context$8(ctx, list, i) {
579
580
  const child_ctx = ctx.slice();
580
581
  child_ctx[9] = list[i];
581
582
  return child_ctx;
582
583
  }
583
584
 
584
585
  // (70:2) {#each roomLabels as roomLableItem (roomLableItem.id)}
585
- function create_each_block$7(key_1, ctx) {
586
+ function create_each_block$8(key_1, ctx) {
586
587
  let first;
587
588
  let roomlabelitem;
588
589
  let current;
@@ -630,7 +631,7 @@ function create_each_block$7(key_1, ctx) {
630
631
  };
631
632
  }
632
633
 
633
- function create_fragment$n(ctx) {
634
+ function create_fragment$p(ctx) {
634
635
  let div;
635
636
  let each_blocks = [];
636
637
  let each_1_lookup = new Map();
@@ -640,9 +641,9 @@ function create_fragment$n(ctx) {
640
641
  const get_key = ctx => /*roomLableItem*/ ctx[9].id;
641
642
 
642
643
  for (let i = 0; i < each_value.length; i += 1) {
643
- let child_ctx = get_each_context$7(ctx, each_value, i);
644
+ let child_ctx = get_each_context$8(ctx, each_value, i);
644
645
  let key = get_key(child_ctx);
645
- each_1_lookup.set(key, each_blocks[i] = create_each_block$7(key, child_ctx));
646
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$8(key, child_ctx));
646
647
  }
647
648
 
648
649
  return {
@@ -670,7 +671,7 @@ function create_fragment$n(ctx) {
670
671
  if (dirty & /*roomLabels, five*/ 3) {
671
672
  each_value = /*roomLabels*/ ctx[0];
672
673
  group_outros();
673
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, outro_and_destroy_block, create_each_block$7, null, get_each_context$7);
674
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, outro_and_destroy_block, create_each_block$8, null, get_each_context$8);
674
675
  check_outros();
675
676
  }
676
677
  },
@@ -702,7 +703,7 @@ function create_fragment$n(ctx) {
702
703
  };
703
704
  }
704
705
 
705
- function instance$n($$self, $$props, $$invalidate) {
706
+ function instance$p($$self, $$props, $$invalidate) {
706
707
  let { five } = $$props;
707
708
  let { roomLabels } = $$props;
708
709
  let containerWidth;
@@ -736,7 +737,7 @@ function instance$n($$self, $$props, $$invalidate) {
736
737
 
737
738
  function getFormatedRoomLabels(five, labels) {
738
739
  const newLabels = labels.map(roomLabelItem => {
739
- // 计算是否可见,入股不可见,不会更新位置
740
+ // 计算是否可见,如果不可见,不会更新位置
740
741
  const visible = getLabelVisible(five, roomLabelItem);
741
742
 
742
743
  if (!visible) return { ...roomLabelItem, visible };
@@ -793,7 +794,7 @@ function instance$n($$self, $$props, $$invalidate) {
793
794
  class RoomLabelItems extends SvelteComponent {
794
795
  constructor(options) {
795
796
  super();
796
- init(this, options, instance$n, create_fragment$n, safe_not_equal, { five: 1, roomLabels: 0 }, add_css$i);
797
+ init(this, options, instance$p, create_fragment$p, safe_not_equal, { five: 1, roomLabels: 0 }, add_css$k);
797
798
  }
798
799
  }
799
800
 
@@ -1147,11 +1148,11 @@ function rad2Deg$1(rad) {
1147
1148
 
1148
1149
  /* src/floorplan/ModelFloorplanPlugin/Components/Camera.svelte generated by Svelte v3.47.0 */
1149
1150
 
1150
- function add_css$h(target) {
1151
+ function add_css$j(target) {
1151
1152
  append_styles(target, "svelte-e8a2kn", ".floorplan__camera-position.svelte-e8a2kn{position:absolute;width:0;height:0}.floorplan__camera-rotate.svelte-e8a2kn{position:absolute;background-repeat:no-repeat;background-size:100%}");
1152
1153
  }
1153
1154
 
1154
- function create_fragment$m(ctx) {
1155
+ function create_fragment$o(ctx) {
1155
1156
  let div1;
1156
1157
  let div0;
1157
1158
 
@@ -1188,7 +1189,7 @@ function create_fragment$m(ctx) {
1188
1189
  };
1189
1190
  }
1190
1191
 
1191
- function instance$m($$self, $$props, $$invalidate) {
1192
+ function instance$o($$self, $$props, $$invalidate) {
1192
1193
  let { panoIndex } = $$props;
1193
1194
  let { floorplanData } = $$props;
1194
1195
  let { lastPanoramaLongitude } = $$props;
@@ -1234,8 +1235,8 @@ class Camera$1 extends SvelteComponent {
1234
1235
  init(
1235
1236
  this,
1236
1237
  options,
1237
- instance$m,
1238
- create_fragment$m,
1238
+ instance$o,
1239
+ create_fragment$o,
1239
1240
  safe_not_equal,
1240
1241
  {
1241
1242
  panoIndex: 5,
@@ -1243,7 +1244,7 @@ class Camera$1 extends SvelteComponent {
1243
1244
  lastPanoramaLongitude: 7,
1244
1245
  cameraImageUrl: 0
1245
1246
  },
1246
- add_css$h
1247
+ add_css$j
1247
1248
  );
1248
1249
  }
1249
1250
  }
@@ -1252,7 +1253,7 @@ const COMPASS_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArUAAAB7CAM
1252
1253
 
1253
1254
  /* src/floorplan/ModelFloorplanPlugin/Components/Compass.svelte generated by Svelte v3.47.0 */
1254
1255
 
1255
- function add_css$g(target) {
1256
+ function add_css$i(target) {
1256
1257
  append_styles(target, "svelte-5l80pv", ".floorplan-plugin__compass.svelte-5l80pv{position:absolute;left:50%;top:-46px;width:231px;height:41px;will-change:opacity;transform-origin:center 184px}.floorplan-plugin__compass-image.svelte-5l80pv{width:100%;height:100%;position:absolute;left:0;top:0;opacity:0.1;background-repeat:no-repeat;background-size:100% 100%}.floorplan-plugin__compass-text.svelte-5l80pv{position:absolute;left:50%;top:15px;transform:translateX(-50%);opacity:0.2;font-weight:bold;font-size:10px;color:#fff}");
1257
1258
  }
1258
1259
 
@@ -1293,7 +1294,7 @@ function create_if_block$8(ctx) {
1293
1294
  };
1294
1295
  }
1295
1296
 
1296
- function create_fragment$l(ctx) {
1297
+ function create_fragment$n(ctx) {
1297
1298
  let if_block_anchor;
1298
1299
  let if_block = /*northRad*/ ctx[1] && create_if_block$8(ctx);
1299
1300
 
@@ -1322,7 +1323,7 @@ function rad2Deg(rad) {
1322
1323
  return rad / Math.PI * 180;
1323
1324
  }
1324
1325
 
1325
- function instance$l($$self, $$props, $$invalidate) {
1326
+ function instance$n($$self, $$props, $$invalidate) {
1326
1327
  let { floorplanData } = $$props;
1327
1328
  let { northDesc } = $$props;
1328
1329
  const northRad = floorplanData.entrance?.northRad;
@@ -1340,13 +1341,13 @@ function instance$l($$self, $$props, $$invalidate) {
1340
1341
  class Compass extends SvelteComponent {
1341
1342
  constructor(options) {
1342
1343
  super();
1343
- init(this, options, instance$l, create_fragment$l, safe_not_equal, { floorplanData: 3, northDesc: 0 }, add_css$g);
1344
+ init(this, options, instance$n, create_fragment$n, safe_not_equal, { floorplanData: 3, northDesc: 0 }, add_css$i);
1344
1345
  }
1345
1346
  }
1346
1347
 
1347
1348
  /* src/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte generated by Svelte v3.47.0 */
1348
1349
 
1349
- function add_css$f(target) {
1350
+ function add_css$h(target) {
1350
1351
  append_styles(target, "svelte-1ashbdx", ".floorplan-plugin__room-label-item.svelte-1ashbdx{position:absolute;display:flex;flex-flow:column;align-items:center;line-height:15px;color:#fff;transform:translate(-50%, -50%);white-space:nowrap}.floorplan-plugin__room-size.svelte-1ashbdx{opacity:0.45}");
1351
1352
  }
1352
1353
 
@@ -1411,7 +1412,7 @@ function create_if_block$7(ctx) {
1411
1412
  };
1412
1413
  }
1413
1414
 
1414
- function create_fragment$k(ctx) {
1415
+ function create_fragment$m(ctx) {
1415
1416
  let div;
1416
1417
 
1417
1418
  function select_block_type(ctx, dirty) {
@@ -1460,7 +1461,7 @@ function create_fragment$k(ctx) {
1460
1461
  };
1461
1462
  }
1462
1463
 
1463
- function instance$k($$self, $$props, $$invalidate) {
1464
+ function instance$m($$self, $$props, $$invalidate) {
1464
1465
  let userConfigElement;
1465
1466
  let { room } = $$props;
1466
1467
  let { getLabelElement } = $$props;
@@ -1492,17 +1493,17 @@ function instance$k($$self, $$props, $$invalidate) {
1492
1493
  class RoomLabel extends SvelteComponent {
1493
1494
  constructor(options) {
1494
1495
  super();
1495
- init(this, options, instance$k, create_fragment$k, safe_not_equal, { room: 0, getLabelElement: 1 }, add_css$f);
1496
+ init(this, options, instance$m, create_fragment$m, safe_not_equal, { room: 0, getLabelElement: 1 }, add_css$h);
1496
1497
  }
1497
1498
  }
1498
1499
 
1499
1500
  /* src/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte generated by Svelte v3.47.0 */
1500
1501
 
1501
- function add_css$e(target) {
1502
+ function add_css$g(target) {
1502
1503
  append_styles(target, "svelte-sw25w3", ".floorplan-plugin__room-labels.svelte-sw25w3{width:100%;height:100%;position:absolute;left:0;top:0;z-index:20}");
1503
1504
  }
1504
1505
 
1505
- function get_each_context$6(ctx, list, i) {
1506
+ function get_each_context$7(ctx, list, i) {
1506
1507
  const child_ctx = ctx.slice();
1507
1508
  child_ctx[4] = list[i];
1508
1509
  return child_ctx;
@@ -1518,9 +1519,9 @@ function create_if_block$6(ctx) {
1518
1519
  const get_key = ctx => /*room*/ ctx[4].id;
1519
1520
 
1520
1521
  for (let i = 0; i < each_value.length; i += 1) {
1521
- let child_ctx = get_each_context$6(ctx, each_value, i);
1522
+ let child_ctx = get_each_context$7(ctx, each_value, i);
1522
1523
  let key = get_key(child_ctx);
1523
- each_1_lookup.set(key, each_blocks[i] = create_each_block$6(key, child_ctx));
1524
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$7(key, child_ctx));
1524
1525
  }
1525
1526
 
1526
1527
  return {
@@ -1546,7 +1547,7 @@ function create_if_block$6(ctx) {
1546
1547
  if (dirty & /*rooms, getLabelElement*/ 3) {
1547
1548
  each_value = /*rooms*/ ctx[1];
1548
1549
  group_outros();
1549
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, outro_and_destroy_block, create_each_block$6, null, get_each_context$6);
1550
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, outro_and_destroy_block, create_each_block$7, null, get_each_context$7);
1550
1551
  check_outros();
1551
1552
  }
1552
1553
  },
@@ -1577,7 +1578,7 @@ function create_if_block$6(ctx) {
1577
1578
  }
1578
1579
 
1579
1580
  // (10:4) {#each rooms as room (room.id)}
1580
- function create_each_block$6(key_1, ctx) {
1581
+ function create_each_block$7(key_1, ctx) {
1581
1582
  let first;
1582
1583
  let roomlabel;
1583
1584
  let current;
@@ -1640,7 +1641,7 @@ function create_each_block$6(key_1, ctx) {
1640
1641
  };
1641
1642
  }
1642
1643
 
1643
- function create_fragment$j(ctx) {
1644
+ function create_fragment$l(ctx) {
1644
1645
  let if_block_anchor;
1645
1646
  let current;
1646
1647
  let if_block = /*rooms*/ ctx[1] && create_if_block$6(ctx);
@@ -1695,7 +1696,7 @@ function create_fragment$j(ctx) {
1695
1696
  };
1696
1697
  }
1697
1698
 
1698
- function instance$j($$self, $$props, $$invalidate) {
1699
+ function instance$l($$self, $$props, $$invalidate) {
1699
1700
  let rooms;
1700
1701
  let { floorIndex } = $$props;
1701
1702
  let { floorplanData } = $$props;
@@ -1723,15 +1724,15 @@ class RoomLabels extends SvelteComponent {
1723
1724
  init(
1724
1725
  this,
1725
1726
  options,
1726
- instance$j,
1727
- create_fragment$j,
1727
+ instance$l,
1728
+ create_fragment$l,
1728
1729
  safe_not_equal,
1729
1730
  {
1730
1731
  floorIndex: 2,
1731
1732
  floorplanData: 3,
1732
1733
  getLabelElement: 0
1733
1734
  },
1734
- add_css$e
1735
+ add_css$g
1735
1736
  );
1736
1737
  }
1737
1738
  }
@@ -1750,11 +1751,11 @@ function notNil(value) {
1750
1751
 
1751
1752
  /* src/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte generated by Svelte v3.47.0 */
1752
1753
 
1753
- function add_css$d(target) {
1754
+ function add_css$f(target) {
1754
1755
  append_styles(target, "svelte-1rr09in", ".floorplan-plugin__rule-labels.svelte-1rr09in{position:absolute;height:5px;display:flex;align-items:center}.floorplan-plugin__rule-labels-top.svelte-1rr09in{left:0;top:0}.floorplan-plugin__rule-labels-bottom.svelte-1rr09in{left:0;bottom:0}.floorplan-plugin__rule-labels-left.svelte-1rr09in{bottom:0;left:0}.floorplan-plugin__rule-labels-right.svelte-1rr09in{bottom:0;right:0}.floorplan-plugin__rule-line.svelte-1rr09in{background:#fff;opacity:0.05;width:100%;height:1px}.floorplan-plugin__rule-scale.svelte-1rr09in{position:absolute;background:#fff;opacity:0.05;transform-origin:center;width:1px;height:5px}.floorplan-plugin__text-wrapper.svelte-1rr09in{width:0;height:0;position:absolute}.floorplan-plugin__text-wrapper.floorplan-plugin__text-wrapper--is-left-or-top.svelte-1rr09in{top:10px}.floorplan-plugin__text-wrapper.floorplan-plugin__text-wrapper-is-right-or-bottom.svelte-1rr09in{bottom:10px}.floorplan-plugin__rule-text.svelte-1rr09in{position:absolute;width:max-content;display:block;transform:translate(-50%, -50%) rotate(180deg);font-size:10px;color:#fff;opacity:0.2}.floorplan-plugin__rule-text.is-row.svelte-1rr09in{transform:translate(-50%, -50%)}");
1755
1756
  }
1756
1757
 
1757
- function get_each_context$5(ctx, list, i) {
1758
+ function get_each_context$6(ctx, list, i) {
1758
1759
  const child_ctx = ctx.slice();
1759
1760
  child_ctx[24] = list[i];
1760
1761
  child_ctx[26] = i;
@@ -1795,7 +1796,7 @@ function create_each_block_1(key_1, ctx) {
1795
1796
  }
1796
1797
 
1797
1798
  // (69:2) {#each textArray as textItem, textItemIndex (textItemIndex)}
1798
- function create_each_block$5(key_1, ctx) {
1799
+ function create_each_block$6(key_1, ctx) {
1799
1800
  let div;
1800
1801
  let span;
1801
1802
  let t0_value = /*textItem*/ ctx[24].distance + "";
@@ -1834,7 +1835,7 @@ function create_each_block$5(key_1, ctx) {
1834
1835
  };
1835
1836
  }
1836
1837
 
1837
- function create_fragment$i(ctx) {
1838
+ function create_fragment$k(ctx) {
1838
1839
  let div1;
1839
1840
  let div0;
1840
1841
  let t0;
@@ -1857,9 +1858,9 @@ function create_fragment$i(ctx) {
1857
1858
  const get_key_1 = ctx => /*textItemIndex*/ ctx[26];
1858
1859
 
1859
1860
  for (let i = 0; i < each_value.length; i += 1) {
1860
- let child_ctx = get_each_context$5(ctx, each_value, i);
1861
+ let child_ctx = get_each_context$6(ctx, each_value, i);
1861
1862
  let key = get_key_1(child_ctx);
1862
- each1_lookup.set(key, each_blocks[i] = create_each_block$5(key, child_ctx));
1863
+ each1_lookup.set(key, each_blocks[i] = create_each_block$6(key, child_ctx));
1863
1864
  }
1864
1865
 
1865
1866
  return {
@@ -1907,7 +1908,7 @@ function create_fragment$i(ctx) {
1907
1908
 
1908
1909
  if (dirty & /*isLeft, isTop, isRight, isBottom, textArray, isRow*/ 1086) {
1909
1910
  each_value = /*textArray*/ ctx[10];
1910
- each_blocks = update_keyed_each(each_blocks, dirty, get_key_1, 1, ctx, each_value, each1_lookup, div1, destroy_block, create_each_block$5, null, get_each_context$5);
1911
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key_1, 1, ctx, each_value, each1_lookup, div1, destroy_block, create_each_block$6, null, get_each_context$6);
1911
1912
  }
1912
1913
 
1913
1914
  if (dirty & /*type*/ 1 && div1_class_value !== (div1_class_value = "floorplan-plugin__rule-labels floorplan-plugin__rule-labels-" + /*type*/ ctx[0] + " svelte-1rr09in")) {
@@ -1932,7 +1933,7 @@ function create_fragment$i(ctx) {
1932
1933
 
1933
1934
  const padding = 1000;
1934
1935
 
1935
- function instance$i($$self, $$props, $$invalidate) {
1936
+ function instance$k($$self, $$props, $$invalidate) {
1936
1937
  let { pxmm } = $$props;
1937
1938
  let { type } = $$props;
1938
1939
  let { data } = $$props;
@@ -2014,8 +2015,8 @@ class RuleItem extends SvelteComponent {
2014
2015
  init(
2015
2016
  this,
2016
2017
  options,
2017
- instance$i,
2018
- create_fragment$i,
2018
+ instance$k,
2019
+ create_fragment$k,
2019
2020
  safe_not_equal,
2020
2021
  {
2021
2022
  pxmm: 11,
@@ -2023,14 +2024,14 @@ class RuleItem extends SvelteComponent {
2023
2024
  data: 12,
2024
2025
  bounding: 13
2025
2026
  },
2026
- add_css$d
2027
+ add_css$f
2027
2028
  );
2028
2029
  }
2029
2030
  }
2030
2031
 
2031
2032
  /* src/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte generated by Svelte v3.47.0 */
2032
2033
 
2033
- function get_each_context$4(ctx, list, i) {
2034
+ function get_each_context$5(ctx, list, i) {
2034
2035
  const child_ctx = ctx.slice();
2035
2036
  child_ctx[7] = list[i][0];
2036
2037
  child_ctx[8] = list[i][1];
@@ -2038,7 +2039,7 @@ function get_each_context$4(ctx, list, i) {
2038
2039
  }
2039
2040
 
2040
2041
  // (12:2) {#each ruleLabelArray as [type, data] (type)}
2041
- function create_each_block$4(key_1, ctx) {
2042
+ function create_each_block$5(key_1, ctx) {
2042
2043
  let first;
2043
2044
  let ruleitem;
2044
2045
  let current;
@@ -2105,7 +2106,7 @@ function create_each_block$4(key_1, ctx) {
2105
2106
  };
2106
2107
  }
2107
2108
 
2108
- function create_fragment$h(ctx) {
2109
+ function create_fragment$j(ctx) {
2109
2110
  let div;
2110
2111
  let each_blocks = [];
2111
2112
  let each_1_lookup = new Map();
@@ -2114,9 +2115,9 @@ function create_fragment$h(ctx) {
2114
2115
  const get_key = ctx => /*type*/ ctx[7];
2115
2116
 
2116
2117
  for (let i = 0; i < each_value.length; i += 1) {
2117
- let child_ctx = get_each_context$4(ctx, each_value, i);
2118
+ let child_ctx = get_each_context$5(ctx, each_value, i);
2118
2119
  let key = get_key(child_ctx);
2119
- each_1_lookup.set(key, each_blocks[i] = create_each_block$4(key, child_ctx));
2120
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$5(key, child_ctx));
2120
2121
  }
2121
2122
 
2122
2123
  return {
@@ -2142,7 +2143,7 @@ function create_fragment$h(ctx) {
2142
2143
  if (dirty & /*ruleLabelArray, pxmm, bounding*/ 7) {
2143
2144
  each_value = /*ruleLabelArray*/ ctx[1];
2144
2145
  group_outros();
2145
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, outro_and_destroy_block, create_each_block$4, null, get_each_context$4);
2146
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, outro_and_destroy_block, create_each_block$5, null, get_each_context$5);
2146
2147
  check_outros();
2147
2148
  }
2148
2149
  },
@@ -2172,7 +2173,7 @@ function create_fragment$h(ctx) {
2172
2173
  };
2173
2174
  }
2174
2175
 
2175
- function instance$h($$self, $$props, $$invalidate) {
2176
+ function instance$j($$self, $$props, $$invalidate) {
2176
2177
  let bounding;
2177
2178
  let ruleLabelData;
2178
2179
  let ruleLabelDataKeys;
@@ -2219,17 +2220,17 @@ function instance$h($$self, $$props, $$invalidate) {
2219
2220
  class RuleLabels extends SvelteComponent {
2220
2221
  constructor(options) {
2221
2222
  super();
2222
- init(this, options, instance$h, create_fragment$h, safe_not_equal, { pxmm: 0, floorIndex: 3, floorplanData: 4 });
2223
+ init(this, options, instance$j, create_fragment$j, safe_not_equal, { pxmm: 0, floorIndex: 3, floorplanData: 4 });
2223
2224
  }
2224
2225
  }
2225
2226
 
2226
2227
  /* src/floorplan/Components/Normalmage.svelte generated by Svelte v3.47.0 */
2227
2228
 
2228
- function add_css$c(target) {
2229
+ function add_css$e(target) {
2229
2230
  append_styles(target, "svelte-1cuuebb", "img.svelte-1cuuebb{width:100%;height:100%}");
2230
2231
  }
2231
2232
 
2232
- function create_fragment$g(ctx) {
2233
+ function create_fragment$i(ctx) {
2233
2234
  let img;
2234
2235
  let img_src_value;
2235
2236
 
@@ -2256,7 +2257,7 @@ function create_fragment$g(ctx) {
2256
2257
  };
2257
2258
  }
2258
2259
 
2259
- function instance$g($$self, $$props, $$invalidate) {
2260
+ function instance$i($$self, $$props, $$invalidate) {
2260
2261
  let { url } = $$props;
2261
2262
 
2262
2263
  $$self.$$set = $$props => {
@@ -2269,17 +2270,17 @@ function instance$g($$self, $$props, $$invalidate) {
2269
2270
  class Normalmage extends SvelteComponent {
2270
2271
  constructor(options) {
2271
2272
  super();
2272
- init(this, options, instance$g, create_fragment$g, safe_not_equal, { url: 0 }, add_css$c);
2273
+ init(this, options, instance$i, create_fragment$i, safe_not_equal, { url: 0 }, add_css$e);
2273
2274
  }
2274
2275
  }
2275
2276
 
2276
2277
  /* src/floorplan/Components/SvgImage.svelte generated by Svelte v3.47.0 */
2277
2278
 
2278
- function add_css$b(target) {
2279
+ function add_css$d(target) {
2279
2280
  append_styles(target, "svelte-1qqy56u", ".floorplan-plugin__base-image.svelte-1qqy56u{width:100%;height:100%}");
2280
2281
  }
2281
2282
 
2282
- function create_fragment$f(ctx) {
2283
+ function create_fragment$h(ctx) {
2283
2284
  let div;
2284
2285
  let html_tag;
2285
2286
  let t;
@@ -2312,7 +2313,7 @@ function create_fragment$f(ctx) {
2312
2313
  };
2313
2314
  }
2314
2315
 
2315
- function instance$f($$self, $$props, $$invalidate) {
2316
+ function instance$h($$self, $$props, $$invalidate) {
2316
2317
  let { content } = $$props;
2317
2318
 
2318
2319
  const svgStyle = `
@@ -2337,13 +2338,13 @@ function instance$f($$self, $$props, $$invalidate) {
2337
2338
  class SvgImage extends SvelteComponent {
2338
2339
  constructor(options) {
2339
2340
  super();
2340
- init(this, options, instance$f, create_fragment$f, safe_not_equal, { content: 0 }, add_css$b);
2341
+ init(this, options, instance$h, create_fragment$h, safe_not_equal, { content: 0 }, add_css$d);
2341
2342
  }
2342
2343
  }
2343
2344
 
2344
2345
  /* src/floorplan/Components/BaseImage.svelte generated by Svelte v3.47.0 */
2345
2346
 
2346
- function add_css$a(target) {
2347
+ function add_css$c(target) {
2347
2348
  append_styles(target, "svelte-126ja8e", ".floorplan-plugin__base-image.svelte-126ja8e{position:absolute;z-index:10;width:100%;height:100%;pointer-events:none}");
2348
2349
  }
2349
2350
 
@@ -2418,7 +2419,7 @@ function create_if_block$5(ctx) {
2418
2419
  };
2419
2420
  }
2420
2421
 
2421
- function create_fragment$e(ctx) {
2422
+ function create_fragment$g(ctx) {
2422
2423
  let div;
2423
2424
  let current_block_type_index;
2424
2425
  let if_block;
@@ -2506,7 +2507,7 @@ function create_fragment$e(ctx) {
2506
2507
  };
2507
2508
  }
2508
2509
 
2509
- function instance$e($$self, $$props, $$invalidate) {
2510
+ function instance$g($$self, $$props, $$invalidate) {
2510
2511
  let imageData;
2511
2512
  let svgContent;
2512
2513
  let { floorIndex } = $$props;
@@ -2533,13 +2534,13 @@ function instance$e($$self, $$props, $$invalidate) {
2533
2534
  class BaseImage extends SvelteComponent {
2534
2535
  constructor(options) {
2535
2536
  super();
2536
- init(this, options, instance$e, create_fragment$e, safe_not_equal, { floorIndex: 2, floorplanData: 3 }, add_css$a);
2537
+ init(this, options, instance$g, create_fragment$g, safe_not_equal, { floorIndex: 2, floorplanData: 3 }, add_css$c);
2537
2538
  }
2538
2539
  }
2539
2540
 
2540
2541
  /* src/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte generated by Svelte v3.47.0 */
2541
2542
 
2542
- function create_fragment$d(ctx) {
2543
+ function create_fragment$f(ctx) {
2543
2544
  let path_1;
2544
2545
 
2545
2546
  return {
@@ -2564,7 +2565,7 @@ function create_fragment$d(ctx) {
2564
2565
  };
2565
2566
  }
2566
2567
 
2567
- function instance$d($$self, $$props, $$invalidate) {
2568
+ function instance$f($$self, $$props, $$invalidate) {
2568
2569
  let d;
2569
2570
  let { path } = $$props;
2570
2571
 
@@ -2584,13 +2585,13 @@ function instance$d($$self, $$props, $$invalidate) {
2584
2585
  class RoomMaterial_0 extends SvelteComponent {
2585
2586
  constructor(options) {
2586
2587
  super();
2587
- init(this, options, instance$d, create_fragment$d, safe_not_equal, { path: 1 });
2588
+ init(this, options, instance$f, create_fragment$f, safe_not_equal, { path: 1 });
2588
2589
  }
2589
2590
  }
2590
2591
 
2591
2592
  /* src/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte generated by Svelte v3.47.0 */
2592
2593
 
2593
- function create_fragment$c(ctx) {
2594
+ function create_fragment$e(ctx) {
2594
2595
  let defs;
2595
2596
  let pattern;
2596
2597
  let rect;
@@ -2650,7 +2651,7 @@ function create_fragment$c(ctx) {
2650
2651
 
2651
2652
  const halfWidth = 6;
2652
2653
 
2653
- function instance$c($$self, $$props, $$invalidate) {
2654
+ function instance$e($$self, $$props, $$invalidate) {
2654
2655
  let d;
2655
2656
  let { path } = $$props;
2656
2657
  const width = halfWidth * 2;
@@ -2672,13 +2673,13 @@ function instance$c($$self, $$props, $$invalidate) {
2672
2673
  class RoomMaterial_1 extends SvelteComponent {
2673
2674
  constructor(options) {
2674
2675
  super();
2675
- init(this, options, instance$c, create_fragment$c, safe_not_equal, { path: 3 });
2676
+ init(this, options, instance$e, create_fragment$e, safe_not_equal, { path: 3 });
2676
2677
  }
2677
2678
  }
2678
2679
 
2679
2680
  /* src/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte generated by Svelte v3.47.0 */
2680
2681
 
2681
- function create_fragment$b(ctx) {
2682
+ function create_fragment$d(ctx) {
2682
2683
  let defs;
2683
2684
  let pattern0;
2684
2685
  let rect0;
@@ -2777,7 +2778,7 @@ function create_fragment$b(ctx) {
2777
2778
  };
2778
2779
  }
2779
2780
 
2780
- function instance$b($$self, $$props, $$invalidate) {
2781
+ function instance$d($$self, $$props, $$invalidate) {
2781
2782
  let d;
2782
2783
  let { path } = $$props;
2783
2784
 
@@ -2797,17 +2798,17 @@ function instance$b($$self, $$props, $$invalidate) {
2797
2798
  class RoomMaterial_2 extends SvelteComponent {
2798
2799
  constructor(options) {
2799
2800
  super();
2800
- init(this, options, instance$b, create_fragment$b, safe_not_equal, { path: 1 });
2801
+ init(this, options, instance$d, create_fragment$d, safe_not_equal, { path: 1 });
2801
2802
  }
2802
2803
  }
2803
2804
 
2804
2805
  /* src/floorplan/Components/RoomMaterials/RoomMaterial.svelte generated by Svelte v3.47.0 */
2805
2806
 
2806
- function add_css$9(target) {
2807
+ function add_css$b(target) {
2807
2808
  append_styles(target, "svelte-1b0icjc", "svg.svelte-1b0icjc{position:absolute;width:100%;height:100%;overflow:visible}");
2808
2809
  }
2809
2810
 
2810
- function get_each_context$3(ctx, list, i) {
2811
+ function get_each_context$4(ctx, list, i) {
2811
2812
  const child_ctx = ctx.slice();
2812
2813
  child_ctx[4] = list[i];
2813
2814
  return child_ctx;
@@ -2916,7 +2917,7 @@ function create_if_block$4(ctx) {
2916
2917
  }
2917
2918
 
2918
2919
  // (15:2) {#each rooms as room}
2919
- function create_each_block$3(ctx) {
2920
+ function create_each_block$4(ctx) {
2920
2921
  let svg;
2921
2922
  let current_block_type_index;
2922
2923
  let if_block;
@@ -2987,14 +2988,14 @@ function create_each_block$3(ctx) {
2987
2988
  };
2988
2989
  }
2989
2990
 
2990
- function create_fragment$a(ctx) {
2991
+ function create_fragment$c(ctx) {
2991
2992
  let div;
2992
2993
  let current;
2993
2994
  let each_value = /*rooms*/ ctx[0];
2994
2995
  let each_blocks = [];
2995
2996
 
2996
2997
  for (let i = 0; i < each_value.length; i += 1) {
2997
- each_blocks[i] = create_each_block$3(get_each_context$3(ctx, each_value, i));
2998
+ each_blocks[i] = create_each_block$4(get_each_context$4(ctx, each_value, i));
2998
2999
  }
2999
3000
 
3000
3001
  const out = i => transition_out(each_blocks[i], 1, 1, () => {
@@ -3026,13 +3027,13 @@ function create_fragment$a(ctx) {
3026
3027
  let i;
3027
3028
 
3028
3029
  for (i = 0; i < each_value.length; i += 1) {
3029
- const child_ctx = get_each_context$3(ctx, each_value, i);
3030
+ const child_ctx = get_each_context$4(ctx, each_value, i);
3030
3031
 
3031
3032
  if (each_blocks[i]) {
3032
3033
  each_blocks[i].p(child_ctx, dirty);
3033
3034
  transition_in(each_blocks[i], 1);
3034
3035
  } else {
3035
- each_blocks[i] = create_each_block$3(child_ctx);
3036
+ each_blocks[i] = create_each_block$4(child_ctx);
3036
3037
  each_blocks[i].c();
3037
3038
  transition_in(each_blocks[i], 1);
3038
3039
  each_blocks[i].m(div, null);
@@ -3073,7 +3074,7 @@ function create_fragment$a(ctx) {
3073
3074
  };
3074
3075
  }
3075
3076
 
3076
- function instance$a($$self, $$props, $$invalidate) {
3077
+ function instance$c($$self, $$props, $$invalidate) {
3077
3078
  let rooms;
3078
3079
  let { floorIndex } = $$props;
3079
3080
  let { pxmm } = $$props;
@@ -3100,17 +3101,17 @@ function instance$a($$self, $$props, $$invalidate) {
3100
3101
  class RoomMaterial extends SvelteComponent {
3101
3102
  constructor(options) {
3102
3103
  super();
3103
- init(this, options, instance$a, create_fragment$a, safe_not_equal, { floorIndex: 1, pxmm: 2, floorplanData: 3 }, add_css$9);
3104
+ init(this, options, instance$c, create_fragment$c, safe_not_equal, { floorIndex: 1, pxmm: 2, floorplanData: 3 }, add_css$b);
3104
3105
  }
3105
3106
  }
3106
3107
 
3107
3108
  /* src/floorplan/Components/RoomHighlight/Room.svelte generated by Svelte v3.47.0 */
3108
3109
 
3109
- function add_css$8(target) {
3110
+ function add_css$a(target) {
3110
3111
  append_styles(target, "svelte-11takew", "path.svelte-11takew{opacity:0}path.svelte-11takew:hover{opacity:0.1}");
3111
3112
  }
3112
3113
 
3113
- function create_fragment$9(ctx) {
3114
+ function create_fragment$b(ctx) {
3114
3115
  let path;
3115
3116
 
3116
3117
  return {
@@ -3132,7 +3133,7 @@ function create_fragment$9(ctx) {
3132
3133
  };
3133
3134
  }
3134
3135
 
3135
- function instance$9($$self, $$props, $$invalidate) {
3136
+ function instance$b($$self, $$props, $$invalidate) {
3136
3137
  let { pxmm } = $$props;
3137
3138
  let { room } = $$props;
3138
3139
  let { floorplanData } = $$props;
@@ -3155,24 +3156,24 @@ function instance$9($$self, $$props, $$invalidate) {
3155
3156
  class Room extends SvelteComponent {
3156
3157
  constructor(options) {
3157
3158
  super();
3158
- init(this, options, instance$9, create_fragment$9, safe_not_equal, { pxmm: 1, room: 2, floorplanData: 3 }, add_css$8);
3159
+ init(this, options, instance$b, create_fragment$b, safe_not_equal, { pxmm: 1, room: 2, floorplanData: 3 }, add_css$a);
3159
3160
  }
3160
3161
  }
3161
3162
 
3162
3163
  /* src/floorplan/Components/RoomHighlight/RoomHighlight.svelte generated by Svelte v3.47.0 */
3163
3164
 
3164
- function add_css$7(target) {
3165
+ function add_css$9(target) {
3165
3166
  append_styles(target, "svelte-1aais5l", ".floorplan-plugin__room-highlight.svelte-1aais5l{position:absolute;width:100%;height:100%;pointer-events:all}svg.svelte-1aais5l{width:100%;height:100%;overflow:visible}");
3166
3167
  }
3167
3168
 
3168
- function get_each_context$2(ctx, list, i) {
3169
+ function get_each_context$3(ctx, list, i) {
3169
3170
  const child_ctx = ctx.slice();
3170
3171
  child_ctx[12] = list[i];
3171
3172
  return child_ctx;
3172
3173
  }
3173
3174
 
3174
3175
  // (41:4) {#each floorplanData.floorDatas[floorIndex].rooms as room (room.id)}
3175
- function create_each_block$2(key_1, ctx) {
3176
+ function create_each_block$3(key_1, ctx) {
3176
3177
  let first;
3177
3178
  let room;
3178
3179
  let current;
@@ -3237,7 +3238,7 @@ function create_each_block$2(key_1, ctx) {
3237
3238
  };
3238
3239
  }
3239
3240
 
3240
- function create_fragment$8(ctx) {
3241
+ function create_fragment$a(ctx) {
3241
3242
  let div;
3242
3243
  let svg;
3243
3244
  let each_blocks = [];
@@ -3250,9 +3251,9 @@ function create_fragment$8(ctx) {
3250
3251
  const get_key = ctx => /*room*/ ctx[12].id;
3251
3252
 
3252
3253
  for (let i = 0; i < each_value.length; i += 1) {
3253
- let child_ctx = get_each_context$2(ctx, each_value, i);
3254
+ let child_ctx = get_each_context$3(ctx, each_value, i);
3254
3255
  let key = get_key(child_ctx);
3255
- each_1_lookup.set(key, each_blocks[i] = create_each_block$2(key, child_ctx));
3256
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$3(key, child_ctx));
3256
3257
  }
3257
3258
 
3258
3259
  return {
@@ -3289,7 +3290,7 @@ function create_fragment$8(ctx) {
3289
3290
  if (dirty & /*floorplanData, floorIndex, pxmm*/ 7) {
3290
3291
  each_value = /*floorplanData*/ ctx[2].floorDatas[/*floorIndex*/ ctx[1]].rooms;
3291
3292
  group_outros();
3292
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, svg, outro_and_destroy_block, create_each_block$2, null, get_each_context$2);
3293
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, svg, outro_and_destroy_block, create_each_block$3, null, get_each_context$3);
3293
3294
  check_outros();
3294
3295
  }
3295
3296
  },
@@ -3324,7 +3325,7 @@ function create_fragment$8(ctx) {
3324
3325
  };
3325
3326
  }
3326
3327
 
3327
- function instance$8($$self, $$props, $$invalidate) {
3328
+ function instance$a($$self, $$props, $$invalidate) {
3328
3329
  let { five } = $$props;
3329
3330
  let { pxmm } = $$props;
3330
3331
  let { floorIndex } = $$props;
@@ -3401,8 +3402,8 @@ class RoomHighlight extends SvelteComponent {
3401
3402
  init(
3402
3403
  this,
3403
3404
  options,
3404
- instance$8,
3405
- create_fragment$8,
3405
+ instance$a,
3406
+ create_fragment$a,
3406
3407
  safe_not_equal,
3407
3408
  {
3408
3409
  five: 7,
@@ -3411,14 +3412,14 @@ class RoomHighlight extends SvelteComponent {
3411
3412
  floorplanData: 2,
3412
3413
  onRoomHeightClick: 8
3413
3414
  },
3414
- add_css$7
3415
+ add_css$9
3415
3416
  );
3416
3417
  }
3417
3418
  }
3418
3419
 
3419
3420
  /* src/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte generated by Svelte v3.47.0 */
3420
3421
 
3421
- function add_css$6(target) {
3422
+ function add_css$8(target) {
3422
3423
  append_styles(target, "svelte-3pdgs4", ".floorplan-current-floor.svelte-3pdgs4{position:relative;width:100%;height:100%}");
3423
3424
  }
3424
3425
 
@@ -3597,7 +3598,7 @@ function create_if_block$3(ctx) {
3597
3598
  };
3598
3599
  }
3599
3600
 
3600
- function create_fragment$7(ctx) {
3601
+ function create_fragment$9(ctx) {
3601
3602
  let div;
3602
3603
  let roommaterial;
3603
3604
  let t0;
@@ -3789,7 +3790,7 @@ function create_fragment$7(ctx) {
3789
3790
  };
3790
3791
  }
3791
3792
 
3792
- function instance$7($$self, $$props, $$invalidate) {
3793
+ function instance$9($$self, $$props, $$invalidate) {
3793
3794
  let { pxmm } = $$props;
3794
3795
  let { five } = $$props;
3795
3796
  let { floorIndex } = $$props;
@@ -3832,8 +3833,8 @@ class CurrentFloor$1 extends SvelteComponent {
3832
3833
  init(
3833
3834
  this,
3834
3835
  options,
3835
- instance$7,
3836
- create_fragment$7,
3836
+ instance$9,
3837
+ create_fragment$9,
3837
3838
  safe_not_equal,
3838
3839
  {
3839
3840
  pxmm: 0,
@@ -3846,14 +3847,14 @@ class CurrentFloor$1 extends SvelteComponent {
3846
3847
  onRoomHeightClick: 7,
3847
3848
  getLabelElement: 8
3848
3849
  },
3849
- add_css$6
3850
+ add_css$8
3850
3851
  );
3851
3852
  }
3852
3853
  }
3853
3854
 
3854
3855
  /* src/floorplan/ModelFloorplanPlugin/Components/Main.svelte generated by Svelte v3.47.0 */
3855
3856
 
3856
- function add_css$5(target) {
3857
+ function add_css$7(target) {
3857
3858
  append_styles(target, "svelte-177x2q7", ".floorplan-main.svelte-177x2q7{width:100%;height:100%}");
3858
3859
  }
3859
3860
 
@@ -4058,7 +4059,7 @@ function create_if_block_1(ctx) {
4058
4059
  };
4059
4060
  }
4060
4061
 
4061
- function create_fragment$6(ctx) {
4062
+ function create_fragment$8(ctx) {
4062
4063
  let if_block_anchor;
4063
4064
  let current;
4064
4065
  let if_block = /*visible*/ ctx[4] && create_if_block$2(ctx);
@@ -4113,7 +4114,7 @@ function create_fragment$6(ctx) {
4113
4114
  };
4114
4115
  }
4115
4116
 
4116
- function instance$6($$self, $$props, $$invalidate) {
4117
+ function instance$8($$self, $$props, $$invalidate) {
4117
4118
  let { northDesc } = $$props;
4118
4119
  let { pxmm } = $$props;
4119
4120
  let { five } = $$props;
@@ -4177,8 +4178,8 @@ class Main$1 extends SvelteComponent {
4177
4178
  init(
4178
4179
  this,
4179
4180
  options,
4180
- instance$6,
4181
- create_fragment$6,
4181
+ instance$8,
4182
+ create_fragment$8,
4182
4183
  safe_not_equal,
4183
4184
  {
4184
4185
  northDesc: 0,
@@ -4198,7 +4199,7 @@ class Main$1 extends SvelteComponent {
4198
4199
  onRoomHeightClick: 14,
4199
4200
  getLabelElement: 15
4200
4201
  },
4201
- add_css$5
4202
+ add_css$7
4202
4203
  );
4203
4204
  }
4204
4205
  }
@@ -4430,11 +4431,11 @@ function throttle(func, wait = 200) {
4430
4431
 
4431
4432
  /* src/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte generated by Svelte v3.47.0 */
4432
4433
 
4433
- function add_css$4(target) {
4434
+ function add_css$6(target) {
4434
4435
  append_styles(target, "svelte-o7uo2v", ".plugin-radar__camera-wrapper.svelte-o7uo2v{width:100%;height:100%;position:absolute;pointer-events:none}.plugin-radar__camera-position.svelte-o7uo2v{position:absolute;left:0;top:0;width:0;height:0;transform:none;pointer-events:none;transition:transform 1s linear}.plugin-radar__camera-rotate.svelte-o7uo2v{position:absolute;left:-15px;top:-15px;width:17px;height:17px;transform-origin:15px 15px;transform:rotate(45deg);background-repeat:no-repeat;background-size:100%}");
4435
4436
  }
4436
4437
 
4437
- function create_fragment$5(ctx) {
4438
+ function create_fragment$7(ctx) {
4438
4439
  let div2;
4439
4440
  let div1;
4440
4441
  let div0;
@@ -4477,7 +4478,7 @@ function create_fragment$5(ctx) {
4477
4478
  };
4478
4479
  }
4479
4480
 
4480
- function instance$5($$self, $$props, $$invalidate) {
4481
+ function instance$7($$self, $$props, $$invalidate) {
4481
4482
  let { five } = $$props;
4482
4483
  let { pxmm } = $$props;
4483
4484
  let { floorplanData } = $$props;
@@ -4548,8 +4549,8 @@ class Camera extends SvelteComponent {
4548
4549
  init(
4549
4550
  this,
4550
4551
  options,
4551
- instance$5,
4552
- create_fragment$5,
4552
+ instance$7,
4553
+ create_fragment$7,
4553
4554
  safe_not_equal,
4554
4555
  {
4555
4556
  five: 3,
@@ -4557,25 +4558,25 @@ class Camera extends SvelteComponent {
4557
4558
  floorplanData: 5,
4558
4559
  cameraImageUrl: 0
4559
4560
  },
4560
- add_css$4
4561
+ add_css$6
4561
4562
  );
4562
4563
  }
4563
4564
  }
4564
4565
 
4565
4566
  /* src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte generated by Svelte v3.47.0 */
4566
4567
 
4567
- function add_css$3(target) {
4568
+ function add_css$5(target) {
4568
4569
  append_styles(target, "svelte-8n0d4v", ".plugin-pano-floorplan__extra-objects.svelte-8n0d4v{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.plugin-pano-floorplan__extra-object-item--position.svelte-8n0d4v{position:absolute;width:0;height:0}.plugin-pano-floorplan__extra-object-item.svelte-8n0d4v{transform:translate(-50%, -50%)}");
4569
4570
  }
4570
4571
 
4571
- function get_each_context$1(ctx, list, i) {
4572
+ function get_each_context$2(ctx, list, i) {
4572
4573
  const child_ctx = ctx.slice();
4573
4574
  child_ctx[1] = list[i];
4574
4575
  return child_ctx;
4575
4576
  }
4576
4577
 
4577
4578
  // (5:2) {#each extraObjects as extraObject (extraObject.id)}
4578
- function create_each_block$1(key_1, ctx) {
4579
+ function create_each_block$2(key_1, ctx) {
4579
4580
  let div1;
4580
4581
  let div0;
4581
4582
  let style_width = `${/*extraObject*/ ctx[1].icon.width / 16}rem`;
@@ -4634,7 +4635,7 @@ function create_each_block$1(key_1, ctx) {
4634
4635
  };
4635
4636
  }
4636
4637
 
4637
- function create_fragment$4(ctx) {
4638
+ function create_fragment$6(ctx) {
4638
4639
  let div;
4639
4640
  let each_blocks = [];
4640
4641
  let each_1_lookup = new Map();
@@ -4642,9 +4643,9 @@ function create_fragment$4(ctx) {
4642
4643
  const get_key = ctx => /*extraObject*/ ctx[1].id;
4643
4644
 
4644
4645
  for (let i = 0; i < each_value.length; i += 1) {
4645
- let child_ctx = get_each_context$1(ctx, each_value, i);
4646
+ let child_ctx = get_each_context$2(ctx, each_value, i);
4646
4647
  let key = get_key(child_ctx);
4647
- each_1_lookup.set(key, each_blocks[i] = create_each_block$1(key, child_ctx));
4648
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$2(key, child_ctx));
4648
4649
  }
4649
4650
 
4650
4651
  return {
@@ -4667,7 +4668,7 @@ function create_fragment$4(ctx) {
4667
4668
  p(ctx, [dirty]) {
4668
4669
  if (dirty & /*extraObjects*/ 1) {
4669
4670
  each_value = /*extraObjects*/ ctx[0];
4670
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, destroy_block, create_each_block$1, null, get_each_context$1);
4671
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, destroy_block, create_each_block$2, null, get_each_context$2);
4671
4672
  }
4672
4673
  },
4673
4674
  i: noop,
@@ -4682,7 +4683,7 @@ function create_fragment$4(ctx) {
4682
4683
  };
4683
4684
  }
4684
4685
 
4685
- function instance$4($$self, $$props, $$invalidate) {
4686
+ function instance$6($$self, $$props, $$invalidate) {
4686
4687
  let { extraObjects = [] } = $$props;
4687
4688
 
4688
4689
  $$self.$$set = $$props => {
@@ -4695,7 +4696,7 @@ function instance$4($$self, $$props, $$invalidate) {
4695
4696
  class ExtraObjects extends SvelteComponent {
4696
4697
  constructor(options) {
4697
4698
  super();
4698
- init(this, options, instance$4, create_fragment$4, safe_not_equal, { extraObjects: 0 }, add_css$3);
4699
+ init(this, options, instance$6, create_fragment$6, safe_not_equal, { extraObjects: 0 }, add_css$5);
4699
4700
  }
4700
4701
  }
4701
4702
 
@@ -4761,7 +4762,7 @@ function create_if_block$1(ctx) {
4761
4762
  };
4762
4763
  }
4763
4764
 
4764
- function create_fragment$3(ctx) {
4765
+ function create_fragment$5(ctx) {
4765
4766
  let baseimage;
4766
4767
  let t0;
4767
4768
  let extraobjects;
@@ -4872,7 +4873,7 @@ function create_fragment$3(ctx) {
4872
4873
  };
4873
4874
  }
4874
4875
 
4875
- function instance$3($$self, $$props, $$invalidate) {
4876
+ function instance$5($$self, $$props, $$invalidate) {
4876
4877
  let currentFloorExtraObjects;
4877
4878
  let { five } = $$props;
4878
4879
  let { pxmm } = $$props;
@@ -4913,7 +4914,7 @@ class CurrentFloor extends SvelteComponent {
4913
4914
  constructor(options) {
4914
4915
  super();
4915
4916
 
4916
- init(this, options, instance$3, create_fragment$3, safe_not_equal, {
4917
+ init(this, options, instance$5, create_fragment$5, safe_not_equal, {
4917
4918
  five: 0,
4918
4919
  pxmm: 1,
4919
4920
  floorIndex: 2,
@@ -4926,7 +4927,7 @@ class CurrentFloor extends SvelteComponent {
4926
4927
 
4927
4928
  /* src/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte generated by Svelte v3.47.0 */
4928
4929
 
4929
- function add_css$2(target) {
4930
+ function add_css$4(target) {
4930
4931
  append_styles(target, "svelte-7d8ub2", ".plugin-floorplan-radar.svelte-7d8ub2{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.plugin-floorplan-radar-container.svelte-7d8ub2{position:relative}");
4931
4932
  }
4932
4933
 
@@ -5049,7 +5050,7 @@ function create_if_block(ctx) {
5049
5050
  };
5050
5051
  }
5051
5052
 
5052
- function create_fragment$2(ctx) {
5053
+ function create_fragment$4(ctx) {
5053
5054
  let div;
5054
5055
  let div_resize_listener;
5055
5056
  let current;
@@ -5109,7 +5110,7 @@ function create_fragment$2(ctx) {
5109
5110
  };
5110
5111
  }
5111
5112
 
5112
- function instance$2($$self, $$props, $$invalidate) {
5113
+ function instance$4($$self, $$props, $$invalidate) {
5113
5114
  let { five } = $$props;
5114
5115
  let { hoverEnable } = $$props;
5115
5116
  let { floorplanData } = $$props;
@@ -5192,8 +5193,8 @@ class Main extends SvelteComponent {
5192
5193
  init(
5193
5194
  this,
5194
5195
  options,
5195
- instance$2,
5196
- create_fragment$2,
5196
+ instance$4,
5197
+ create_fragment$4,
5197
5198
  safe_not_equal,
5198
5199
  {
5199
5200
  five: 0,
@@ -5202,7 +5203,7 @@ class Main extends SvelteComponent {
5202
5203
  cameraImageUrl: 3,
5203
5204
  extraObjects: 4
5204
5205
  },
5205
- add_css$2
5206
+ add_css$4
5206
5207
  );
5207
5208
  }
5208
5209
  }
@@ -11905,18 +11906,18 @@ const currentTarget = writable(null);
11905
11906
 
11906
11907
  /* src/PanoSpatialTagPlugin/Components/origins.svelte generated by Svelte v3.47.0 */
11907
11908
 
11908
- function add_css$1(target) {
11909
+ function add_css$3(target) {
11909
11910
  append_styles(target, "svelte-scnx9u", ".PanoSpatialTagPlugin__tag-origin.svelte-scnx9u{position:absolute;width:0.5rem;height:0.5rem;border-radius:50%;background:#fff;box-shadow:0 0 .6rem #fff;transform:translate(-50%, -50%) scale(1);transform-origin:center center;animation:svelte-scnx9u-PanoSpatialTagPlugin__tag-origin 1.2s forwards;pointer-events:auto}.PanoSpatialTagPlugin__tag-origin.svelte-scnx9u:after{content:'';position:absolute;top:50%;height:50%;width:2rem;height:2rem;transform:translate(-50%, -50%)}.PanoSpatialTagPlugin__tag-origin-destroy.svelte-scnx9u{transform:translate(-50%, -50%) scale(0.6);animation:svelte-scnx9u-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s}@keyframes svelte-scnx9u-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@keyframes svelte-scnx9u-PanoSpatialTagPlugin__tag-origin-destroy{0%{transform:translate(-50%, -50%) scale(0.6);opacity:1}10%{transform:translate(-50%, -50%) scale(1);opacity:0.9}100%{transform:translate(-50%, -50%) scale(1);opacity:0}}");
11910
11911
  }
11911
11912
 
11912
- function get_each_context(ctx, list, i) {
11913
+ function get_each_context$1(ctx, list, i) {
11913
11914
  const child_ctx = ctx.slice();
11914
11915
  child_ctx[3] = list[i];
11915
11916
  return child_ctx;
11916
11917
  }
11917
11918
 
11918
11919
  // (8:0) {#each origins as origin}
11919
- function create_each_block(ctx) {
11920
+ function create_each_block$1(ctx) {
11920
11921
  let i;
11921
11922
  let style_top = `${/*origin*/ ctx[3].top}%`;
11922
11923
  let style_left = `${/*origin*/ ctx[3].left}%`;
@@ -11972,13 +11973,13 @@ function create_each_block(ctx) {
11972
11973
  };
11973
11974
  }
11974
11975
 
11975
- function create_fragment$1(ctx) {
11976
+ function create_fragment$3(ctx) {
11976
11977
  let each_1_anchor;
11977
11978
  let each_value = /*origins*/ ctx[0];
11978
11979
  let each_blocks = [];
11979
11980
 
11980
11981
  for (let i = 0; i < each_value.length; i += 1) {
11981
- each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
11982
+ each_blocks[i] = create_each_block$1(get_each_context$1(ctx, each_value, i));
11982
11983
  }
11983
11984
 
11984
11985
  return {
@@ -12002,12 +12003,12 @@ function create_fragment$1(ctx) {
12002
12003
  let i;
12003
12004
 
12004
12005
  for (i = 0; i < each_value.length; i += 1) {
12005
- const child_ctx = get_each_context(ctx, each_value, i);
12006
+ const child_ctx = get_each_context$1(ctx, each_value, i);
12006
12007
 
12007
12008
  if (each_blocks[i]) {
12008
12009
  each_blocks[i].p(child_ctx, dirty);
12009
12010
  } else {
12010
- each_blocks[i] = create_each_block(child_ctx);
12011
+ each_blocks[i] = create_each_block$1(child_ctx);
12011
12012
  each_blocks[i].c();
12012
12013
  each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor);
12013
12014
  }
@@ -12029,7 +12030,7 @@ function create_fragment$1(ctx) {
12029
12030
  };
12030
12031
  }
12031
12032
 
12032
- function instance$1($$self, $$props, $$invalidate) {
12033
+ function instance$3($$self, $$props, $$invalidate) {
12033
12034
  let { origins } = $$props;
12034
12035
 
12035
12036
  const handleClick = id => {
@@ -12048,17 +12049,17 @@ function instance$1($$self, $$props, $$invalidate) {
12048
12049
  class Origins extends SvelteComponent {
12049
12050
  constructor(options) {
12050
12051
  super();
12051
- init(this, options, instance$1, create_fragment$1, safe_not_equal, { origins: 0 }, add_css$1);
12052
+ init(this, options, instance$3, create_fragment$3, safe_not_equal, { origins: 0 }, add_css$3);
12052
12053
  }
12053
12054
  }
12054
12055
 
12055
12056
  /* src/PanoSpatialTagPlugin/Components/tag.svelte generated by Svelte v3.47.0 */
12056
12057
 
12057
- function add_css(target) {
12058
- append_styles(target, "svelte-1xmyxaa", ".PanoSpatialTagPlugin__tag-x.svelte-1xmyxaa.svelte-1xmyxaa{position:relative;display:block;white-space:nowrap;box-sizing:border-box;width:25rem;height:14rem;color:#FFF;transform:translate(0, -100%);transition:height .5s linear}.PanoSpatialTagPlugin__tag-shadow.svelte-1xmyxaa.svelte-1xmyxaa{content:'';position:absolute;width:30rem;height:30rem;top:-15rem;left:-15rem;z-index:-1;opacity:0;transition:opacity .8s .6s;background:url('https://vrlab-image4.ljcdn.com/release/web/PanoSpatialTagPlugin__blur.png');background-size:30rem 30rem}.PanoSpatialTagPlugin__tag-line.svelte-1xmyxaa.svelte-1xmyxaa{position:absolute;left:-1rem;width:2rem;height:100%;overflow:hidden}.PanoSpatialTagPlugin__tag-flagpole.svelte-1xmyxaa.svelte-1xmyxaa{position:absolute;top:0;left:1rem;height:calc(100% - 1.5rem);width:.15rem;background:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, .1));box-shadow:0 .1rem .5rem rgba(0, 0, 0, .2);opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .4s cubic-bezier(.44,.44,.74,.98) , opacity .4s cubic-bezier(.44,.44,.74,.98), width .5s linear, height .5s linear ;transform-origin:center bottom}.PanoSpatialTagPlugin__tag-line1.svelte-1xmyxaa.svelte-1xmyxaa{position:absolute;top:0;left:0.3rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-line2.svelte-1xmyxaa.svelte-1xmyxaa{position:absolute;top:0;left:0.5rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-show.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-line1.svelte-1xmyxaa{animation:svelte-1xmyxaa-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s}.PanoSpatialTagPlugin__tag-show.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-line2.svelte-1xmyxaa{animation:svelte-1xmyxaa-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s}.PanoSpatialTagPlugin__tag-x.PanoSpatialTagPlugin__tag-upside-down.svelte-1xmyxaa.svelte-1xmyxaa{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-line.svelte-1xmyxaa{transform:scaleY(-1)}.PanoSpatialTagPlugin__tag-animate.svelte-1xmyxaa.svelte-1xmyxaa{position:relative;height:100%;overflow:hidden;transform-origin:left top;transition:transform .5s linear}.PanoSpatialTagPlugin__tag-upside-down.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-animate.svelte-1xmyxaa{transform-origin:left bottom}.PanoSpatialTagPlugin__tag-content.svelte-1xmyxaa.svelte-1xmyxaa{position:absolute;display:inline-block;transform:translate(-100%, 0);transition:transform .9s cubic-bezier(0,.65,.16,1.08) .6s;padding-left:.5rem;font-size:1rem}.PanoSpatialTagPlugin__tag-upside-down.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-content.svelte-1xmyxaa{bottom:0}.PanoSpatialTagPlugin__tag-show.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-flagpole.svelte-1xmyxaa{opacity:1;transform:translate(-50%, 0) scaleY(1)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-shadow.svelte-1xmyxaa{top:unset;bottom:-15rem}.PanoSpatialTagPlugin__tag-show.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-shadow.svelte-1xmyxaa{opacity:.32}.PanoSpatialTagPlugin__tag-show.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-content.svelte-1xmyxaa{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-hide.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-flagpole.svelte-1xmyxaa{opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .5s .55s, opacity .4s .55s}.PanoSpatialTagPlugin__tag-hide.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-shadow.svelte-1xmyxaa{opacity:0;transition:opacity .8s}.PanoSpatialTagPlugin__tag-hide.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-content.svelte-1xmyxaa{transform:translate(-100%, 0);transition:transform .6s cubic-bezier(.53,.06,.88,.59)}.PanoSpatialTagPlugin__tag-hide.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-content .svelte-1xmyxaa{pointer-events:none}.PanoSpatialTagPlugin__tag-hide.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-line1.svelte-1xmyxaa{opacity:0.5;transform:translate(-50%, 10%) scaleY(0);animation:svelte-1xmyxaa-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s}.PanoSpatialTagPlugin__tag-hide.svelte-1xmyxaa .PanoSpatialTagPlugin__tag-line2.svelte-1xmyxaa{opacity:0.5;transform:translate(-50%, 0) scaleY(0);animation:svelte-1xmyxaa-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s}@keyframes svelte-1xmyxaa-PanoSpatialTagPlugin__tag-line1{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 135%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 20%) scaleY(0)}}@keyframes svelte-1xmyxaa-PanoSpatialTagPlugin__tag-line2{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 125%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}}@keyframes svelte-1xmyxaa-PanoSpatialTagPlugin__tag-line1-hide{0%{opacity:0.5;transform:translate(-50%, 10%) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 105%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@keyframes svelte-1xmyxaa-PanoSpatialTagPlugin__tag-line2-hide{0%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 100%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}");
12058
+ function add_css$2(target) {
12059
+ append_styles(target, "svelte-1c0xhg0", ".PanoSpatialTagPlugin__tag-x.svelte-1c0xhg0.svelte-1c0xhg0{position:relative;display:block;white-space:nowrap;box-sizing:border-box;width:25rem;height:14rem;color:#FFF;transform:translate(0, -100%);transition:height .5s linear}.PanoSpatialTagPlugin__tag-shadow.svelte-1c0xhg0.svelte-1c0xhg0{content:'';position:absolute;width:30rem;height:30rem;top:-15rem;left:-15rem;z-index:-1;opacity:0;transition:opacity .8s .6s;background:url('https://vrlab-image4.ljcdn.com/release/web/PanoSpatialTagPlugin__blur.png');background-size:30rem 30rem}.PanoSpatialTagPlugin__tag-line.svelte-1c0xhg0.svelte-1c0xhg0{position:absolute;left:-1rem;width:2rem;height:100%;overflow:hidden}.PanoSpatialTagPlugin__tag-flagpole.svelte-1c0xhg0.svelte-1c0xhg0{position:absolute;top:0;left:1rem;height:calc(100% - 1.5rem);width:.15rem;background:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, .1));box-shadow:0 .1rem .5rem rgba(0, 0, 0, .2);opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .4s cubic-bezier(.44,.44,.74,.98) , opacity .4s cubic-bezier(.44,.44,.74,.98), width .5s linear, height .5s linear ;transform-origin:center bottom}.PanoSpatialTagPlugin__tag-line1.svelte-1c0xhg0.svelte-1c0xhg0{position:absolute;top:0;left:0.3rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-line2.svelte-1c0xhg0.svelte-1c0xhg0{position:absolute;top:0;left:0.5rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-show.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-line1.svelte-1c0xhg0{animation:svelte-1c0xhg0-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s}.PanoSpatialTagPlugin__tag-show.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-line2.svelte-1c0xhg0{animation:svelte-1c0xhg0-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s}.PanoSpatialTagPlugin__tag-x.PanoSpatialTagPlugin__tag-upside-down.svelte-1c0xhg0.svelte-1c0xhg0{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-line.svelte-1c0xhg0{transform:scaleY(-1)}.PanoSpatialTagPlugin__tag-animate.svelte-1c0xhg0.svelte-1c0xhg0{position:relative;height:100%;overflow:hidden;transform-origin:left top;transition:transform .5s linear}.PanoSpatialTagPlugin__tag-upside-down.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-animate.svelte-1c0xhg0{transform-origin:left bottom}.PanoSpatialTagPlugin__tag-content.svelte-1c0xhg0.svelte-1c0xhg0{position:absolute;display:inline-block;transform:translate(-100%, 0);transition:transform .9s cubic-bezier(0,.65,.16,1.08) .6s;padding-left:.5rem;font-size:1rem}.PanoSpatialTagPlugin__tag-upside-down.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-content.svelte-1c0xhg0{bottom:0}.PanoSpatialTagPlugin__tag-show.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-flagpole.svelte-1c0xhg0{opacity:1;transform:translate(-50%, 0) scaleY(1)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-shadow.svelte-1c0xhg0{top:unset;bottom:-15rem}.PanoSpatialTagPlugin__tag-show.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-shadow.svelte-1c0xhg0{opacity:.32}.PanoSpatialTagPlugin__tag-show.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-content.svelte-1c0xhg0{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-hide.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-flagpole.svelte-1c0xhg0{opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .5s .55s, opacity .4s .55s}.PanoSpatialTagPlugin__tag-hide.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-shadow.svelte-1c0xhg0{opacity:0;transition:opacity .8s}.PanoSpatialTagPlugin__tag-hide.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-content.svelte-1c0xhg0{transform:translate(-100%, 0);transition:transform .6s cubic-bezier(.53,.06,.88,.59)}.PanoSpatialTagPlugin__tag-hide.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-content .svelte-1c0xhg0{pointer-events:none}.PanoSpatialTagPlugin__tag-hide.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-line1.svelte-1c0xhg0{opacity:0.5;transform:translate(-50%, 10%) scaleY(0);animation:svelte-1c0xhg0-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s}.PanoSpatialTagPlugin__tag-hide.svelte-1c0xhg0 .PanoSpatialTagPlugin__tag-line2.svelte-1c0xhg0{opacity:0.5;transform:translate(-50%, 0) scaleY(0);animation:svelte-1c0xhg0-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s}@keyframes svelte-1c0xhg0-PanoSpatialTagPlugin__tag-line1{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 135%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 20%) scaleY(0)}}@keyframes svelte-1c0xhg0-PanoSpatialTagPlugin__tag-line2{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 125%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}}@keyframes svelte-1c0xhg0-PanoSpatialTagPlugin__tag-line1-hide{0%{opacity:0.5;transform:translate(-50%, 10%) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 105%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@keyframes svelte-1c0xhg0-PanoSpatialTagPlugin__tag-line2-hide{0%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 100%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}");
12059
12060
  }
12060
12061
 
12061
- function create_fragment(ctx) {
12062
+ function create_fragment$2(ctx) {
12062
12063
  let div4;
12063
12064
  let div0;
12064
12065
  let t0;
@@ -12089,19 +12090,19 @@ function create_fragment(ctx) {
12089
12090
  t3 = space();
12090
12091
  div3 = element("div");
12091
12092
  div2 = element("div");
12092
- attr(div0, "class", "PanoSpatialTagPlugin__tag-shadow svelte-1xmyxaa");
12093
+ attr(div0, "class", "PanoSpatialTagPlugin__tag-shadow svelte-1c0xhg0");
12093
12094
  set_style(div0, "transform", "translate(" + /*contentWidth*/ ctx[7] / 2 * /*contentZoom*/ ctx[3] * 3 + "px, " + /*contentHeight*/ ctx[8] / 2 * (/*upsideDown*/ ctx[1] ? -1 : 1) * /*contentZoom*/ ctx[3] * 3 + "px)");
12094
- attr(i0, "class", "PanoSpatialTagPlugin__tag-flagpole svelte-1xmyxaa");
12095
+ attr(i0, "class", "PanoSpatialTagPlugin__tag-flagpole svelte-1c0xhg0");
12095
12096
  set_style(i0, "width", /*lineWidthZoom*/ ctx[4] + "rem");
12096
- attr(i1, "class", "PanoSpatialTagPlugin__tag-line1 svelte-1xmyxaa");
12097
- attr(i2, "class", "PanoSpatialTagPlugin__tag-line2 svelte-1xmyxaa");
12098
- attr(div1, "class", "PanoSpatialTagPlugin__tag-line svelte-1xmyxaa");
12099
- attr(div2, "class", "PanoSpatialTagPlugin__tag-content svelte-1xmyxaa");
12100
- attr(div3, "class", "PanoSpatialTagPlugin__tag-animate svelte-1xmyxaa");
12097
+ attr(i1, "class", "PanoSpatialTagPlugin__tag-line1 svelte-1c0xhg0");
12098
+ attr(i2, "class", "PanoSpatialTagPlugin__tag-line2 svelte-1c0xhg0");
12099
+ attr(div1, "class", "PanoSpatialTagPlugin__tag-line svelte-1c0xhg0");
12100
+ attr(div2, "class", "PanoSpatialTagPlugin__tag-content svelte-1c0xhg0");
12101
+ attr(div3, "class", "PanoSpatialTagPlugin__tag-animate svelte-1c0xhg0");
12101
12102
  set_style(div3, "transform", "scale(" + /*contentZoom*/ ctx[3] * 3 + ")");
12102
12103
  attr(div4, "id", div4_id_value = 'PanoSpatialTagPlugin__' + /*id*/ ctx[0]);
12103
12104
  set_style(div4, "height", 20 * /*lineHeightZoom*/ ctx[5] + "rem");
12104
- attr(div4, "class", "svelte-1xmyxaa");
12105
+ attr(div4, "class", "svelte-1c0xhg0");
12105
12106
  toggle_class(div4, "PanoSpatialTagPlugin__tag-x", true);
12106
12107
  toggle_class(div4, "PanoSpatialTagPlugin__tag-upside-down", /*upsideDown*/ ctx[1]);
12107
12108
  toggle_class(div4, "PanoSpatialTagPlugin__tag-show", /*show*/ ctx[10]);
@@ -12173,7 +12174,7 @@ function create_fragment(ctx) {
12173
12174
  };
12174
12175
  }
12175
12176
 
12176
- function instance($$self, $$props, $$invalidate) {
12177
+ function instance$2($$self, $$props, $$invalidate) {
12177
12178
  let { id } = $$props;
12178
12179
  let { upsideDown } = $$props;
12179
12180
  let { content } = $$props;
@@ -12310,8 +12311,8 @@ class Tag extends SvelteComponent {
12310
12311
  init(
12311
12312
  this,
12312
12313
  options,
12313
- instance,
12314
- create_fragment,
12314
+ instance$2,
12315
+ create_fragment$2,
12315
12316
  safe_not_equal,
12316
12317
  {
12317
12318
  id: 0,
@@ -12326,7 +12327,7 @@ class Tag extends SvelteComponent {
12326
12327
  events: 14,
12327
12328
  hooks: 15
12328
12329
  },
12329
- add_css
12330
+ add_css$2
12330
12331
  );
12331
12332
  }
12332
12333
  }
@@ -12925,4 +12926,647 @@ const PanoSpatialTagPlugin = (five, params) => {
12925
12926
  };
12926
12927
  };
12927
12928
 
12928
- export { CSS3DRenderPlugin, CameraMovementPlugin, FLOOR_PLAN_ATTACHED_TO, ModelChassisCompassPlugin, ModelEntryDoorGuidePlugin, ModelFloorplanPlugin, ModelRoomLabelPlugin, ModelViewPlugin, PanoCompassPlugin, PanoCursorRaycasterPlugin, PanoFloorplanRadarPlugin, PanoMeasurePlugin, PanoRulerPlugin, PanoSpatialTagPlugin, TopviewFloorplanPlugin };
12929
+ var DISPLAY_STRATEGY_TYPE;
12930
+ (function (DISPLAY_STRATEGY_TYPE) {
12931
+ DISPLAY_STRATEGY_TYPE["SMALL"] = "small";
12932
+ DISPLAY_STRATEGY_TYPE["MIDLLE"] = "middle";
12933
+ DISPLAY_STRATEGY_TYPE["LARGE"] = "large";
12934
+ })(DISPLAY_STRATEGY_TYPE || (DISPLAY_STRATEGY_TYPE = {}));
12935
+
12936
+ /* src/ModelItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.47.0 */
12937
+
12938
+ function add_css$1(target) {
12939
+ append_styles(target, "svelte-1mttyji", ".item-label-item.svelte-1mttyji{position:absolute;z-index:0;transform:none;cursor:pointer;pointer-events:none;user-select:none;opacity:0}.item-label-item.visible.svelte-1mttyji{opacity:1;animation:svelte-1mttyji-fadeIn .3s ease-in}.item-label-item__text-wrap.svelte-1mttyji::before{content:'';position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, .3);filter:blur(16px);z-index:-1}.item-label-item__text-wrap.svelte-1mttyji{padding:6px 6px 0;position:absolute;height:20px;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap;line-height:10px;font-size:11px;font-weight:bold;color:#FFEAC0;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center}.item-label-item__text.svelte-1mttyji{padding-bottom:4px;border-top:0 solid;border-left:0 solid;border-right:0 solid;border-bottom:1px solid;border-image:linear-gradient(to right, rgba(234, 208, 154, 0), rgba(234, 208, 154, 100), rgba(234, 208, 154, 0)) 4.5 1 4.5}.item-label-item__bar.svelte-1mttyji{position:absolute;bottom:0;width:1px;background-image:linear-gradient(to bottom, rgba(234, 208, 154, 0), rgba(234, 208, 154, 1))}@keyframes svelte-1mttyji-fadeIn{from{opacity:0\n }to{opacity:1\n }}");
12940
+ }
12941
+
12942
+ function create_fragment$1(ctx) {
12943
+ let div2;
12944
+ let div0;
12945
+ let span;
12946
+
12947
+ let t0_value = (/*itemLabel*/ ctx[0].name.length > 6
12948
+ ? `${/*itemLabel*/ ctx[0].name.slice(0, 6)}...`
12949
+ : /*itemLabel*/ ctx[0].name) + "";
12950
+
12951
+ let t0;
12952
+ let t1;
12953
+ let div1;
12954
+ let div2_class_value;
12955
+ let mounted;
12956
+ let dispose;
12957
+
12958
+ return {
12959
+ c() {
12960
+ div2 = element("div");
12961
+ div0 = element("div");
12962
+ span = element("span");
12963
+ t0 = text(t0_value);
12964
+ t1 = space();
12965
+ div1 = element("div");
12966
+ attr(span, "class", "item-label-item__text svelte-1mttyji");
12967
+ attr(div0, "class", "item-label-item__text-wrap svelte-1mttyji");
12968
+ set_style(div0, "top", `-${/*itemLabel*/ ctx[0].strokeLength + 26}px`);
12969
+ attr(div1, "class", "item-label-item__bar svelte-1mttyji");
12970
+ set_style(div1, "height", `${/*itemLabel*/ ctx[0].strokeLength}px`);
12971
+ attr(div2, "class", div2_class_value = "" + (null_to_empty(classNames("item-label-item", { visible: /*itemLabel*/ ctx[0].visible })) + " svelte-1mttyji"));
12972
+ set_style(div2, "z-index", /*itemLabel*/ ctx[0].zIndex, false);
12973
+ set_style(div2, "transform", /*itemLabel*/ ctx[0].transform, false);
12974
+ },
12975
+ m(target, anchor) {
12976
+ insert(target, div2, anchor);
12977
+ append(div2, div0);
12978
+ append(div0, span);
12979
+ append(span, t0);
12980
+ append(div2, t1);
12981
+ append(div2, div1);
12982
+
12983
+ if (!mounted) {
12984
+ dispose = listen(span, "click", /*onClick*/ ctx[1]);
12985
+ mounted = true;
12986
+ }
12987
+ },
12988
+ p(ctx, [dirty]) {
12989
+ if (dirty & /*itemLabel*/ 1 && t0_value !== (t0_value = (/*itemLabel*/ ctx[0].name.length > 6
12990
+ ? `${/*itemLabel*/ ctx[0].name.slice(0, 6)}...`
12991
+ : /*itemLabel*/ ctx[0].name) + "")) set_data(t0, t0_value);
12992
+
12993
+ if (dirty & /*itemLabel*/ 1) {
12994
+ set_style(div0, "top", `-${/*itemLabel*/ ctx[0].strokeLength + 26}px`);
12995
+ }
12996
+
12997
+ if (dirty & /*itemLabel*/ 1) {
12998
+ set_style(div1, "height", `${/*itemLabel*/ ctx[0].strokeLength}px`);
12999
+ }
13000
+
13001
+ if (dirty & /*itemLabel*/ 1 && div2_class_value !== (div2_class_value = "" + (null_to_empty(classNames("item-label-item", { visible: /*itemLabel*/ ctx[0].visible })) + " svelte-1mttyji"))) {
13002
+ attr(div2, "class", div2_class_value);
13003
+ }
13004
+
13005
+ if (dirty & /*itemLabel*/ 1) {
13006
+ set_style(div2, "z-index", /*itemLabel*/ ctx[0].zIndex, false);
13007
+ }
13008
+
13009
+ if (dirty & /*itemLabel*/ 1) {
13010
+ set_style(div2, "transform", /*itemLabel*/ ctx[0].transform, false);
13011
+ }
13012
+ },
13013
+ i: noop,
13014
+ o: noop,
13015
+ d(detaching) {
13016
+ if (detaching) detach(div2);
13017
+ mounted = false;
13018
+ dispose();
13019
+ }
13020
+ };
13021
+ }
13022
+
13023
+ function instance$1($$self, $$props, $$invalidate) {
13024
+ let { itemLabel } = $$props;
13025
+ let { hooks } = $$props;
13026
+
13027
+ function onClick() {
13028
+ console.log('__onclick___: ', itemLabel);
13029
+ hooks.emit('onLabelClick', itemLabel);
13030
+ }
13031
+
13032
+ $$self.$$set = $$props => {
13033
+ if ('itemLabel' in $$props) $$invalidate(0, itemLabel = $$props.itemLabel);
13034
+ if ('hooks' in $$props) $$invalidate(2, hooks = $$props.hooks);
13035
+ };
13036
+
13037
+ return [itemLabel, onClick, hooks];
13038
+ }
13039
+
13040
+ class ItemLabelItem extends SvelteComponent {
13041
+ constructor(options) {
13042
+ super();
13043
+ init(this, options, instance$1, create_fragment$1, safe_not_equal, { itemLabel: 0, hooks: 2 }, add_css$1);
13044
+ }
13045
+ }
13046
+
13047
+ /* src/ModelItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.47.0 */
13048
+
13049
+ function add_css(target) {
13050
+ append_styles(target, "svelte-rmdeb", ".item-labels-container.svelte-rmdeb{width:100%;height:100%;position:relative}");
13051
+ }
13052
+
13053
+ function get_each_context(ctx, list, i) {
13054
+ const child_ctx = ctx.slice();
13055
+ child_ctx[26] = list[i];
13056
+ return child_ctx;
13057
+ }
13058
+
13059
+ // (179:1) {#each renderItemLabels as itemLabelItem (itemLabelItem.id)}
13060
+ function create_each_block(key_1, ctx) {
13061
+ let first;
13062
+ let itemlabelitem;
13063
+ let current;
13064
+
13065
+ itemlabelitem = new ItemLabelItem({
13066
+ props: {
13067
+ itemLabel: /*itemLabelItem*/ ctx[26],
13068
+ hooks: /*hooks*/ ctx[0]
13069
+ }
13070
+ });
13071
+
13072
+ return {
13073
+ key: key_1,
13074
+ first: null,
13075
+ c() {
13076
+ first = empty();
13077
+ create_component(itemlabelitem.$$.fragment);
13078
+ this.first = first;
13079
+ },
13080
+ m(target, anchor) {
13081
+ insert(target, first, anchor);
13082
+ mount_component(itemlabelitem, target, anchor);
13083
+ current = true;
13084
+ },
13085
+ p(new_ctx, dirty) {
13086
+ ctx = new_ctx;
13087
+ const itemlabelitem_changes = {};
13088
+ if (dirty & /*renderItemLabels*/ 2) itemlabelitem_changes.itemLabel = /*itemLabelItem*/ ctx[26];
13089
+ if (dirty & /*hooks*/ 1) itemlabelitem_changes.hooks = /*hooks*/ ctx[0];
13090
+ itemlabelitem.$set(itemlabelitem_changes);
13091
+ },
13092
+ i(local) {
13093
+ if (current) return;
13094
+ transition_in(itemlabelitem.$$.fragment, local);
13095
+ current = true;
13096
+ },
13097
+ o(local) {
13098
+ transition_out(itemlabelitem.$$.fragment, local);
13099
+ current = false;
13100
+ },
13101
+ d(detaching) {
13102
+ if (detaching) detach(first);
13103
+ destroy_component(itemlabelitem, detaching);
13104
+ }
13105
+ };
13106
+ }
13107
+
13108
+ function create_fragment(ctx) {
13109
+ let div;
13110
+ let each_blocks = [];
13111
+ let each_1_lookup = new Map();
13112
+ let div_resize_listener;
13113
+ let current;
13114
+ let each_value = /*renderItemLabels*/ ctx[1];
13115
+ const get_key = ctx => /*itemLabelItem*/ ctx[26].id;
13116
+
13117
+ for (let i = 0; i < each_value.length; i += 1) {
13118
+ let child_ctx = get_each_context(ctx, each_value, i);
13119
+ let key = get_key(child_ctx);
13120
+ each_1_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));
13121
+ }
13122
+
13123
+ return {
13124
+ c() {
13125
+ div = element("div");
13126
+
13127
+ for (let i = 0; i < each_blocks.length; i += 1) {
13128
+ each_blocks[i].c();
13129
+ }
13130
+
13131
+ attr(div, "class", "item-labels-container svelte-rmdeb");
13132
+ add_render_callback(() => /*div_elementresize_handler*/ ctx[9].call(div));
13133
+ },
13134
+ m(target, anchor) {
13135
+ insert(target, div, anchor);
13136
+
13137
+ for (let i = 0; i < each_blocks.length; i += 1) {
13138
+ each_blocks[i].m(div, null);
13139
+ }
13140
+
13141
+ div_resize_listener = add_resize_listener(div, /*div_elementresize_handler*/ ctx[9].bind(div));
13142
+ current = true;
13143
+ },
13144
+ p(ctx, [dirty]) {
13145
+ if (dirty & /*renderItemLabels, hooks*/ 3) {
13146
+ each_value = /*renderItemLabels*/ ctx[1];
13147
+ group_outros();
13148
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, outro_and_destroy_block, create_each_block, null, get_each_context);
13149
+ check_outros();
13150
+ }
13151
+ },
13152
+ i(local) {
13153
+ if (current) return;
13154
+
13155
+ for (let i = 0; i < each_value.length; i += 1) {
13156
+ transition_in(each_blocks[i]);
13157
+ }
13158
+
13159
+ current = true;
13160
+ },
13161
+ o(local) {
13162
+ for (let i = 0; i < each_blocks.length; i += 1) {
13163
+ transition_out(each_blocks[i]);
13164
+ }
13165
+
13166
+ current = false;
13167
+ },
13168
+ d(detaching) {
13169
+ if (detaching) detach(div);
13170
+
13171
+ for (let i = 0; i < each_blocks.length; i += 1) {
13172
+ each_blocks[i].d();
13173
+ }
13174
+
13175
+ div_resize_listener();
13176
+ }
13177
+ };
13178
+ }
13179
+
13180
+ let cssHeight = 26;
13181
+ let basicWidth = 11;
13182
+
13183
+ function instance($$self, $$props, $$invalidate) {
13184
+ const { Raycaster, Vector3 } = THREE;
13185
+ let { five } = $$props;
13186
+ let { modelOcclusionEnable } = $$props;
13187
+ let { itemLabels } = $$props;
13188
+ let { wrapper } = $$props;
13189
+ let { hooks } = $$props;
13190
+ let { displayStrategyType } = $$props;
13191
+ let curItemLabels = null;
13192
+ let renderItemLabels = null;
13193
+ let wrapperSize = { width: 0, height: 0 };
13194
+ let containerWidth;
13195
+ let containerHeight;
13196
+
13197
+ // 计算重叠
13198
+ let cssOffsetLists = [];
13199
+
13200
+ const getLabelVisible = (five, itemLabel) => {
13201
+ // 虚拟 VR 仅有一层,不考虑楼层信息
13202
+ const raycaster = new Raycaster();
13203
+
13204
+ const cameraPosition = five.camera.position.clone();
13205
+ const modelPosition = new Vector3(itemLabel.modelPosition[0], itemLabel.modelPosition[1], itemLabel.modelPosition[2]);
13206
+
13207
+ // 计算点到相机的位置
13208
+ const vectorDistance = modelPosition.distanceTo(cameraPosition);
13209
+
13210
+ raycaster.set(cameraPosition.clone(), modelPosition.clone().sub(cameraPosition).normalize());
13211
+ const [intersection] = five.model.intersectRaycaster(raycaster);
13212
+ return !(intersection && intersection.distance + 1 < vectorDistance);
13213
+ };
13214
+
13215
+ // cssOffset 获取
13216
+ const getLabelCssOffset = (five, itemLabel) => {
13217
+ const modelPosition = new Vector3(itemLabel.modelPosition[0], itemLabel.modelPosition[1], itemLabel.modelPosition[2]);
13218
+ const cssPosition = five.project2d(modelPosition);
13219
+ const xOffset = cssPosition?.x;
13220
+ const yOffset = cssPosition?.y;
13221
+ return [xOffset, yOffset];
13222
+ };
13223
+
13224
+ const getLabelTransform = cssOffset => {
13225
+ return `translate(${cssOffset[0]}px, ${cssOffset[1]}px)`;
13226
+ };
13227
+
13228
+ // 重叠计算
13229
+ const isOverlap = (cssOffset, widthOffset) => {
13230
+ if (cssOffsetLists.length === 0) {
13231
+ return false;
13232
+ }
13233
+
13234
+ const hasOverlapPoint = cssOffsetLists.find(item => cssOffset[0] >= item[0] - widthOffset && cssOffset[0] <= item[0] + widthOffset || cssOffset[1] >= item[1] - cssHeight && cssOffset[1] <= item[1] + cssHeight);
13235
+ return !!hasOverlapPoint;
13236
+ };
13237
+
13238
+ function getStrokeLength(itemSpaceHeight, type) {
13239
+ switch (type) {
13240
+ case DISPLAY_STRATEGY_TYPE.SMALL:
13241
+ return Math.ceil(-27.78 * itemSpaceHeight + 85);
13242
+ case DISPLAY_STRATEGY_TYPE.MIDLLE:
13243
+ return Math.ceil(-38.9 * itemSpaceHeight + 130);
13244
+ case DISPLAY_STRATEGY_TYPE.LARGE:
13245
+ return Math.ceil(-44.44 * itemSpaceHeight + 140);
13246
+ }
13247
+ }
13248
+
13249
+ const getFormatedItemLabels = (five, labels) => {
13250
+ // 计算位置 & 可见性
13251
+ const newLabels = labels.map(label => {
13252
+ const cssOffset = getLabelCssOffset(five, label);
13253
+ const curLabelWidth = label.name.length * basicWidth;
13254
+ const strokeLength = getStrokeLength(label.modelPosition[1], displayStrategyType);
13255
+
13256
+ // 是否加入碰撞检测
13257
+ const naturalVisible = modelOcclusionEnable
13258
+ ? getLabelVisible(five, label)
13259
+ : true;
13260
+
13261
+ const visible = naturalVisible && !isOverlap([cssOffset[0], cssOffset[1] + strokeLength], curLabelWidth);
13262
+ if (!visible) return { ...label, visible };
13263
+ cssOffsetLists.push(cssOffset);
13264
+
13265
+ // position
13266
+ const transform = getLabelTransform(cssOffset);
13267
+
13268
+ return {
13269
+ ...label,
13270
+ visible,
13271
+ transform,
13272
+ strokeLength
13273
+ };
13274
+ });
13275
+
13276
+ const sortedItemLabelItems = newLabels.filter(({ visible }) => visible).map(label => ({
13277
+ itemLabelItem: label,
13278
+ distance: new Vector3(label.modelPosition[0], label.modelPosition[1], label.modelPosition[2]).clone().distanceTo(five.camera.position)
13279
+ })).sort((a, b) => a.distance - b.distance);
13280
+
13281
+ return newLabels.map(label => {
13282
+ const sortIndex = sortedItemLabelItems.findIndex(item => item.itemLabelItem.id === label.id);
13283
+ if (sortIndex !== undefined) return { ...label, zIndex: sortIndex * 10 };
13284
+ return label;
13285
+ });
13286
+ };
13287
+
13288
+ const onItemLabelUpdate = () => {
13289
+ cssOffsetLists = [];
13290
+ $$invalidate(1, renderItemLabels = getFormatedItemLabels(five, renderItemLabels));
13291
+ };
13292
+
13293
+ beforeUpdate(() => {
13294
+ addDataUpdateListener();
13295
+ });
13296
+
13297
+ onMount(() => {
13298
+ $$invalidate(1, renderItemLabels = itemLabels);
13299
+ curItemLabels = itemLabels;
13300
+ onItemLabelUpdate();
13301
+
13302
+ // five.on('cameraUpdate', onItemLabelUpdate)
13303
+ addResizeListener();
13304
+ });
13305
+
13306
+ const addResizeListener = () => {
13307
+ wrapperSize = {
13308
+ width: wrapper.clientWidth,
13309
+ height: wrapper.clientHeight
13310
+ };
13311
+
13312
+ resizeObserver.observe(wrapper);
13313
+ };
13314
+
13315
+ const addDataUpdateListener = () => {
13316
+ if (curItemLabels !== itemLabels) {
13317
+ $$invalidate(1, renderItemLabels = itemLabels);
13318
+ curItemLabels = itemLabels;
13319
+ console.log('--debug--update--');
13320
+ onItemLabelUpdate();
13321
+ }
13322
+ };
13323
+
13324
+ const resizeObserver = new ResizeObserver(entries => {
13325
+ const entry = entries[0];
13326
+ const target = entry.target;
13327
+ const curWidth = target.clientWidth;
13328
+ const curHeight = target.clientHeight;
13329
+
13330
+ if (wrapperSize.width !== curWidth || wrapperSize.height !== curHeight) {
13331
+ wrapperSize = { width: curWidth, height: curHeight };
13332
+ onItemLabelUpdate();
13333
+ }
13334
+ });
13335
+
13336
+ onDestroy(() => {
13337
+ // five.off('cameraUpdate', onItemLabelUpdate)
13338
+ resizeObserver.unobserve(wrapper);
13339
+
13340
+ curItemLabels = null;
13341
+ $$invalidate(1, renderItemLabels = null);
13342
+ wrapperSize = { width: 0, height: 0 };
13343
+ });
13344
+
13345
+ function div_elementresize_handler() {
13346
+ containerWidth = this.clientWidth;
13347
+ containerHeight = this.clientHeight;
13348
+ $$invalidate(2, containerWidth);
13349
+ $$invalidate(3, containerHeight);
13350
+ }
13351
+
13352
+ $$self.$$set = $$props => {
13353
+ if ('five' in $$props) $$invalidate(4, five = $$props.five);
13354
+ if ('modelOcclusionEnable' in $$props) $$invalidate(5, modelOcclusionEnable = $$props.modelOcclusionEnable);
13355
+ if ('itemLabels' in $$props) $$invalidate(6, itemLabels = $$props.itemLabels);
13356
+ if ('wrapper' in $$props) $$invalidate(7, wrapper = $$props.wrapper);
13357
+ if ('hooks' in $$props) $$invalidate(0, hooks = $$props.hooks);
13358
+ if ('displayStrategyType' in $$props) $$invalidate(8, displayStrategyType = $$props.displayStrategyType);
13359
+ };
13360
+
13361
+ return [
13362
+ hooks,
13363
+ renderItemLabels,
13364
+ containerWidth,
13365
+ containerHeight,
13366
+ five,
13367
+ modelOcclusionEnable,
13368
+ itemLabels,
13369
+ wrapper,
13370
+ displayStrategyType,
13371
+ div_elementresize_handler
13372
+ ];
13373
+ }
13374
+
13375
+ class ItemLabelComponent extends SvelteComponent {
13376
+ constructor(options) {
13377
+ super();
13378
+
13379
+ init(
13380
+ this,
13381
+ options,
13382
+ instance,
13383
+ create_fragment,
13384
+ safe_not_equal,
13385
+ {
13386
+ five: 4,
13387
+ modelOcclusionEnable: 5,
13388
+ itemLabels: 6,
13389
+ wrapper: 7,
13390
+ hooks: 0,
13391
+ displayStrategyType: 8
13392
+ },
13393
+ add_css
13394
+ );
13395
+ }
13396
+ }
13397
+
13398
+ /** @description 转成内部所需数据 */
13399
+ function parseModelItemLabelPluginData(data) {
13400
+ return data.model_item_labels.map(label => ({
13401
+ modelPosition: [label.position[0], label.position[1] + label.size[1], label.position[2]],
13402
+ ...label
13403
+ }));
13404
+ }
13405
+
13406
+ const ModelItemLabelPlugin = (five, params) => {
13407
+ const pluginState = {
13408
+ container: document.createElement('div'),
13409
+ data: null,
13410
+ enabled: true,
13411
+ fiveModeEnabled: undefined,
13412
+ itemLabels: [],
13413
+ wrapper: null,
13414
+ app: undefined,
13415
+ hooks: new Subscribe(),
13416
+ modelOcclusionEnable: params?.modelOcclusionEnable ?? true,
13417
+ displayStrategyType: params?.displayStrategyType ?? DISPLAY_STRATEGY_TYPE.SMALL
13418
+ };
13419
+ pluginState.container.setAttribute('class', 'model-item-label-plugin-container');
13420
+ pluginState.container.style.cssText = `
13421
+ position: absolute;
13422
+ left: 0;
13423
+ top: 0;
13424
+ width: 100%;
13425
+ height: 100%;
13426
+ pointerEvents: none;
13427
+ `;
13428
+ const appendTo = (wrapper) => {
13429
+ pluginState.wrapper = wrapper;
13430
+ wrapper.appendChild(pluginState.container);
13431
+ render();
13432
+ return true;
13433
+ };
13434
+ const load = (data) => {
13435
+ console.log('🐶--当前标签总条数: ', data.model_item_labels.length);
13436
+ pluginState.itemLabels = parseModelItemLabelPluginData(data);
13437
+ render();
13438
+ };
13439
+ const enable = () => {
13440
+ if (pluginState.enabled)
13441
+ return true;
13442
+ pluginState.enabled = true;
13443
+ render();
13444
+ return true;
13445
+ };
13446
+ const disable = () => {
13447
+ if (!pluginState.enabled)
13448
+ return true;
13449
+ pluginState.enabled = false;
13450
+ render();
13451
+ return true;
13452
+ };
13453
+ const dispose = () => {
13454
+ removeListener4Five();
13455
+ pluginState.container.remove();
13456
+ };
13457
+ const handleRerender = () => {
13458
+ if (!pluginState.enabled || !pluginState.fiveModeEnabled)
13459
+ return;
13460
+ disable();
13461
+ };
13462
+ const rerender = (a, b, c) => {
13463
+ if (!pluginState.fiveModeEnabled)
13464
+ return;
13465
+ if (!c)
13466
+ return;
13467
+ enable();
13468
+ render();
13469
+ };
13470
+ const handleInteriaPanRerender = (a, b) => {
13471
+ if (!pluginState.fiveModeEnabled)
13472
+ return;
13473
+ if (!b)
13474
+ return;
13475
+ enable();
13476
+ render();
13477
+ };
13478
+ const handleWantsPanGesture = (pose, final) => {
13479
+ if (pose) {
13480
+ handleRerender();
13481
+ }
13482
+ };
13483
+ const handlePanGesture = (pose, final) => {
13484
+ if (!pluginState.fiveModeEnabled)
13485
+ return;
13486
+ if (!final)
13487
+ return;
13488
+ enable();
13489
+ render();
13490
+ };
13491
+ const render = () => {
13492
+ if (!pluginState.wrapper)
13493
+ return;
13494
+ // 只要不可展示,销毁容器
13495
+ if (!pluginState.enabled || !pluginState.fiveModeEnabled) {
13496
+ pluginState.app?.$destroy();
13497
+ pluginState.app = undefined;
13498
+ return;
13499
+ }
13500
+ // 正常显示时,分为 app 存在和不存在两种情况,如果存在,传值,不存在则初始化并传值
13501
+ if (!pluginState.app) {
13502
+ pluginState.app = new ItemLabelComponent({
13503
+ target: pluginState.container,
13504
+ props: {
13505
+ five: five,
13506
+ modelOcclusionEnable: pluginState.modelOcclusionEnable,
13507
+ itemLabels: pluginState.itemLabels,
13508
+ wrapper: pluginState.wrapper,
13509
+ hooks: pluginState.hooks,
13510
+ displayStrategyType: pluginState.displayStrategyType
13511
+ }
13512
+ });
13513
+ }
13514
+ else {
13515
+ pluginState.app.$set({
13516
+ five: five,
13517
+ itemLabels: pluginState.itemLabels
13518
+ });
13519
+ }
13520
+ };
13521
+ // 添加 five 监听
13522
+ const addListener4Five = () => {
13523
+ five.on('modeChange', onFiveModeChange);
13524
+ five.once('dispose', dispose);
13525
+ // five.on('wantsGesture', handleRerender)
13526
+ // five.on('gesture', rerender)
13527
+ five.on('wantsMouseWheel', handleRerender);
13528
+ five.on('mouseWheel', rerender);
13529
+ five.on('wantsInteriaPan', handleRerender);
13530
+ five.on('interiaPan', handleInteriaPanRerender);
13531
+ five.on('wantsPanGesture', handleWantsPanGesture);
13532
+ five.on('panGesture', handlePanGesture);
13533
+ five.on('wantsPinchGesture', handleRerender);
13534
+ five.on('pinchGesture', rerender);
13535
+ };
13536
+ // 取消 five 监听
13537
+ const removeListener4Five = () => {
13538
+ five.off('modeChange', onFiveModeChange);
13539
+ // five.off('wantsGesture', handleRerender)
13540
+ // five.off('gesture', rerender)
13541
+ five.off('wantsMouseWheel', handleRerender);
13542
+ five.off('mouseWheel', rerender);
13543
+ five.off('wantsInteriaPan', handleRerender);
13544
+ five.off('interiaPan', handleInteriaPanRerender);
13545
+ five.off('wantsPanGesture', handleWantsPanGesture);
13546
+ five.off('panGesture', handlePanGesture);
13547
+ five.off('wantsPinchGesture', handleRerender);
13548
+ five.off('pinchGesture', rerender);
13549
+ };
13550
+ const onFiveModeChange = (mode) => {
13551
+ if (mode !== Five.Mode.Floorplan) {
13552
+ pluginState.fiveModeEnabled = false;
13553
+ render();
13554
+ return;
13555
+ }
13556
+ five.once('initAnimationEnded', () => {
13557
+ pluginState.fiveModeEnabled = five.currentMode === Five.Mode.Floorplan;
13558
+ render();
13559
+ });
13560
+ };
13561
+ addListener4Five();
13562
+ return {
13563
+ appendTo,
13564
+ load,
13565
+ enable,
13566
+ disable,
13567
+ dispose,
13568
+ hooks: pluginState.hooks
13569
+ };
13570
+ };
13571
+
13572
+ export { CSS3DRenderPlugin, CameraMovementPlugin, FLOOR_PLAN_ATTACHED_TO, ModelChassisCompassPlugin, ModelEntryDoorGuidePlugin, ModelFloorplanPlugin, ModelItemLabelPlugin, ModelRoomLabelPlugin, ModelViewPlugin, PanoCompassPlugin, PanoCursorRaycasterPlugin, PanoFloorplanRadarPlugin, PanoMeasurePlugin, PanoRulerPlugin, PanoSpatialTagPlugin, TopviewFloorplanPlugin };