@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.umd.js CHANGED
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('three'), require('three/examples/jsm/renderers/CSS3DRenderer'), require('@realsee/five/line'), require('svelte/internal'), require('svelte'), require('svelte/easing'), require('svelte/transition'), require('@realsee/five'), require('three/examples/jsm/loaders/FBXLoader'), require('@tweenjs/tween.js'), require('svelte/store')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'three', 'three/examples/jsm/renderers/CSS3DRenderer', '@realsee/five/line', 'svelte/internal', 'svelte', 'svelte/easing', 'svelte/transition', '@realsee/five', 'three/examples/jsm/loaders/FBXLoader', '@tweenjs/tween.js', 'svelte/store'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.dnalogel = {}, global.THREE, global.CSS3DRenderer, global.FiveSDK_Line, global.internal, global.svelte, global.easing, global.transition, global.five, global.FBXLoader, global.TWEEN, global.store));
5
- })(this, (function (exports, THREE, CSS3DRenderer, line, internal, svelte, easing, transition, five, FBXLoader, TWEEN, store) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('three'), require('three/examples/jsm/renderers/CSS3DRenderer'), require('@realsee/five/line'), require('svelte/internal'), require('svelte'), require('svelte/easing'), require('svelte/transition'), require('@realsee/five'), require('three/examples/jsm/loaders/FBXLoader'), require('@tweenjs/tween.js'), require('svelte/store'), require('classnames')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'three', 'three/examples/jsm/renderers/CSS3DRenderer', '@realsee/five/line', 'svelte/internal', 'svelte', 'svelte/easing', 'svelte/transition', '@realsee/five', 'three/examples/jsm/loaders/FBXLoader', '@tweenjs/tween.js', 'svelte/store', 'classnames'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.dnalogel = {}, global.THREE, global.CSS3DRenderer, global.FiveSDK_Line, global.internal, global.svelte, global.easing, global.transition, global.five, global.FBXLoader, global.TWEEN, global.store, global.classNames));
5
+ })(this, (function (exports, THREE, CSS3DRenderer, line, internal, svelte, easing, transition, five, FBXLoader, TWEEN, store, classNames) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -42,6 +42,7 @@
42
42
  var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
43
43
  var TWEEN__namespace = /*#__PURE__*/_interopNamespace(TWEEN);
44
44
  var TWEEN__default = /*#__PURE__*/_interopDefaultLegacy(TWEEN);
45
+ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
45
46
 
46
47
  /**
47
48
  * Five 模型插件
@@ -487,11 +488,11 @@
487
488
 
488
489
  /* src/ModelRoomLabelPlugin/RoomLabelItem.svelte generated by Svelte v3.47.0 */
489
490
 
490
- function add_css$j(target) {
491
+ function add_css$l(target) {
491
492
  internal.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}");
492
493
  }
493
494
 
494
- function create_fragment$o(ctx) {
495
+ function create_fragment$q(ctx) {
495
496
  let div1;
496
497
  let span;
497
498
  let t0_value = /*roomLabel*/ ctx[0].name + "";
@@ -558,7 +559,7 @@
558
559
  };
559
560
  }
560
561
 
561
- function instance$o($$self, $$props, $$invalidate) {
562
+ function instance$q($$self, $$props, $$invalidate) {
562
563
  let { five } = $$props;
563
564
  let { roomLabel } = $$props;
564
565
 
@@ -581,24 +582,24 @@
581
582
  class RoomLabelItem extends internal.SvelteComponent {
582
583
  constructor(options) {
583
584
  super();
584
- internal.init(this, options, instance$o, create_fragment$o, internal.safe_not_equal, { five: 2, roomLabel: 0 }, add_css$j);
585
+ internal.init(this, options, instance$q, create_fragment$q, internal.safe_not_equal, { five: 2, roomLabel: 0 }, add_css$l);
585
586
  }
586
587
  }
587
588
 
588
589
  /* src/ModelRoomLabelPlugin/RoomLabelItems.svelte generated by Svelte v3.47.0 */
589
590
 
590
- function add_css$i(target) {
591
+ function add_css$k(target) {
591
592
  internal.append_styles(target, "svelte-185yvaa", ".room-labels-container.svelte-185yvaa{width:100%;height:100%;position:relative;color:#fff}");
592
593
  }
593
594
 
594
- function get_each_context$7(ctx, list, i) {
595
+ function get_each_context$8(ctx, list, i) {
595
596
  const child_ctx = ctx.slice();
596
597
  child_ctx[9] = list[i];
597
598
  return child_ctx;
598
599
  }
599
600
 
600
601
  // (70:2) {#each roomLabels as roomLableItem (roomLableItem.id)}
601
- function create_each_block$7(key_1, ctx) {
602
+ function create_each_block$8(key_1, ctx) {
602
603
  let first;
603
604
  let roomlabelitem;
604
605
  let current;
@@ -646,7 +647,7 @@
646
647
  };
647
648
  }
648
649
 
649
- function create_fragment$n(ctx) {
650
+ function create_fragment$p(ctx) {
650
651
  let div;
651
652
  let each_blocks = [];
652
653
  let each_1_lookup = new Map();
@@ -656,9 +657,9 @@
656
657
  const get_key = ctx => /*roomLableItem*/ ctx[9].id;
657
658
 
658
659
  for (let i = 0; i < each_value.length; i += 1) {
659
- let child_ctx = get_each_context$7(ctx, each_value, i);
660
+ let child_ctx = get_each_context$8(ctx, each_value, i);
660
661
  let key = get_key(child_ctx);
661
- each_1_lookup.set(key, each_blocks[i] = create_each_block$7(key, child_ctx));
662
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$8(key, child_ctx));
662
663
  }
663
664
 
664
665
  return {
@@ -686,7 +687,7 @@
686
687
  if (dirty & /*roomLabels, five*/ 3) {
687
688
  each_value = /*roomLabels*/ ctx[0];
688
689
  internal.group_outros();
689
- each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.outro_and_destroy_block, create_each_block$7, null, get_each_context$7);
690
+ each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.outro_and_destroy_block, create_each_block$8, null, get_each_context$8);
690
691
  internal.check_outros();
691
692
  }
692
693
  },
@@ -718,7 +719,7 @@
718
719
  };
719
720
  }
720
721
 
721
- function instance$n($$self, $$props, $$invalidate) {
722
+ function instance$p($$self, $$props, $$invalidate) {
722
723
  let { five } = $$props;
723
724
  let { roomLabels } = $$props;
724
725
  let containerWidth;
@@ -752,7 +753,7 @@
752
753
 
753
754
  function getFormatedRoomLabels(five, labels) {
754
755
  const newLabels = labels.map(roomLabelItem => {
755
- // 计算是否可见,入股不可见,不会更新位置
756
+ // 计算是否可见,如果不可见,不会更新位置
756
757
  const visible = getLabelVisible(five, roomLabelItem);
757
758
 
758
759
  if (!visible) return { ...roomLabelItem, visible };
@@ -809,7 +810,7 @@
809
810
  class RoomLabelItems extends internal.SvelteComponent {
810
811
  constructor(options) {
811
812
  super();
812
- internal.init(this, options, instance$n, create_fragment$n, internal.safe_not_equal, { five: 1, roomLabels: 0 }, add_css$i);
813
+ internal.init(this, options, instance$p, create_fragment$p, internal.safe_not_equal, { five: 1, roomLabels: 0 }, add_css$k);
813
814
  }
814
815
  }
815
816
 
@@ -1163,11 +1164,11 @@
1163
1164
 
1164
1165
  /* src/floorplan/ModelFloorplanPlugin/Components/Camera.svelte generated by Svelte v3.47.0 */
1165
1166
 
1166
- function add_css$h(target) {
1167
+ function add_css$j(target) {
1167
1168
  internal.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%}");
1168
1169
  }
1169
1170
 
1170
- function create_fragment$m(ctx) {
1171
+ function create_fragment$o(ctx) {
1171
1172
  let div1;
1172
1173
  let div0;
1173
1174
 
@@ -1204,7 +1205,7 @@
1204
1205
  };
1205
1206
  }
1206
1207
 
1207
- function instance$m($$self, $$props, $$invalidate) {
1208
+ function instance$o($$self, $$props, $$invalidate) {
1208
1209
  let { panoIndex } = $$props;
1209
1210
  let { floorplanData } = $$props;
1210
1211
  let { lastPanoramaLongitude } = $$props;
@@ -1250,8 +1251,8 @@
1250
1251
  internal.init(
1251
1252
  this,
1252
1253
  options,
1253
- instance$m,
1254
- create_fragment$m,
1254
+ instance$o,
1255
+ create_fragment$o,
1255
1256
  internal.safe_not_equal,
1256
1257
  {
1257
1258
  panoIndex: 5,
@@ -1259,7 +1260,7 @@
1259
1260
  lastPanoramaLongitude: 7,
1260
1261
  cameraImageUrl: 0
1261
1262
  },
1262
- add_css$h
1263
+ add_css$j
1263
1264
  );
1264
1265
  }
1265
1266
  }
@@ -1268,7 +1269,7 @@
1268
1269
 
1269
1270
  /* src/floorplan/ModelFloorplanPlugin/Components/Compass.svelte generated by Svelte v3.47.0 */
1270
1271
 
1271
- function add_css$g(target) {
1272
+ function add_css$i(target) {
1272
1273
  internal.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}");
1273
1274
  }
1274
1275
 
@@ -1309,7 +1310,7 @@
1309
1310
  };
1310
1311
  }
1311
1312
 
1312
- function create_fragment$l(ctx) {
1313
+ function create_fragment$n(ctx) {
1313
1314
  let if_block_anchor;
1314
1315
  let if_block = /*northRad*/ ctx[1] && create_if_block$8(ctx);
1315
1316
 
@@ -1338,7 +1339,7 @@
1338
1339
  return rad / Math.PI * 180;
1339
1340
  }
1340
1341
 
1341
- function instance$l($$self, $$props, $$invalidate) {
1342
+ function instance$n($$self, $$props, $$invalidate) {
1342
1343
  let { floorplanData } = $$props;
1343
1344
  let { northDesc } = $$props;
1344
1345
  const northRad = floorplanData.entrance?.northRad;
@@ -1356,13 +1357,13 @@
1356
1357
  class Compass extends internal.SvelteComponent {
1357
1358
  constructor(options) {
1358
1359
  super();
1359
- internal.init(this, options, instance$l, create_fragment$l, internal.safe_not_equal, { floorplanData: 3, northDesc: 0 }, add_css$g);
1360
+ internal.init(this, options, instance$n, create_fragment$n, internal.safe_not_equal, { floorplanData: 3, northDesc: 0 }, add_css$i);
1360
1361
  }
1361
1362
  }
1362
1363
 
1363
1364
  /* src/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte generated by Svelte v3.47.0 */
1364
1365
 
1365
- function add_css$f(target) {
1366
+ function add_css$h(target) {
1366
1367
  internal.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}");
1367
1368
  }
1368
1369
 
@@ -1427,7 +1428,7 @@
1427
1428
  };
1428
1429
  }
1429
1430
 
1430
- function create_fragment$k(ctx) {
1431
+ function create_fragment$m(ctx) {
1431
1432
  let div;
1432
1433
 
1433
1434
  function select_block_type(ctx, dirty) {
@@ -1476,7 +1477,7 @@
1476
1477
  };
1477
1478
  }
1478
1479
 
1479
- function instance$k($$self, $$props, $$invalidate) {
1480
+ function instance$m($$self, $$props, $$invalidate) {
1480
1481
  let userConfigElement;
1481
1482
  let { room } = $$props;
1482
1483
  let { getLabelElement } = $$props;
@@ -1508,17 +1509,17 @@
1508
1509
  class RoomLabel extends internal.SvelteComponent {
1509
1510
  constructor(options) {
1510
1511
  super();
1511
- internal.init(this, options, instance$k, create_fragment$k, internal.safe_not_equal, { room: 0, getLabelElement: 1 }, add_css$f);
1512
+ internal.init(this, options, instance$m, create_fragment$m, internal.safe_not_equal, { room: 0, getLabelElement: 1 }, add_css$h);
1512
1513
  }
1513
1514
  }
1514
1515
 
1515
1516
  /* src/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte generated by Svelte v3.47.0 */
1516
1517
 
1517
- function add_css$e(target) {
1518
+ function add_css$g(target) {
1518
1519
  internal.append_styles(target, "svelte-sw25w3", ".floorplan-plugin__room-labels.svelte-sw25w3{width:100%;height:100%;position:absolute;left:0;top:0;z-index:20}");
1519
1520
  }
1520
1521
 
1521
- function get_each_context$6(ctx, list, i) {
1522
+ function get_each_context$7(ctx, list, i) {
1522
1523
  const child_ctx = ctx.slice();
1523
1524
  child_ctx[4] = list[i];
1524
1525
  return child_ctx;
@@ -1534,9 +1535,9 @@
1534
1535
  const get_key = ctx => /*room*/ ctx[4].id;
1535
1536
 
1536
1537
  for (let i = 0; i < each_value.length; i += 1) {
1537
- let child_ctx = get_each_context$6(ctx, each_value, i);
1538
+ let child_ctx = get_each_context$7(ctx, each_value, i);
1538
1539
  let key = get_key(child_ctx);
1539
- each_1_lookup.set(key, each_blocks[i] = create_each_block$6(key, child_ctx));
1540
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$7(key, child_ctx));
1540
1541
  }
1541
1542
 
1542
1543
  return {
@@ -1562,7 +1563,7 @@
1562
1563
  if (dirty & /*rooms, getLabelElement*/ 3) {
1563
1564
  each_value = /*rooms*/ ctx[1];
1564
1565
  internal.group_outros();
1565
- each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.outro_and_destroy_block, create_each_block$6, null, get_each_context$6);
1566
+ each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.outro_and_destroy_block, create_each_block$7, null, get_each_context$7);
1566
1567
  internal.check_outros();
1567
1568
  }
1568
1569
  },
@@ -1593,7 +1594,7 @@
1593
1594
  }
1594
1595
 
1595
1596
  // (10:4) {#each rooms as room (room.id)}
1596
- function create_each_block$6(key_1, ctx) {
1597
+ function create_each_block$7(key_1, ctx) {
1597
1598
  let first;
1598
1599
  let roomlabel;
1599
1600
  let current;
@@ -1656,7 +1657,7 @@
1656
1657
  };
1657
1658
  }
1658
1659
 
1659
- function create_fragment$j(ctx) {
1660
+ function create_fragment$l(ctx) {
1660
1661
  let if_block_anchor;
1661
1662
  let current;
1662
1663
  let if_block = /*rooms*/ ctx[1] && create_if_block$6(ctx);
@@ -1711,7 +1712,7 @@
1711
1712
  };
1712
1713
  }
1713
1714
 
1714
- function instance$j($$self, $$props, $$invalidate) {
1715
+ function instance$l($$self, $$props, $$invalidate) {
1715
1716
  let rooms;
1716
1717
  let { floorIndex } = $$props;
1717
1718
  let { floorplanData } = $$props;
@@ -1739,15 +1740,15 @@
1739
1740
  internal.init(
1740
1741
  this,
1741
1742
  options,
1742
- instance$j,
1743
- create_fragment$j,
1743
+ instance$l,
1744
+ create_fragment$l,
1744
1745
  internal.safe_not_equal,
1745
1746
  {
1746
1747
  floorIndex: 2,
1747
1748
  floorplanData: 3,
1748
1749
  getLabelElement: 0
1749
1750
  },
1750
- add_css$e
1751
+ add_css$g
1751
1752
  );
1752
1753
  }
1753
1754
  }
@@ -1766,11 +1767,11 @@
1766
1767
 
1767
1768
  /* src/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte generated by Svelte v3.47.0 */
1768
1769
 
1769
- function add_css$d(target) {
1770
+ function add_css$f(target) {
1770
1771
  internal.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%)}");
1771
1772
  }
1772
1773
 
1773
- function get_each_context$5(ctx, list, i) {
1774
+ function get_each_context$6(ctx, list, i) {
1774
1775
  const child_ctx = ctx.slice();
1775
1776
  child_ctx[24] = list[i];
1776
1777
  child_ctx[26] = i;
@@ -1811,7 +1812,7 @@
1811
1812
  }
1812
1813
 
1813
1814
  // (69:2) {#each textArray as textItem, textItemIndex (textItemIndex)}
1814
- function create_each_block$5(key_1, ctx) {
1815
+ function create_each_block$6(key_1, ctx) {
1815
1816
  let div;
1816
1817
  let span;
1817
1818
  let t0_value = /*textItem*/ ctx[24].distance + "";
@@ -1850,7 +1851,7 @@
1850
1851
  };
1851
1852
  }
1852
1853
 
1853
- function create_fragment$i(ctx) {
1854
+ function create_fragment$k(ctx) {
1854
1855
  let div1;
1855
1856
  let div0;
1856
1857
  let t0;
@@ -1873,9 +1874,9 @@
1873
1874
  const get_key_1 = ctx => /*textItemIndex*/ ctx[26];
1874
1875
 
1875
1876
  for (let i = 0; i < each_value.length; i += 1) {
1876
- let child_ctx = get_each_context$5(ctx, each_value, i);
1877
+ let child_ctx = get_each_context$6(ctx, each_value, i);
1877
1878
  let key = get_key_1(child_ctx);
1878
- each1_lookup.set(key, each_blocks[i] = create_each_block$5(key, child_ctx));
1879
+ each1_lookup.set(key, each_blocks[i] = create_each_block$6(key, child_ctx));
1879
1880
  }
1880
1881
 
1881
1882
  return {
@@ -1923,7 +1924,7 @@
1923
1924
 
1924
1925
  if (dirty & /*isLeft, isTop, isRight, isBottom, textArray, isRow*/ 1086) {
1925
1926
  each_value = /*textArray*/ ctx[10];
1926
- each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key_1, 1, ctx, each_value, each1_lookup, div1, internal.destroy_block, create_each_block$5, null, get_each_context$5);
1927
+ each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key_1, 1, ctx, each_value, each1_lookup, div1, internal.destroy_block, create_each_block$6, null, get_each_context$6);
1927
1928
  }
1928
1929
 
1929
1930
  if (dirty & /*type*/ 1 && div1_class_value !== (div1_class_value = "floorplan-plugin__rule-labels floorplan-plugin__rule-labels-" + /*type*/ ctx[0] + " svelte-1rr09in")) {
@@ -1948,7 +1949,7 @@
1948
1949
 
1949
1950
  const padding = 1000;
1950
1951
 
1951
- function instance$i($$self, $$props, $$invalidate) {
1952
+ function instance$k($$self, $$props, $$invalidate) {
1952
1953
  let { pxmm } = $$props;
1953
1954
  let { type } = $$props;
1954
1955
  let { data } = $$props;
@@ -2030,8 +2031,8 @@
2030
2031
  internal.init(
2031
2032
  this,
2032
2033
  options,
2033
- instance$i,
2034
- create_fragment$i,
2034
+ instance$k,
2035
+ create_fragment$k,
2035
2036
  internal.safe_not_equal,
2036
2037
  {
2037
2038
  pxmm: 11,
@@ -2039,14 +2040,14 @@
2039
2040
  data: 12,
2040
2041
  bounding: 13
2041
2042
  },
2042
- add_css$d
2043
+ add_css$f
2043
2044
  );
2044
2045
  }
2045
2046
  }
2046
2047
 
2047
2048
  /* src/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte generated by Svelte v3.47.0 */
2048
2049
 
2049
- function get_each_context$4(ctx, list, i) {
2050
+ function get_each_context$5(ctx, list, i) {
2050
2051
  const child_ctx = ctx.slice();
2051
2052
  child_ctx[7] = list[i][0];
2052
2053
  child_ctx[8] = list[i][1];
@@ -2054,7 +2055,7 @@
2054
2055
  }
2055
2056
 
2056
2057
  // (12:2) {#each ruleLabelArray as [type, data] (type)}
2057
- function create_each_block$4(key_1, ctx) {
2058
+ function create_each_block$5(key_1, ctx) {
2058
2059
  let first;
2059
2060
  let ruleitem;
2060
2061
  let current;
@@ -2121,7 +2122,7 @@
2121
2122
  };
2122
2123
  }
2123
2124
 
2124
- function create_fragment$h(ctx) {
2125
+ function create_fragment$j(ctx) {
2125
2126
  let div;
2126
2127
  let each_blocks = [];
2127
2128
  let each_1_lookup = new Map();
@@ -2130,9 +2131,9 @@
2130
2131
  const get_key = ctx => /*type*/ ctx[7];
2131
2132
 
2132
2133
  for (let i = 0; i < each_value.length; i += 1) {
2133
- let child_ctx = get_each_context$4(ctx, each_value, i);
2134
+ let child_ctx = get_each_context$5(ctx, each_value, i);
2134
2135
  let key = get_key(child_ctx);
2135
- each_1_lookup.set(key, each_blocks[i] = create_each_block$4(key, child_ctx));
2136
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$5(key, child_ctx));
2136
2137
  }
2137
2138
 
2138
2139
  return {
@@ -2158,7 +2159,7 @@
2158
2159
  if (dirty & /*ruleLabelArray, pxmm, bounding*/ 7) {
2159
2160
  each_value = /*ruleLabelArray*/ ctx[1];
2160
2161
  internal.group_outros();
2161
- each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.outro_and_destroy_block, create_each_block$4, null, get_each_context$4);
2162
+ each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.outro_and_destroy_block, create_each_block$5, null, get_each_context$5);
2162
2163
  internal.check_outros();
2163
2164
  }
2164
2165
  },
@@ -2188,7 +2189,7 @@
2188
2189
  };
2189
2190
  }
2190
2191
 
2191
- function instance$h($$self, $$props, $$invalidate) {
2192
+ function instance$j($$self, $$props, $$invalidate) {
2192
2193
  let bounding;
2193
2194
  let ruleLabelData;
2194
2195
  let ruleLabelDataKeys;
@@ -2235,17 +2236,17 @@
2235
2236
  class RuleLabels extends internal.SvelteComponent {
2236
2237
  constructor(options) {
2237
2238
  super();
2238
- internal.init(this, options, instance$h, create_fragment$h, internal.safe_not_equal, { pxmm: 0, floorIndex: 3, floorplanData: 4 });
2239
+ internal.init(this, options, instance$j, create_fragment$j, internal.safe_not_equal, { pxmm: 0, floorIndex: 3, floorplanData: 4 });
2239
2240
  }
2240
2241
  }
2241
2242
 
2242
2243
  /* src/floorplan/Components/Normalmage.svelte generated by Svelte v3.47.0 */
2243
2244
 
2244
- function add_css$c(target) {
2245
+ function add_css$e(target) {
2245
2246
  internal.append_styles(target, "svelte-1cuuebb", "img.svelte-1cuuebb{width:100%;height:100%}");
2246
2247
  }
2247
2248
 
2248
- function create_fragment$g(ctx) {
2249
+ function create_fragment$i(ctx) {
2249
2250
  let img;
2250
2251
  let img_src_value;
2251
2252
 
@@ -2272,7 +2273,7 @@
2272
2273
  };
2273
2274
  }
2274
2275
 
2275
- function instance$g($$self, $$props, $$invalidate) {
2276
+ function instance$i($$self, $$props, $$invalidate) {
2276
2277
  let { url } = $$props;
2277
2278
 
2278
2279
  $$self.$$set = $$props => {
@@ -2285,17 +2286,17 @@
2285
2286
  class Normalmage extends internal.SvelteComponent {
2286
2287
  constructor(options) {
2287
2288
  super();
2288
- internal.init(this, options, instance$g, create_fragment$g, internal.safe_not_equal, { url: 0 }, add_css$c);
2289
+ internal.init(this, options, instance$i, create_fragment$i, internal.safe_not_equal, { url: 0 }, add_css$e);
2289
2290
  }
2290
2291
  }
2291
2292
 
2292
2293
  /* src/floorplan/Components/SvgImage.svelte generated by Svelte v3.47.0 */
2293
2294
 
2294
- function add_css$b(target) {
2295
+ function add_css$d(target) {
2295
2296
  internal.append_styles(target, "svelte-1qqy56u", ".floorplan-plugin__base-image.svelte-1qqy56u{width:100%;height:100%}");
2296
2297
  }
2297
2298
 
2298
- function create_fragment$f(ctx) {
2299
+ function create_fragment$h(ctx) {
2299
2300
  let div;
2300
2301
  let html_tag;
2301
2302
  let t;
@@ -2328,7 +2329,7 @@
2328
2329
  };
2329
2330
  }
2330
2331
 
2331
- function instance$f($$self, $$props, $$invalidate) {
2332
+ function instance$h($$self, $$props, $$invalidate) {
2332
2333
  let { content } = $$props;
2333
2334
 
2334
2335
  const svgStyle = `
@@ -2353,13 +2354,13 @@
2353
2354
  class SvgImage extends internal.SvelteComponent {
2354
2355
  constructor(options) {
2355
2356
  super();
2356
- internal.init(this, options, instance$f, create_fragment$f, internal.safe_not_equal, { content: 0 }, add_css$b);
2357
+ internal.init(this, options, instance$h, create_fragment$h, internal.safe_not_equal, { content: 0 }, add_css$d);
2357
2358
  }
2358
2359
  }
2359
2360
 
2360
2361
  /* src/floorplan/Components/BaseImage.svelte generated by Svelte v3.47.0 */
2361
2362
 
2362
- function add_css$a(target) {
2363
+ function add_css$c(target) {
2363
2364
  internal.append_styles(target, "svelte-126ja8e", ".floorplan-plugin__base-image.svelte-126ja8e{position:absolute;z-index:10;width:100%;height:100%;pointer-events:none}");
2364
2365
  }
2365
2366
 
@@ -2434,7 +2435,7 @@
2434
2435
  };
2435
2436
  }
2436
2437
 
2437
- function create_fragment$e(ctx) {
2438
+ function create_fragment$g(ctx) {
2438
2439
  let div;
2439
2440
  let current_block_type_index;
2440
2441
  let if_block;
@@ -2522,7 +2523,7 @@
2522
2523
  };
2523
2524
  }
2524
2525
 
2525
- function instance$e($$self, $$props, $$invalidate) {
2526
+ function instance$g($$self, $$props, $$invalidate) {
2526
2527
  let imageData;
2527
2528
  let svgContent;
2528
2529
  let { floorIndex } = $$props;
@@ -2549,13 +2550,13 @@
2549
2550
  class BaseImage extends internal.SvelteComponent {
2550
2551
  constructor(options) {
2551
2552
  super();
2552
- internal.init(this, options, instance$e, create_fragment$e, internal.safe_not_equal, { floorIndex: 2, floorplanData: 3 }, add_css$a);
2553
+ internal.init(this, options, instance$g, create_fragment$g, internal.safe_not_equal, { floorIndex: 2, floorplanData: 3 }, add_css$c);
2553
2554
  }
2554
2555
  }
2555
2556
 
2556
2557
  /* src/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte generated by Svelte v3.47.0 */
2557
2558
 
2558
- function create_fragment$d(ctx) {
2559
+ function create_fragment$f(ctx) {
2559
2560
  let path_1;
2560
2561
 
2561
2562
  return {
@@ -2580,7 +2581,7 @@
2580
2581
  };
2581
2582
  }
2582
2583
 
2583
- function instance$d($$self, $$props, $$invalidate) {
2584
+ function instance$f($$self, $$props, $$invalidate) {
2584
2585
  let d;
2585
2586
  let { path } = $$props;
2586
2587
 
@@ -2600,13 +2601,13 @@
2600
2601
  class RoomMaterial_0 extends internal.SvelteComponent {
2601
2602
  constructor(options) {
2602
2603
  super();
2603
- internal.init(this, options, instance$d, create_fragment$d, internal.safe_not_equal, { path: 1 });
2604
+ internal.init(this, options, instance$f, create_fragment$f, internal.safe_not_equal, { path: 1 });
2604
2605
  }
2605
2606
  }
2606
2607
 
2607
2608
  /* src/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte generated by Svelte v3.47.0 */
2608
2609
 
2609
- function create_fragment$c(ctx) {
2610
+ function create_fragment$e(ctx) {
2610
2611
  let defs;
2611
2612
  let pattern;
2612
2613
  let rect;
@@ -2666,7 +2667,7 @@
2666
2667
 
2667
2668
  const halfWidth = 6;
2668
2669
 
2669
- function instance$c($$self, $$props, $$invalidate) {
2670
+ function instance$e($$self, $$props, $$invalidate) {
2670
2671
  let d;
2671
2672
  let { path } = $$props;
2672
2673
  const width = halfWidth * 2;
@@ -2688,13 +2689,13 @@
2688
2689
  class RoomMaterial_1 extends internal.SvelteComponent {
2689
2690
  constructor(options) {
2690
2691
  super();
2691
- internal.init(this, options, instance$c, create_fragment$c, internal.safe_not_equal, { path: 3 });
2692
+ internal.init(this, options, instance$e, create_fragment$e, internal.safe_not_equal, { path: 3 });
2692
2693
  }
2693
2694
  }
2694
2695
 
2695
2696
  /* src/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte generated by Svelte v3.47.0 */
2696
2697
 
2697
- function create_fragment$b(ctx) {
2698
+ function create_fragment$d(ctx) {
2698
2699
  let defs;
2699
2700
  let pattern0;
2700
2701
  let rect0;
@@ -2793,7 +2794,7 @@
2793
2794
  };
2794
2795
  }
2795
2796
 
2796
- function instance$b($$self, $$props, $$invalidate) {
2797
+ function instance$d($$self, $$props, $$invalidate) {
2797
2798
  let d;
2798
2799
  let { path } = $$props;
2799
2800
 
@@ -2813,17 +2814,17 @@
2813
2814
  class RoomMaterial_2 extends internal.SvelteComponent {
2814
2815
  constructor(options) {
2815
2816
  super();
2816
- internal.init(this, options, instance$b, create_fragment$b, internal.safe_not_equal, { path: 1 });
2817
+ internal.init(this, options, instance$d, create_fragment$d, internal.safe_not_equal, { path: 1 });
2817
2818
  }
2818
2819
  }
2819
2820
 
2820
2821
  /* src/floorplan/Components/RoomMaterials/RoomMaterial.svelte generated by Svelte v3.47.0 */
2821
2822
 
2822
- function add_css$9(target) {
2823
+ function add_css$b(target) {
2823
2824
  internal.append_styles(target, "svelte-1b0icjc", "svg.svelte-1b0icjc{position:absolute;width:100%;height:100%;overflow:visible}");
2824
2825
  }
2825
2826
 
2826
- function get_each_context$3(ctx, list, i) {
2827
+ function get_each_context$4(ctx, list, i) {
2827
2828
  const child_ctx = ctx.slice();
2828
2829
  child_ctx[4] = list[i];
2829
2830
  return child_ctx;
@@ -2932,7 +2933,7 @@
2932
2933
  }
2933
2934
 
2934
2935
  // (15:2) {#each rooms as room}
2935
- function create_each_block$3(ctx) {
2936
+ function create_each_block$4(ctx) {
2936
2937
  let svg;
2937
2938
  let current_block_type_index;
2938
2939
  let if_block;
@@ -3003,14 +3004,14 @@
3003
3004
  };
3004
3005
  }
3005
3006
 
3006
- function create_fragment$a(ctx) {
3007
+ function create_fragment$c(ctx) {
3007
3008
  let div;
3008
3009
  let current;
3009
3010
  let each_value = /*rooms*/ ctx[0];
3010
3011
  let each_blocks = [];
3011
3012
 
3012
3013
  for (let i = 0; i < each_value.length; i += 1) {
3013
- each_blocks[i] = create_each_block$3(get_each_context$3(ctx, each_value, i));
3014
+ each_blocks[i] = create_each_block$4(get_each_context$4(ctx, each_value, i));
3014
3015
  }
3015
3016
 
3016
3017
  const out = i => internal.transition_out(each_blocks[i], 1, 1, () => {
@@ -3042,13 +3043,13 @@
3042
3043
  let i;
3043
3044
 
3044
3045
  for (i = 0; i < each_value.length; i += 1) {
3045
- const child_ctx = get_each_context$3(ctx, each_value, i);
3046
+ const child_ctx = get_each_context$4(ctx, each_value, i);
3046
3047
 
3047
3048
  if (each_blocks[i]) {
3048
3049
  each_blocks[i].p(child_ctx, dirty);
3049
3050
  internal.transition_in(each_blocks[i], 1);
3050
3051
  } else {
3051
- each_blocks[i] = create_each_block$3(child_ctx);
3052
+ each_blocks[i] = create_each_block$4(child_ctx);
3052
3053
  each_blocks[i].c();
3053
3054
  internal.transition_in(each_blocks[i], 1);
3054
3055
  each_blocks[i].m(div, null);
@@ -3089,7 +3090,7 @@
3089
3090
  };
3090
3091
  }
3091
3092
 
3092
- function instance$a($$self, $$props, $$invalidate) {
3093
+ function instance$c($$self, $$props, $$invalidate) {
3093
3094
  let rooms;
3094
3095
  let { floorIndex } = $$props;
3095
3096
  let { pxmm } = $$props;
@@ -3116,17 +3117,17 @@
3116
3117
  class RoomMaterial extends internal.SvelteComponent {
3117
3118
  constructor(options) {
3118
3119
  super();
3119
- internal.init(this, options, instance$a, create_fragment$a, internal.safe_not_equal, { floorIndex: 1, pxmm: 2, floorplanData: 3 }, add_css$9);
3120
+ internal.init(this, options, instance$c, create_fragment$c, internal.safe_not_equal, { floorIndex: 1, pxmm: 2, floorplanData: 3 }, add_css$b);
3120
3121
  }
3121
3122
  }
3122
3123
 
3123
3124
  /* src/floorplan/Components/RoomHighlight/Room.svelte generated by Svelte v3.47.0 */
3124
3125
 
3125
- function add_css$8(target) {
3126
+ function add_css$a(target) {
3126
3127
  internal.append_styles(target, "svelte-11takew", "path.svelte-11takew{opacity:0}path.svelte-11takew:hover{opacity:0.1}");
3127
3128
  }
3128
3129
 
3129
- function create_fragment$9(ctx) {
3130
+ function create_fragment$b(ctx) {
3130
3131
  let path;
3131
3132
 
3132
3133
  return {
@@ -3148,7 +3149,7 @@
3148
3149
  };
3149
3150
  }
3150
3151
 
3151
- function instance$9($$self, $$props, $$invalidate) {
3152
+ function instance$b($$self, $$props, $$invalidate) {
3152
3153
  let { pxmm } = $$props;
3153
3154
  let { room } = $$props;
3154
3155
  let { floorplanData } = $$props;
@@ -3171,24 +3172,24 @@
3171
3172
  class Room extends internal.SvelteComponent {
3172
3173
  constructor(options) {
3173
3174
  super();
3174
- internal.init(this, options, instance$9, create_fragment$9, internal.safe_not_equal, { pxmm: 1, room: 2, floorplanData: 3 }, add_css$8);
3175
+ internal.init(this, options, instance$b, create_fragment$b, internal.safe_not_equal, { pxmm: 1, room: 2, floorplanData: 3 }, add_css$a);
3175
3176
  }
3176
3177
  }
3177
3178
 
3178
3179
  /* src/floorplan/Components/RoomHighlight/RoomHighlight.svelte generated by Svelte v3.47.0 */
3179
3180
 
3180
- function add_css$7(target) {
3181
+ function add_css$9(target) {
3181
3182
  internal.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}");
3182
3183
  }
3183
3184
 
3184
- function get_each_context$2(ctx, list, i) {
3185
+ function get_each_context$3(ctx, list, i) {
3185
3186
  const child_ctx = ctx.slice();
3186
3187
  child_ctx[12] = list[i];
3187
3188
  return child_ctx;
3188
3189
  }
3189
3190
 
3190
3191
  // (41:4) {#each floorplanData.floorDatas[floorIndex].rooms as room (room.id)}
3191
- function create_each_block$2(key_1, ctx) {
3192
+ function create_each_block$3(key_1, ctx) {
3192
3193
  let first;
3193
3194
  let room;
3194
3195
  let current;
@@ -3253,7 +3254,7 @@
3253
3254
  };
3254
3255
  }
3255
3256
 
3256
- function create_fragment$8(ctx) {
3257
+ function create_fragment$a(ctx) {
3257
3258
  let div;
3258
3259
  let svg;
3259
3260
  let each_blocks = [];
@@ -3266,9 +3267,9 @@
3266
3267
  const get_key = ctx => /*room*/ ctx[12].id;
3267
3268
 
3268
3269
  for (let i = 0; i < each_value.length; i += 1) {
3269
- let child_ctx = get_each_context$2(ctx, each_value, i);
3270
+ let child_ctx = get_each_context$3(ctx, each_value, i);
3270
3271
  let key = get_key(child_ctx);
3271
- each_1_lookup.set(key, each_blocks[i] = create_each_block$2(key, child_ctx));
3272
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$3(key, child_ctx));
3272
3273
  }
3273
3274
 
3274
3275
  return {
@@ -3305,7 +3306,7 @@
3305
3306
  if (dirty & /*floorplanData, floorIndex, pxmm*/ 7) {
3306
3307
  each_value = /*floorplanData*/ ctx[2].floorDatas[/*floorIndex*/ ctx[1]].rooms;
3307
3308
  internal.group_outros();
3308
- each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, svg, internal.outro_and_destroy_block, create_each_block$2, null, get_each_context$2);
3309
+ each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, svg, internal.outro_and_destroy_block, create_each_block$3, null, get_each_context$3);
3309
3310
  internal.check_outros();
3310
3311
  }
3311
3312
  },
@@ -3340,7 +3341,7 @@
3340
3341
  };
3341
3342
  }
3342
3343
 
3343
- function instance$8($$self, $$props, $$invalidate) {
3344
+ function instance$a($$self, $$props, $$invalidate) {
3344
3345
  let { five } = $$props;
3345
3346
  let { pxmm } = $$props;
3346
3347
  let { floorIndex } = $$props;
@@ -3417,8 +3418,8 @@
3417
3418
  internal.init(
3418
3419
  this,
3419
3420
  options,
3420
- instance$8,
3421
- create_fragment$8,
3421
+ instance$a,
3422
+ create_fragment$a,
3422
3423
  internal.safe_not_equal,
3423
3424
  {
3424
3425
  five: 7,
@@ -3427,14 +3428,14 @@
3427
3428
  floorplanData: 2,
3428
3429
  onRoomHeightClick: 8
3429
3430
  },
3430
- add_css$7
3431
+ add_css$9
3431
3432
  );
3432
3433
  }
3433
3434
  }
3434
3435
 
3435
3436
  /* src/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte generated by Svelte v3.47.0 */
3436
3437
 
3437
- function add_css$6(target) {
3438
+ function add_css$8(target) {
3438
3439
  internal.append_styles(target, "svelte-3pdgs4", ".floorplan-current-floor.svelte-3pdgs4{position:relative;width:100%;height:100%}");
3439
3440
  }
3440
3441
 
@@ -3613,7 +3614,7 @@
3613
3614
  };
3614
3615
  }
3615
3616
 
3616
- function create_fragment$7(ctx) {
3617
+ function create_fragment$9(ctx) {
3617
3618
  let div;
3618
3619
  let roommaterial;
3619
3620
  let t0;
@@ -3805,7 +3806,7 @@
3805
3806
  };
3806
3807
  }
3807
3808
 
3808
- function instance$7($$self, $$props, $$invalidate) {
3809
+ function instance$9($$self, $$props, $$invalidate) {
3809
3810
  let { pxmm } = $$props;
3810
3811
  let { five } = $$props;
3811
3812
  let { floorIndex } = $$props;
@@ -3848,8 +3849,8 @@
3848
3849
  internal.init(
3849
3850
  this,
3850
3851
  options,
3851
- instance$7,
3852
- create_fragment$7,
3852
+ instance$9,
3853
+ create_fragment$9,
3853
3854
  internal.safe_not_equal,
3854
3855
  {
3855
3856
  pxmm: 0,
@@ -3862,14 +3863,14 @@
3862
3863
  onRoomHeightClick: 7,
3863
3864
  getLabelElement: 8
3864
3865
  },
3865
- add_css$6
3866
+ add_css$8
3866
3867
  );
3867
3868
  }
3868
3869
  }
3869
3870
 
3870
3871
  /* src/floorplan/ModelFloorplanPlugin/Components/Main.svelte generated by Svelte v3.47.0 */
3871
3872
 
3872
- function add_css$5(target) {
3873
+ function add_css$7(target) {
3873
3874
  internal.append_styles(target, "svelte-177x2q7", ".floorplan-main.svelte-177x2q7{width:100%;height:100%}");
3874
3875
  }
3875
3876
 
@@ -4074,7 +4075,7 @@
4074
4075
  };
4075
4076
  }
4076
4077
 
4077
- function create_fragment$6(ctx) {
4078
+ function create_fragment$8(ctx) {
4078
4079
  let if_block_anchor;
4079
4080
  let current;
4080
4081
  let if_block = /*visible*/ ctx[4] && create_if_block$2(ctx);
@@ -4129,7 +4130,7 @@
4129
4130
  };
4130
4131
  }
4131
4132
 
4132
- function instance$6($$self, $$props, $$invalidate) {
4133
+ function instance$8($$self, $$props, $$invalidate) {
4133
4134
  let { northDesc } = $$props;
4134
4135
  let { pxmm } = $$props;
4135
4136
  let { five } = $$props;
@@ -4193,8 +4194,8 @@
4193
4194
  internal.init(
4194
4195
  this,
4195
4196
  options,
4196
- instance$6,
4197
- create_fragment$6,
4197
+ instance$8,
4198
+ create_fragment$8,
4198
4199
  internal.safe_not_equal,
4199
4200
  {
4200
4201
  northDesc: 0,
@@ -4214,7 +4215,7 @@
4214
4215
  onRoomHeightClick: 14,
4215
4216
  getLabelElement: 15
4216
4217
  },
4217
- add_css$5
4218
+ add_css$7
4218
4219
  );
4219
4220
  }
4220
4221
  }
@@ -4446,11 +4447,11 @@
4446
4447
 
4447
4448
  /* src/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte generated by Svelte v3.47.0 */
4448
4449
 
4449
- function add_css$4(target) {
4450
+ function add_css$6(target) {
4450
4451
  internal.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%}");
4451
4452
  }
4452
4453
 
4453
- function create_fragment$5(ctx) {
4454
+ function create_fragment$7(ctx) {
4454
4455
  let div2;
4455
4456
  let div1;
4456
4457
  let div0;
@@ -4493,7 +4494,7 @@
4493
4494
  };
4494
4495
  }
4495
4496
 
4496
- function instance$5($$self, $$props, $$invalidate) {
4497
+ function instance$7($$self, $$props, $$invalidate) {
4497
4498
  let { five } = $$props;
4498
4499
  let { pxmm } = $$props;
4499
4500
  let { floorplanData } = $$props;
@@ -4564,8 +4565,8 @@
4564
4565
  internal.init(
4565
4566
  this,
4566
4567
  options,
4567
- instance$5,
4568
- create_fragment$5,
4568
+ instance$7,
4569
+ create_fragment$7,
4569
4570
  internal.safe_not_equal,
4570
4571
  {
4571
4572
  five: 3,
@@ -4573,25 +4574,25 @@
4573
4574
  floorplanData: 5,
4574
4575
  cameraImageUrl: 0
4575
4576
  },
4576
- add_css$4
4577
+ add_css$6
4577
4578
  );
4578
4579
  }
4579
4580
  }
4580
4581
 
4581
4582
  /* src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte generated by Svelte v3.47.0 */
4582
4583
 
4583
- function add_css$3(target) {
4584
+ function add_css$5(target) {
4584
4585
  internal.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%)}");
4585
4586
  }
4586
4587
 
4587
- function get_each_context$1(ctx, list, i) {
4588
+ function get_each_context$2(ctx, list, i) {
4588
4589
  const child_ctx = ctx.slice();
4589
4590
  child_ctx[1] = list[i];
4590
4591
  return child_ctx;
4591
4592
  }
4592
4593
 
4593
4594
  // (5:2) {#each extraObjects as extraObject (extraObject.id)}
4594
- function create_each_block$1(key_1, ctx) {
4595
+ function create_each_block$2(key_1, ctx) {
4595
4596
  let div1;
4596
4597
  let div0;
4597
4598
  let style_width = `${/*extraObject*/ ctx[1].icon.width / 16}rem`;
@@ -4650,7 +4651,7 @@
4650
4651
  };
4651
4652
  }
4652
4653
 
4653
- function create_fragment$4(ctx) {
4654
+ function create_fragment$6(ctx) {
4654
4655
  let div;
4655
4656
  let each_blocks = [];
4656
4657
  let each_1_lookup = new Map();
@@ -4658,9 +4659,9 @@
4658
4659
  const get_key = ctx => /*extraObject*/ ctx[1].id;
4659
4660
 
4660
4661
  for (let i = 0; i < each_value.length; i += 1) {
4661
- let child_ctx = get_each_context$1(ctx, each_value, i);
4662
+ let child_ctx = get_each_context$2(ctx, each_value, i);
4662
4663
  let key = get_key(child_ctx);
4663
- each_1_lookup.set(key, each_blocks[i] = create_each_block$1(key, child_ctx));
4664
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$2(key, child_ctx));
4664
4665
  }
4665
4666
 
4666
4667
  return {
@@ -4683,7 +4684,7 @@
4683
4684
  p(ctx, [dirty]) {
4684
4685
  if (dirty & /*extraObjects*/ 1) {
4685
4686
  each_value = /*extraObjects*/ ctx[0];
4686
- each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.destroy_block, create_each_block$1, null, get_each_context$1);
4687
+ each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.destroy_block, create_each_block$2, null, get_each_context$2);
4687
4688
  }
4688
4689
  },
4689
4690
  i: internal.noop,
@@ -4698,7 +4699,7 @@
4698
4699
  };
4699
4700
  }
4700
4701
 
4701
- function instance$4($$self, $$props, $$invalidate) {
4702
+ function instance$6($$self, $$props, $$invalidate) {
4702
4703
  let { extraObjects = [] } = $$props;
4703
4704
 
4704
4705
  $$self.$$set = $$props => {
@@ -4711,7 +4712,7 @@
4711
4712
  class ExtraObjects extends internal.SvelteComponent {
4712
4713
  constructor(options) {
4713
4714
  super();
4714
- internal.init(this, options, instance$4, create_fragment$4, internal.safe_not_equal, { extraObjects: 0 }, add_css$3);
4715
+ internal.init(this, options, instance$6, create_fragment$6, internal.safe_not_equal, { extraObjects: 0 }, add_css$5);
4715
4716
  }
4716
4717
  }
4717
4718
 
@@ -4777,7 +4778,7 @@
4777
4778
  };
4778
4779
  }
4779
4780
 
4780
- function create_fragment$3(ctx) {
4781
+ function create_fragment$5(ctx) {
4781
4782
  let baseimage;
4782
4783
  let t0;
4783
4784
  let extraobjects;
@@ -4888,7 +4889,7 @@
4888
4889
  };
4889
4890
  }
4890
4891
 
4891
- function instance$3($$self, $$props, $$invalidate) {
4892
+ function instance$5($$self, $$props, $$invalidate) {
4892
4893
  let currentFloorExtraObjects;
4893
4894
  let { five } = $$props;
4894
4895
  let { pxmm } = $$props;
@@ -4929,7 +4930,7 @@
4929
4930
  constructor(options) {
4930
4931
  super();
4931
4932
 
4932
- internal.init(this, options, instance$3, create_fragment$3, internal.safe_not_equal, {
4933
+ internal.init(this, options, instance$5, create_fragment$5, internal.safe_not_equal, {
4933
4934
  five: 0,
4934
4935
  pxmm: 1,
4935
4936
  floorIndex: 2,
@@ -4942,7 +4943,7 @@
4942
4943
 
4943
4944
  /* src/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte generated by Svelte v3.47.0 */
4944
4945
 
4945
- function add_css$2(target) {
4946
+ function add_css$4(target) {
4946
4947
  internal.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}");
4947
4948
  }
4948
4949
 
@@ -5065,7 +5066,7 @@
5065
5066
  };
5066
5067
  }
5067
5068
 
5068
- function create_fragment$2(ctx) {
5069
+ function create_fragment$4(ctx) {
5069
5070
  let div;
5070
5071
  let div_resize_listener;
5071
5072
  let current;
@@ -5125,7 +5126,7 @@
5125
5126
  };
5126
5127
  }
5127
5128
 
5128
- function instance$2($$self, $$props, $$invalidate) {
5129
+ function instance$4($$self, $$props, $$invalidate) {
5129
5130
  let { five } = $$props;
5130
5131
  let { hoverEnable } = $$props;
5131
5132
  let { floorplanData } = $$props;
@@ -5208,8 +5209,8 @@
5208
5209
  internal.init(
5209
5210
  this,
5210
5211
  options,
5211
- instance$2,
5212
- create_fragment$2,
5212
+ instance$4,
5213
+ create_fragment$4,
5213
5214
  internal.safe_not_equal,
5214
5215
  {
5215
5216
  five: 0,
@@ -5218,7 +5219,7 @@
5218
5219
  cameraImageUrl: 3,
5219
5220
  extraObjects: 4
5220
5221
  },
5221
- add_css$2
5222
+ add_css$4
5222
5223
  );
5223
5224
  }
5224
5225
  }
@@ -11921,18 +11922,18 @@
11921
11922
 
11922
11923
  /* src/PanoSpatialTagPlugin/Components/origins.svelte generated by Svelte v3.47.0 */
11923
11924
 
11924
- function add_css$1(target) {
11925
+ function add_css$3(target) {
11925
11926
  internal.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}}");
11926
11927
  }
11927
11928
 
11928
- function get_each_context(ctx, list, i) {
11929
+ function get_each_context$1(ctx, list, i) {
11929
11930
  const child_ctx = ctx.slice();
11930
11931
  child_ctx[3] = list[i];
11931
11932
  return child_ctx;
11932
11933
  }
11933
11934
 
11934
11935
  // (8:0) {#each origins as origin}
11935
- function create_each_block(ctx) {
11936
+ function create_each_block$1(ctx) {
11936
11937
  let i;
11937
11938
  let style_top = `${/*origin*/ ctx[3].top}%`;
11938
11939
  let style_left = `${/*origin*/ ctx[3].left}%`;
@@ -11988,13 +11989,13 @@
11988
11989
  };
11989
11990
  }
11990
11991
 
11991
- function create_fragment$1(ctx) {
11992
+ function create_fragment$3(ctx) {
11992
11993
  let each_1_anchor;
11993
11994
  let each_value = /*origins*/ ctx[0];
11994
11995
  let each_blocks = [];
11995
11996
 
11996
11997
  for (let i = 0; i < each_value.length; i += 1) {
11997
- each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
11998
+ each_blocks[i] = create_each_block$1(get_each_context$1(ctx, each_value, i));
11998
11999
  }
11999
12000
 
12000
12001
  return {
@@ -12018,12 +12019,12 @@
12018
12019
  let i;
12019
12020
 
12020
12021
  for (i = 0; i < each_value.length; i += 1) {
12021
- const child_ctx = get_each_context(ctx, each_value, i);
12022
+ const child_ctx = get_each_context$1(ctx, each_value, i);
12022
12023
 
12023
12024
  if (each_blocks[i]) {
12024
12025
  each_blocks[i].p(child_ctx, dirty);
12025
12026
  } else {
12026
- each_blocks[i] = create_each_block(child_ctx);
12027
+ each_blocks[i] = create_each_block$1(child_ctx);
12027
12028
  each_blocks[i].c();
12028
12029
  each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor);
12029
12030
  }
@@ -12045,7 +12046,7 @@
12045
12046
  };
12046
12047
  }
12047
12048
 
12048
- function instance$1($$self, $$props, $$invalidate) {
12049
+ function instance$3($$self, $$props, $$invalidate) {
12049
12050
  let { origins } = $$props;
12050
12051
 
12051
12052
  const handleClick = id => {
@@ -12064,17 +12065,17 @@
12064
12065
  class Origins extends internal.SvelteComponent {
12065
12066
  constructor(options) {
12066
12067
  super();
12067
- internal.init(this, options, instance$1, create_fragment$1, internal.safe_not_equal, { origins: 0 }, add_css$1);
12068
+ internal.init(this, options, instance$3, create_fragment$3, internal.safe_not_equal, { origins: 0 }, add_css$3);
12068
12069
  }
12069
12070
  }
12070
12071
 
12071
12072
  /* src/PanoSpatialTagPlugin/Components/tag.svelte generated by Svelte v3.47.0 */
12072
12073
 
12073
- function add_css(target) {
12074
- internal.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)}}");
12074
+ function add_css$2(target) {
12075
+ internal.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)}}");
12075
12076
  }
12076
12077
 
12077
- function create_fragment(ctx) {
12078
+ function create_fragment$2(ctx) {
12078
12079
  let div4;
12079
12080
  let div0;
12080
12081
  let t0;
@@ -12105,19 +12106,19 @@
12105
12106
  t3 = internal.space();
12106
12107
  div3 = internal.element("div");
12107
12108
  div2 = internal.element("div");
12108
- internal.attr(div0, "class", "PanoSpatialTagPlugin__tag-shadow svelte-1xmyxaa");
12109
+ internal.attr(div0, "class", "PanoSpatialTagPlugin__tag-shadow svelte-1c0xhg0");
12109
12110
  internal.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)");
12110
- internal.attr(i0, "class", "PanoSpatialTagPlugin__tag-flagpole svelte-1xmyxaa");
12111
+ internal.attr(i0, "class", "PanoSpatialTagPlugin__tag-flagpole svelte-1c0xhg0");
12111
12112
  internal.set_style(i0, "width", /*lineWidthZoom*/ ctx[4] + "rem");
12112
- internal.attr(i1, "class", "PanoSpatialTagPlugin__tag-line1 svelte-1xmyxaa");
12113
- internal.attr(i2, "class", "PanoSpatialTagPlugin__tag-line2 svelte-1xmyxaa");
12114
- internal.attr(div1, "class", "PanoSpatialTagPlugin__tag-line svelte-1xmyxaa");
12115
- internal.attr(div2, "class", "PanoSpatialTagPlugin__tag-content svelte-1xmyxaa");
12116
- internal.attr(div3, "class", "PanoSpatialTagPlugin__tag-animate svelte-1xmyxaa");
12113
+ internal.attr(i1, "class", "PanoSpatialTagPlugin__tag-line1 svelte-1c0xhg0");
12114
+ internal.attr(i2, "class", "PanoSpatialTagPlugin__tag-line2 svelte-1c0xhg0");
12115
+ internal.attr(div1, "class", "PanoSpatialTagPlugin__tag-line svelte-1c0xhg0");
12116
+ internal.attr(div2, "class", "PanoSpatialTagPlugin__tag-content svelte-1c0xhg0");
12117
+ internal.attr(div3, "class", "PanoSpatialTagPlugin__tag-animate svelte-1c0xhg0");
12117
12118
  internal.set_style(div3, "transform", "scale(" + /*contentZoom*/ ctx[3] * 3 + ")");
12118
12119
  internal.attr(div4, "id", div4_id_value = 'PanoSpatialTagPlugin__' + /*id*/ ctx[0]);
12119
12120
  internal.set_style(div4, "height", 20 * /*lineHeightZoom*/ ctx[5] + "rem");
12120
- internal.attr(div4, "class", "svelte-1xmyxaa");
12121
+ internal.attr(div4, "class", "svelte-1c0xhg0");
12121
12122
  internal.toggle_class(div4, "PanoSpatialTagPlugin__tag-x", true);
12122
12123
  internal.toggle_class(div4, "PanoSpatialTagPlugin__tag-upside-down", /*upsideDown*/ ctx[1]);
12123
12124
  internal.toggle_class(div4, "PanoSpatialTagPlugin__tag-show", /*show*/ ctx[10]);
@@ -12189,7 +12190,7 @@
12189
12190
  };
12190
12191
  }
12191
12192
 
12192
- function instance($$self, $$props, $$invalidate) {
12193
+ function instance$2($$self, $$props, $$invalidate) {
12193
12194
  let { id } = $$props;
12194
12195
  let { upsideDown } = $$props;
12195
12196
  let { content } = $$props;
@@ -12326,8 +12327,8 @@
12326
12327
  internal.init(
12327
12328
  this,
12328
12329
  options,
12329
- instance,
12330
- create_fragment,
12330
+ instance$2,
12331
+ create_fragment$2,
12331
12332
  internal.safe_not_equal,
12332
12333
  {
12333
12334
  id: 0,
@@ -12342,7 +12343,7 @@
12342
12343
  events: 14,
12343
12344
  hooks: 15
12344
12345
  },
12345
- add_css
12346
+ add_css$2
12346
12347
  );
12347
12348
  }
12348
12349
  }
@@ -12941,11 +12942,655 @@
12941
12942
  };
12942
12943
  };
12943
12944
 
12945
+ var DISPLAY_STRATEGY_TYPE;
12946
+ (function (DISPLAY_STRATEGY_TYPE) {
12947
+ DISPLAY_STRATEGY_TYPE["SMALL"] = "small";
12948
+ DISPLAY_STRATEGY_TYPE["MIDLLE"] = "middle";
12949
+ DISPLAY_STRATEGY_TYPE["LARGE"] = "large";
12950
+ })(DISPLAY_STRATEGY_TYPE || (DISPLAY_STRATEGY_TYPE = {}));
12951
+
12952
+ /* src/ModelItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.47.0 */
12953
+
12954
+ function add_css$1(target) {
12955
+ internal.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 }}");
12956
+ }
12957
+
12958
+ function create_fragment$1(ctx) {
12959
+ let div2;
12960
+ let div0;
12961
+ let span;
12962
+
12963
+ let t0_value = (/*itemLabel*/ ctx[0].name.length > 6
12964
+ ? `${/*itemLabel*/ ctx[0].name.slice(0, 6)}...`
12965
+ : /*itemLabel*/ ctx[0].name) + "";
12966
+
12967
+ let t0;
12968
+ let t1;
12969
+ let div1;
12970
+ let div2_class_value;
12971
+ let mounted;
12972
+ let dispose;
12973
+
12974
+ return {
12975
+ c() {
12976
+ div2 = internal.element("div");
12977
+ div0 = internal.element("div");
12978
+ span = internal.element("span");
12979
+ t0 = internal.text(t0_value);
12980
+ t1 = internal.space();
12981
+ div1 = internal.element("div");
12982
+ internal.attr(span, "class", "item-label-item__text svelte-1mttyji");
12983
+ internal.attr(div0, "class", "item-label-item__text-wrap svelte-1mttyji");
12984
+ internal.set_style(div0, "top", `-${/*itemLabel*/ ctx[0].strokeLength + 26}px`);
12985
+ internal.attr(div1, "class", "item-label-item__bar svelte-1mttyji");
12986
+ internal.set_style(div1, "height", `${/*itemLabel*/ ctx[0].strokeLength}px`);
12987
+ internal.attr(div2, "class", div2_class_value = "" + (internal.null_to_empty(classNames__default["default"]("item-label-item", { visible: /*itemLabel*/ ctx[0].visible })) + " svelte-1mttyji"));
12988
+ internal.set_style(div2, "z-index", /*itemLabel*/ ctx[0].zIndex, false);
12989
+ internal.set_style(div2, "transform", /*itemLabel*/ ctx[0].transform, false);
12990
+ },
12991
+ m(target, anchor) {
12992
+ internal.insert(target, div2, anchor);
12993
+ internal.append(div2, div0);
12994
+ internal.append(div0, span);
12995
+ internal.append(span, t0);
12996
+ internal.append(div2, t1);
12997
+ internal.append(div2, div1);
12998
+
12999
+ if (!mounted) {
13000
+ dispose = internal.listen(span, "click", /*onClick*/ ctx[1]);
13001
+ mounted = true;
13002
+ }
13003
+ },
13004
+ p(ctx, [dirty]) {
13005
+ if (dirty & /*itemLabel*/ 1 && t0_value !== (t0_value = (/*itemLabel*/ ctx[0].name.length > 6
13006
+ ? `${/*itemLabel*/ ctx[0].name.slice(0, 6)}...`
13007
+ : /*itemLabel*/ ctx[0].name) + "")) internal.set_data(t0, t0_value);
13008
+
13009
+ if (dirty & /*itemLabel*/ 1) {
13010
+ internal.set_style(div0, "top", `-${/*itemLabel*/ ctx[0].strokeLength + 26}px`);
13011
+ }
13012
+
13013
+ if (dirty & /*itemLabel*/ 1) {
13014
+ internal.set_style(div1, "height", `${/*itemLabel*/ ctx[0].strokeLength}px`);
13015
+ }
13016
+
13017
+ if (dirty & /*itemLabel*/ 1 && div2_class_value !== (div2_class_value = "" + (internal.null_to_empty(classNames__default["default"]("item-label-item", { visible: /*itemLabel*/ ctx[0].visible })) + " svelte-1mttyji"))) {
13018
+ internal.attr(div2, "class", div2_class_value);
13019
+ }
13020
+
13021
+ if (dirty & /*itemLabel*/ 1) {
13022
+ internal.set_style(div2, "z-index", /*itemLabel*/ ctx[0].zIndex, false);
13023
+ }
13024
+
13025
+ if (dirty & /*itemLabel*/ 1) {
13026
+ internal.set_style(div2, "transform", /*itemLabel*/ ctx[0].transform, false);
13027
+ }
13028
+ },
13029
+ i: internal.noop,
13030
+ o: internal.noop,
13031
+ d(detaching) {
13032
+ if (detaching) internal.detach(div2);
13033
+ mounted = false;
13034
+ dispose();
13035
+ }
13036
+ };
13037
+ }
13038
+
13039
+ function instance$1($$self, $$props, $$invalidate) {
13040
+ let { itemLabel } = $$props;
13041
+ let { hooks } = $$props;
13042
+
13043
+ function onClick() {
13044
+ console.log('__onclick___: ', itemLabel);
13045
+ hooks.emit('onLabelClick', itemLabel);
13046
+ }
13047
+
13048
+ $$self.$$set = $$props => {
13049
+ if ('itemLabel' in $$props) $$invalidate(0, itemLabel = $$props.itemLabel);
13050
+ if ('hooks' in $$props) $$invalidate(2, hooks = $$props.hooks);
13051
+ };
13052
+
13053
+ return [itemLabel, onClick, hooks];
13054
+ }
13055
+
13056
+ class ItemLabelItem extends internal.SvelteComponent {
13057
+ constructor(options) {
13058
+ super();
13059
+ internal.init(this, options, instance$1, create_fragment$1, internal.safe_not_equal, { itemLabel: 0, hooks: 2 }, add_css$1);
13060
+ }
13061
+ }
13062
+
13063
+ /* src/ModelItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.47.0 */
13064
+
13065
+ function add_css(target) {
13066
+ internal.append_styles(target, "svelte-rmdeb", ".item-labels-container.svelte-rmdeb{width:100%;height:100%;position:relative}");
13067
+ }
13068
+
13069
+ function get_each_context(ctx, list, i) {
13070
+ const child_ctx = ctx.slice();
13071
+ child_ctx[26] = list[i];
13072
+ return child_ctx;
13073
+ }
13074
+
13075
+ // (179:1) {#each renderItemLabels as itemLabelItem (itemLabelItem.id)}
13076
+ function create_each_block(key_1, ctx) {
13077
+ let first;
13078
+ let itemlabelitem;
13079
+ let current;
13080
+
13081
+ itemlabelitem = new ItemLabelItem({
13082
+ props: {
13083
+ itemLabel: /*itemLabelItem*/ ctx[26],
13084
+ hooks: /*hooks*/ ctx[0]
13085
+ }
13086
+ });
13087
+
13088
+ return {
13089
+ key: key_1,
13090
+ first: null,
13091
+ c() {
13092
+ first = internal.empty();
13093
+ internal.create_component(itemlabelitem.$$.fragment);
13094
+ this.first = first;
13095
+ },
13096
+ m(target, anchor) {
13097
+ internal.insert(target, first, anchor);
13098
+ internal.mount_component(itemlabelitem, target, anchor);
13099
+ current = true;
13100
+ },
13101
+ p(new_ctx, dirty) {
13102
+ ctx = new_ctx;
13103
+ const itemlabelitem_changes = {};
13104
+ if (dirty & /*renderItemLabels*/ 2) itemlabelitem_changes.itemLabel = /*itemLabelItem*/ ctx[26];
13105
+ if (dirty & /*hooks*/ 1) itemlabelitem_changes.hooks = /*hooks*/ ctx[0];
13106
+ itemlabelitem.$set(itemlabelitem_changes);
13107
+ },
13108
+ i(local) {
13109
+ if (current) return;
13110
+ internal.transition_in(itemlabelitem.$$.fragment, local);
13111
+ current = true;
13112
+ },
13113
+ o(local) {
13114
+ internal.transition_out(itemlabelitem.$$.fragment, local);
13115
+ current = false;
13116
+ },
13117
+ d(detaching) {
13118
+ if (detaching) internal.detach(first);
13119
+ internal.destroy_component(itemlabelitem, detaching);
13120
+ }
13121
+ };
13122
+ }
13123
+
13124
+ function create_fragment(ctx) {
13125
+ let div;
13126
+ let each_blocks = [];
13127
+ let each_1_lookup = new Map();
13128
+ let div_resize_listener;
13129
+ let current;
13130
+ let each_value = /*renderItemLabels*/ ctx[1];
13131
+ const get_key = ctx => /*itemLabelItem*/ ctx[26].id;
13132
+
13133
+ for (let i = 0; i < each_value.length; i += 1) {
13134
+ let child_ctx = get_each_context(ctx, each_value, i);
13135
+ let key = get_key(child_ctx);
13136
+ each_1_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));
13137
+ }
13138
+
13139
+ return {
13140
+ c() {
13141
+ div = internal.element("div");
13142
+
13143
+ for (let i = 0; i < each_blocks.length; i += 1) {
13144
+ each_blocks[i].c();
13145
+ }
13146
+
13147
+ internal.attr(div, "class", "item-labels-container svelte-rmdeb");
13148
+ internal.add_render_callback(() => /*div_elementresize_handler*/ ctx[9].call(div));
13149
+ },
13150
+ m(target, anchor) {
13151
+ internal.insert(target, div, anchor);
13152
+
13153
+ for (let i = 0; i < each_blocks.length; i += 1) {
13154
+ each_blocks[i].m(div, null);
13155
+ }
13156
+
13157
+ div_resize_listener = internal.add_resize_listener(div, /*div_elementresize_handler*/ ctx[9].bind(div));
13158
+ current = true;
13159
+ },
13160
+ p(ctx, [dirty]) {
13161
+ if (dirty & /*renderItemLabels, hooks*/ 3) {
13162
+ each_value = /*renderItemLabels*/ ctx[1];
13163
+ internal.group_outros();
13164
+ each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.outro_and_destroy_block, create_each_block, null, get_each_context);
13165
+ internal.check_outros();
13166
+ }
13167
+ },
13168
+ i(local) {
13169
+ if (current) return;
13170
+
13171
+ for (let i = 0; i < each_value.length; i += 1) {
13172
+ internal.transition_in(each_blocks[i]);
13173
+ }
13174
+
13175
+ current = true;
13176
+ },
13177
+ o(local) {
13178
+ for (let i = 0; i < each_blocks.length; i += 1) {
13179
+ internal.transition_out(each_blocks[i]);
13180
+ }
13181
+
13182
+ current = false;
13183
+ },
13184
+ d(detaching) {
13185
+ if (detaching) internal.detach(div);
13186
+
13187
+ for (let i = 0; i < each_blocks.length; i += 1) {
13188
+ each_blocks[i].d();
13189
+ }
13190
+
13191
+ div_resize_listener();
13192
+ }
13193
+ };
13194
+ }
13195
+
13196
+ let cssHeight = 26;
13197
+ let basicWidth = 11;
13198
+
13199
+ function instance($$self, $$props, $$invalidate) {
13200
+ const { Raycaster, Vector3 } = THREE__namespace;
13201
+ let { five } = $$props;
13202
+ let { modelOcclusionEnable } = $$props;
13203
+ let { itemLabels } = $$props;
13204
+ let { wrapper } = $$props;
13205
+ let { hooks } = $$props;
13206
+ let { displayStrategyType } = $$props;
13207
+ let curItemLabels = null;
13208
+ let renderItemLabels = null;
13209
+ let wrapperSize = { width: 0, height: 0 };
13210
+ let containerWidth;
13211
+ let containerHeight;
13212
+
13213
+ // 计算重叠
13214
+ let cssOffsetLists = [];
13215
+
13216
+ const getLabelVisible = (five, itemLabel) => {
13217
+ // 虚拟 VR 仅有一层,不考虑楼层信息
13218
+ const raycaster = new Raycaster();
13219
+
13220
+ const cameraPosition = five.camera.position.clone();
13221
+ const modelPosition = new Vector3(itemLabel.modelPosition[0], itemLabel.modelPosition[1], itemLabel.modelPosition[2]);
13222
+
13223
+ // 计算点到相机的位置
13224
+ const vectorDistance = modelPosition.distanceTo(cameraPosition);
13225
+
13226
+ raycaster.set(cameraPosition.clone(), modelPosition.clone().sub(cameraPosition).normalize());
13227
+ const [intersection] = five.model.intersectRaycaster(raycaster);
13228
+ return !(intersection && intersection.distance + 1 < vectorDistance);
13229
+ };
13230
+
13231
+ // cssOffset 获取
13232
+ const getLabelCssOffset = (five, itemLabel) => {
13233
+ const modelPosition = new Vector3(itemLabel.modelPosition[0], itemLabel.modelPosition[1], itemLabel.modelPosition[2]);
13234
+ const cssPosition = five.project2d(modelPosition);
13235
+ const xOffset = cssPosition?.x;
13236
+ const yOffset = cssPosition?.y;
13237
+ return [xOffset, yOffset];
13238
+ };
13239
+
13240
+ const getLabelTransform = cssOffset => {
13241
+ return `translate(${cssOffset[0]}px, ${cssOffset[1]}px)`;
13242
+ };
13243
+
13244
+ // 重叠计算
13245
+ const isOverlap = (cssOffset, widthOffset) => {
13246
+ if (cssOffsetLists.length === 0) {
13247
+ return false;
13248
+ }
13249
+
13250
+ 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);
13251
+ return !!hasOverlapPoint;
13252
+ };
13253
+
13254
+ function getStrokeLength(itemSpaceHeight, type) {
13255
+ switch (type) {
13256
+ case DISPLAY_STRATEGY_TYPE.SMALL:
13257
+ return Math.ceil(-27.78 * itemSpaceHeight + 85);
13258
+ case DISPLAY_STRATEGY_TYPE.MIDLLE:
13259
+ return Math.ceil(-38.9 * itemSpaceHeight + 130);
13260
+ case DISPLAY_STRATEGY_TYPE.LARGE:
13261
+ return Math.ceil(-44.44 * itemSpaceHeight + 140);
13262
+ }
13263
+ }
13264
+
13265
+ const getFormatedItemLabels = (five, labels) => {
13266
+ // 计算位置 & 可见性
13267
+ const newLabels = labels.map(label => {
13268
+ const cssOffset = getLabelCssOffset(five, label);
13269
+ const curLabelWidth = label.name.length * basicWidth;
13270
+ const strokeLength = getStrokeLength(label.modelPosition[1], displayStrategyType);
13271
+
13272
+ // 是否加入碰撞检测
13273
+ const naturalVisible = modelOcclusionEnable
13274
+ ? getLabelVisible(five, label)
13275
+ : true;
13276
+
13277
+ const visible = naturalVisible && !isOverlap([cssOffset[0], cssOffset[1] + strokeLength], curLabelWidth);
13278
+ if (!visible) return { ...label, visible };
13279
+ cssOffsetLists.push(cssOffset);
13280
+
13281
+ // position
13282
+ const transform = getLabelTransform(cssOffset);
13283
+
13284
+ return {
13285
+ ...label,
13286
+ visible,
13287
+ transform,
13288
+ strokeLength
13289
+ };
13290
+ });
13291
+
13292
+ const sortedItemLabelItems = newLabels.filter(({ visible }) => visible).map(label => ({
13293
+ itemLabelItem: label,
13294
+ distance: new Vector3(label.modelPosition[0], label.modelPosition[1], label.modelPosition[2]).clone().distanceTo(five.camera.position)
13295
+ })).sort((a, b) => a.distance - b.distance);
13296
+
13297
+ return newLabels.map(label => {
13298
+ const sortIndex = sortedItemLabelItems.findIndex(item => item.itemLabelItem.id === label.id);
13299
+ if (sortIndex !== undefined) return { ...label, zIndex: sortIndex * 10 };
13300
+ return label;
13301
+ });
13302
+ };
13303
+
13304
+ const onItemLabelUpdate = () => {
13305
+ cssOffsetLists = [];
13306
+ $$invalidate(1, renderItemLabels = getFormatedItemLabels(five, renderItemLabels));
13307
+ };
13308
+
13309
+ svelte.beforeUpdate(() => {
13310
+ addDataUpdateListener();
13311
+ });
13312
+
13313
+ svelte.onMount(() => {
13314
+ $$invalidate(1, renderItemLabels = itemLabels);
13315
+ curItemLabels = itemLabels;
13316
+ onItemLabelUpdate();
13317
+
13318
+ // five.on('cameraUpdate', onItemLabelUpdate)
13319
+ addResizeListener();
13320
+ });
13321
+
13322
+ const addResizeListener = () => {
13323
+ wrapperSize = {
13324
+ width: wrapper.clientWidth,
13325
+ height: wrapper.clientHeight
13326
+ };
13327
+
13328
+ resizeObserver.observe(wrapper);
13329
+ };
13330
+
13331
+ const addDataUpdateListener = () => {
13332
+ if (curItemLabels !== itemLabels) {
13333
+ $$invalidate(1, renderItemLabels = itemLabels);
13334
+ curItemLabels = itemLabels;
13335
+ console.log('--debug--update--');
13336
+ onItemLabelUpdate();
13337
+ }
13338
+ };
13339
+
13340
+ const resizeObserver = new ResizeObserver(entries => {
13341
+ const entry = entries[0];
13342
+ const target = entry.target;
13343
+ const curWidth = target.clientWidth;
13344
+ const curHeight = target.clientHeight;
13345
+
13346
+ if (wrapperSize.width !== curWidth || wrapperSize.height !== curHeight) {
13347
+ wrapperSize = { width: curWidth, height: curHeight };
13348
+ onItemLabelUpdate();
13349
+ }
13350
+ });
13351
+
13352
+ svelte.onDestroy(() => {
13353
+ // five.off('cameraUpdate', onItemLabelUpdate)
13354
+ resizeObserver.unobserve(wrapper);
13355
+
13356
+ curItemLabels = null;
13357
+ $$invalidate(1, renderItemLabels = null);
13358
+ wrapperSize = { width: 0, height: 0 };
13359
+ });
13360
+
13361
+ function div_elementresize_handler() {
13362
+ containerWidth = this.clientWidth;
13363
+ containerHeight = this.clientHeight;
13364
+ $$invalidate(2, containerWidth);
13365
+ $$invalidate(3, containerHeight);
13366
+ }
13367
+
13368
+ $$self.$$set = $$props => {
13369
+ if ('five' in $$props) $$invalidate(4, five = $$props.five);
13370
+ if ('modelOcclusionEnable' in $$props) $$invalidate(5, modelOcclusionEnable = $$props.modelOcclusionEnable);
13371
+ if ('itemLabels' in $$props) $$invalidate(6, itemLabels = $$props.itemLabels);
13372
+ if ('wrapper' in $$props) $$invalidate(7, wrapper = $$props.wrapper);
13373
+ if ('hooks' in $$props) $$invalidate(0, hooks = $$props.hooks);
13374
+ if ('displayStrategyType' in $$props) $$invalidate(8, displayStrategyType = $$props.displayStrategyType);
13375
+ };
13376
+
13377
+ return [
13378
+ hooks,
13379
+ renderItemLabels,
13380
+ containerWidth,
13381
+ containerHeight,
13382
+ five,
13383
+ modelOcclusionEnable,
13384
+ itemLabels,
13385
+ wrapper,
13386
+ displayStrategyType,
13387
+ div_elementresize_handler
13388
+ ];
13389
+ }
13390
+
13391
+ class ItemLabelComponent extends internal.SvelteComponent {
13392
+ constructor(options) {
13393
+ super();
13394
+
13395
+ internal.init(
13396
+ this,
13397
+ options,
13398
+ instance,
13399
+ create_fragment,
13400
+ internal.safe_not_equal,
13401
+ {
13402
+ five: 4,
13403
+ modelOcclusionEnable: 5,
13404
+ itemLabels: 6,
13405
+ wrapper: 7,
13406
+ hooks: 0,
13407
+ displayStrategyType: 8
13408
+ },
13409
+ add_css
13410
+ );
13411
+ }
13412
+ }
13413
+
13414
+ /** @description 转成内部所需数据 */
13415
+ function parseModelItemLabelPluginData(data) {
13416
+ return data.model_item_labels.map(label => ({
13417
+ modelPosition: [label.position[0], label.position[1] + label.size[1], label.position[2]],
13418
+ ...label
13419
+ }));
13420
+ }
13421
+
13422
+ const ModelItemLabelPlugin = (five$1, params) => {
13423
+ const pluginState = {
13424
+ container: document.createElement('div'),
13425
+ data: null,
13426
+ enabled: true,
13427
+ fiveModeEnabled: undefined,
13428
+ itemLabels: [],
13429
+ wrapper: null,
13430
+ app: undefined,
13431
+ hooks: new five.Subscribe(),
13432
+ modelOcclusionEnable: params?.modelOcclusionEnable ?? true,
13433
+ displayStrategyType: params?.displayStrategyType ?? DISPLAY_STRATEGY_TYPE.SMALL
13434
+ };
13435
+ pluginState.container.setAttribute('class', 'model-item-label-plugin-container');
13436
+ pluginState.container.style.cssText = `
13437
+ position: absolute;
13438
+ left: 0;
13439
+ top: 0;
13440
+ width: 100%;
13441
+ height: 100%;
13442
+ pointerEvents: none;
13443
+ `;
13444
+ const appendTo = (wrapper) => {
13445
+ pluginState.wrapper = wrapper;
13446
+ wrapper.appendChild(pluginState.container);
13447
+ render();
13448
+ return true;
13449
+ };
13450
+ const load = (data) => {
13451
+ console.log('🐶--当前标签总条数: ', data.model_item_labels.length);
13452
+ pluginState.itemLabels = parseModelItemLabelPluginData(data);
13453
+ render();
13454
+ };
13455
+ const enable = () => {
13456
+ if (pluginState.enabled)
13457
+ return true;
13458
+ pluginState.enabled = true;
13459
+ render();
13460
+ return true;
13461
+ };
13462
+ const disable = () => {
13463
+ if (!pluginState.enabled)
13464
+ return true;
13465
+ pluginState.enabled = false;
13466
+ render();
13467
+ return true;
13468
+ };
13469
+ const dispose = () => {
13470
+ removeListener4Five();
13471
+ pluginState.container.remove();
13472
+ };
13473
+ const handleRerender = () => {
13474
+ if (!pluginState.enabled || !pluginState.fiveModeEnabled)
13475
+ return;
13476
+ disable();
13477
+ };
13478
+ const rerender = (a, b, c) => {
13479
+ if (!pluginState.fiveModeEnabled)
13480
+ return;
13481
+ if (!c)
13482
+ return;
13483
+ enable();
13484
+ render();
13485
+ };
13486
+ const handleInteriaPanRerender = (a, b) => {
13487
+ if (!pluginState.fiveModeEnabled)
13488
+ return;
13489
+ if (!b)
13490
+ return;
13491
+ enable();
13492
+ render();
13493
+ };
13494
+ const handleWantsPanGesture = (pose, final) => {
13495
+ if (pose) {
13496
+ handleRerender();
13497
+ }
13498
+ };
13499
+ const handlePanGesture = (pose, final) => {
13500
+ if (!pluginState.fiveModeEnabled)
13501
+ return;
13502
+ if (!final)
13503
+ return;
13504
+ enable();
13505
+ render();
13506
+ };
13507
+ const render = () => {
13508
+ if (!pluginState.wrapper)
13509
+ return;
13510
+ // 只要不可展示,销毁容器
13511
+ if (!pluginState.enabled || !pluginState.fiveModeEnabled) {
13512
+ pluginState.app?.$destroy();
13513
+ pluginState.app = undefined;
13514
+ return;
13515
+ }
13516
+ // 正常显示时,分为 app 存在和不存在两种情况,如果存在,传值,不存在则初始化并传值
13517
+ if (!pluginState.app) {
13518
+ pluginState.app = new ItemLabelComponent({
13519
+ target: pluginState.container,
13520
+ props: {
13521
+ five: five$1,
13522
+ modelOcclusionEnable: pluginState.modelOcclusionEnable,
13523
+ itemLabels: pluginState.itemLabels,
13524
+ wrapper: pluginState.wrapper,
13525
+ hooks: pluginState.hooks,
13526
+ displayStrategyType: pluginState.displayStrategyType
13527
+ }
13528
+ });
13529
+ }
13530
+ else {
13531
+ pluginState.app.$set({
13532
+ five: five$1,
13533
+ itemLabels: pluginState.itemLabels
13534
+ });
13535
+ }
13536
+ };
13537
+ // 添加 five 监听
13538
+ const addListener4Five = () => {
13539
+ five$1.on('modeChange', onFiveModeChange);
13540
+ five$1.once('dispose', dispose);
13541
+ // five.on('wantsGesture', handleRerender)
13542
+ // five.on('gesture', rerender)
13543
+ five$1.on('wantsMouseWheel', handleRerender);
13544
+ five$1.on('mouseWheel', rerender);
13545
+ five$1.on('wantsInteriaPan', handleRerender);
13546
+ five$1.on('interiaPan', handleInteriaPanRerender);
13547
+ five$1.on('wantsPanGesture', handleWantsPanGesture);
13548
+ five$1.on('panGesture', handlePanGesture);
13549
+ five$1.on('wantsPinchGesture', handleRerender);
13550
+ five$1.on('pinchGesture', rerender);
13551
+ };
13552
+ // 取消 five 监听
13553
+ const removeListener4Five = () => {
13554
+ five$1.off('modeChange', onFiveModeChange);
13555
+ // five.off('wantsGesture', handleRerender)
13556
+ // five.off('gesture', rerender)
13557
+ five$1.off('wantsMouseWheel', handleRerender);
13558
+ five$1.off('mouseWheel', rerender);
13559
+ five$1.off('wantsInteriaPan', handleRerender);
13560
+ five$1.off('interiaPan', handleInteriaPanRerender);
13561
+ five$1.off('wantsPanGesture', handleWantsPanGesture);
13562
+ five$1.off('panGesture', handlePanGesture);
13563
+ five$1.off('wantsPinchGesture', handleRerender);
13564
+ five$1.off('pinchGesture', rerender);
13565
+ };
13566
+ const onFiveModeChange = (mode) => {
13567
+ if (mode !== five.Five.Mode.Floorplan) {
13568
+ pluginState.fiveModeEnabled = false;
13569
+ render();
13570
+ return;
13571
+ }
13572
+ five$1.once('initAnimationEnded', () => {
13573
+ pluginState.fiveModeEnabled = five$1.currentMode === five.Five.Mode.Floorplan;
13574
+ render();
13575
+ });
13576
+ };
13577
+ addListener4Five();
13578
+ return {
13579
+ appendTo,
13580
+ load,
13581
+ enable,
13582
+ disable,
13583
+ dispose,
13584
+ hooks: pluginState.hooks
13585
+ };
13586
+ };
13587
+
12944
13588
  exports.CSS3DRenderPlugin = CSS3DRenderPlugin;
12945
13589
  exports.CameraMovementPlugin = CameraMovementPlugin;
12946
13590
  exports.ModelChassisCompassPlugin = ModelChassisCompassPlugin;
12947
13591
  exports.ModelEntryDoorGuidePlugin = ModelEntryDoorGuidePlugin;
12948
13592
  exports.ModelFloorplanPlugin = ModelFloorplanPlugin;
13593
+ exports.ModelItemLabelPlugin = ModelItemLabelPlugin;
12949
13594
  exports.ModelRoomLabelPlugin = ModelRoomLabelPlugin;
12950
13595
  exports.ModelViewPlugin = ModelViewPlugin;
12951
13596
  exports.PanoCompassPlugin = PanoCompassPlugin;