@realsee/dnalogel 2.0.0-alpha.14 → 2.0.0-alpha.17

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 (48) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/ModelItemLabelPlugin/index.js +77 -100
  3. package/dist/ModelItemLabelPlugin/typings.d.ts +2 -2
  4. package/dist/ModelRoomLabelPlugin/index.js +7 -6
  5. package/dist/PanoSpatialTagPlugin/index.js +11 -11
  6. package/dist/floorplan/ModelFloorplanPlugin/index.js +37 -38
  7. package/dist/floorplan/PanoFloorplanRadarPlugin/index.js +23 -24
  8. package/dist/floorplan/TopviewFloorplanPlugin/index.js +37 -38
  9. package/dist/index.es.js +143 -166
  10. package/dist/index.js +143 -166
  11. package/dist/index.umd.js +143 -166
  12. package/docs/classes/ModelRoomLabelController.html +6 -6
  13. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  14. package/docs/enums/ModelFloorplanErrorType.html +1 -1
  15. package/docs/interfaces/LineJson.html +1 -1
  16. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  17. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  18. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  19. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  20. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  21. package/docs/interfaces/ModelFloorplanParameterType.html +1 -1
  22. package/docs/interfaces/ModelFloorplanViewEvent.html +2 -2
  23. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  24. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  25. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  26. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  27. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  28. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  29. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  30. package/docs/interfaces/PanoCompassPluginData.html +1 -1
  31. package/docs/interfaces/PanoCompassPluginParameterType.html +1 -1
  32. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  33. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  34. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  35. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  36. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  37. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  38. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  39. package/docs/interfaces/PointJson.html +1 -1
  40. package/docs/interfaces/RoomLabel.html +7 -7
  41. package/docs/interfaces/TopviewFloorplanPluginParameterType.html +1 -1
  42. package/docs/modules.html +12 -12
  43. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +48 -61
  44. package/libs/ModelItemLabelPlugin/index.js +2 -66
  45. package/libs/ModelItemLabelPlugin/typings.d.ts +2 -2
  46. package/libs/ModelItemLabelPlugin/typings.js +1 -0
  47. package/libs/ModelRoomLabelPlugin/Controller.js +1 -0
  48. package/package.json +4 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.0.0-alpha.17
4
+ - 1.fix: 修复构建输出 px2rem 失效问题。
5
+
6
+ ## 2.0.0-alpha.16
7
+ - 1.fix: 修复 z-index 问题;
8
+ - 2.fix: 修复 ModelItemLabelPlugin 事件监听问题。
9
+
10
+ ## 2.0.0-alpha.15
11
+ - 1.refactor: 优化 ModelItemLabelPlugin 在调用 five.setState() 时的动画显示。
12
+
3
13
  ## 2.0.0-alpha.14
4
14
  - 1.feat: 新增 ModelTVVideoPlugin 插件;
5
15
  - 2.fix: 修复 ModelItemLabelPlugin disable & enable 方法逻辑;
@@ -36,12 +36,13 @@ var DISPLAY_STRATEGY_TYPE;
36
36
  DISPLAY_STRATEGY_TYPE["SMALL"] = "small";
37
37
  DISPLAY_STRATEGY_TYPE["MIDLLE"] = "middle";
38
38
  DISPLAY_STRATEGY_TYPE["LARGE"] = "large";
39
+ DISPLAY_STRATEGY_TYPE["EXTRA_LARGE"] = "x-large";
39
40
  })(DISPLAY_STRATEGY_TYPE || (DISPLAY_STRATEGY_TYPE = {}));
40
41
 
41
42
  /* src/ModelItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.47.0 */
42
43
 
43
44
  function add_css$1(target) {
44
- 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 }}");
45
+ internal.append_styles(target, "svelte-1hzvil1", ".item-label-item.svelte-1hzvil1{position:absolute;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0}.item-label-item.visible.svelte-1hzvil1{opacity:1;-webkit-animation:svelte-1hzvil1-fadeIn .3s ease-in;animation:svelte-1hzvil1-fadeIn .3s ease-in}.item-label-item__text-wrap.svelte-1hzvil1::before{content:'';position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, .3);filter:blur(0.83333rem);z-index:-1}.item-label-item__text-wrap.svelte-1hzvil1{padding:0.3125rem 0.3125rem 0;position:absolute;height:1.04167rem;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap;line-height:0.52083rem;font-size:0.57292rem;font-weight:bold;color:#FFEAC0;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center}.item-label-item__text.svelte-1hzvil1{padding-bottom:0.20833rem;border-top:0 solid;border-left:0 solid;border-right:0 solid;border-bottom:1px solid;-o-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;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-1hzvil1{position:absolute;bottom:0;width:1px;background-image:linear-gradient(to bottom, rgba(234, 208, 154, 0), rgba(234, 208, 154, 1))}@-webkit-keyframes svelte-1hzvil1-fadeIn{from{opacity:0\n }to{opacity:1\n }}@keyframes svelte-1hzvil1-fadeIn{from{opacity:0\n }to{opacity:1\n }}");
45
46
  }
46
47
 
47
48
  function create_fragment$1(ctx) {
@@ -68,12 +69,12 @@ function create_fragment$1(ctx) {
68
69
  t0 = internal.text(t0_value);
69
70
  t1 = internal.space();
70
71
  div1 = internal.element("div");
71
- internal.attr(span, "class", "item-label-item__text svelte-1mttyji");
72
- internal.attr(div0, "class", "item-label-item__text-wrap svelte-1mttyji");
72
+ internal.attr(span, "class", "item-label-item__text svelte-1hzvil1");
73
+ internal.attr(div0, "class", "item-label-item__text-wrap svelte-1hzvil1");
73
74
  internal.set_style(div0, "top", `-${/*itemLabel*/ ctx[0].strokeLength + 26}px`);
74
- internal.attr(div1, "class", "item-label-item__bar svelte-1mttyji");
75
+ internal.attr(div1, "class", "item-label-item__bar svelte-1hzvil1");
75
76
  internal.set_style(div1, "height", `${/*itemLabel*/ ctx[0].strokeLength}px`);
76
- internal.attr(div2, "class", div2_class_value = "" + (internal.null_to_empty(classNames__default["default"]("item-label-item", { visible: /*itemLabel*/ ctx[0].visible })) + " svelte-1mttyji"));
77
+ internal.attr(div2, "class", div2_class_value = "" + (internal.null_to_empty(classNames__default["default"]("item-label-item", { visible: /*itemLabel*/ ctx[0].visible })) + " svelte-1hzvil1"));
77
78
  internal.set_style(div2, "z-index", /*itemLabel*/ ctx[0].zIndex, false);
78
79
  internal.set_style(div2, "transform", /*itemLabel*/ ctx[0].transform, false);
79
80
  },
@@ -103,7 +104,7 @@ function create_fragment$1(ctx) {
103
104
  internal.set_style(div1, "height", `${/*itemLabel*/ ctx[0].strokeLength}px`);
104
105
  }
105
106
 
106
- 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"))) {
107
+ 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-1hzvil1"))) {
107
108
  internal.attr(div2, "class", div2_class_value);
108
109
  }
109
110
 
@@ -149,19 +150,34 @@ class ItemLabelItem extends internal.SvelteComponent {
149
150
  }
150
151
  }
151
152
 
153
+ /**
154
+ * 创建一个防抖动函数,该函数会在 wait 毫秒后调用 func 方法
155
+ * @param func - 要防抖动的函数
156
+ * @param [wait=0] - 需要延迟的毫秒数
157
+ */
158
+ function debounce(func, wait = 200) {
159
+ let last;
160
+ return function (...args) {
161
+ clearTimeout(last);
162
+ last = setTimeout(() => {
163
+ func(...args);
164
+ }, wait);
165
+ };
166
+ }
167
+
152
168
  /* src/ModelItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.47.0 */
153
169
 
154
170
  function add_css(target) {
155
- internal.append_styles(target, "svelte-rmdeb", ".item-labels-container.svelte-rmdeb{width:100%;height:100%;position:relative}");
171
+ internal.append_styles(target, "svelte-gk8s47", ".item-labels-container.svelte-gk8s47{width:100%;height:100%;position:relative}");
156
172
  }
157
173
 
158
174
  function get_each_context(ctx, list, i) {
159
175
  const child_ctx = ctx.slice();
160
- child_ctx[26] = list[i];
176
+ child_ctx[28] = list[i];
161
177
  return child_ctx;
162
178
  }
163
179
 
164
- // (179:1) {#each renderItemLabels as itemLabelItem (itemLabelItem.id)}
180
+ // (162:1) {#each renderItemLabels as itemLabelItem (itemLabelItem.id)}
165
181
  function create_each_block(key_1, ctx) {
166
182
  let first;
167
183
  let itemlabelitem;
@@ -169,7 +185,7 @@ function create_each_block(key_1, ctx) {
169
185
 
170
186
  itemlabelitem = new ItemLabelItem({
171
187
  props: {
172
- itemLabel: /*itemLabelItem*/ ctx[26],
188
+ itemLabel: /*itemLabelItem*/ ctx[28],
173
189
  hooks: /*hooks*/ ctx[0]
174
190
  }
175
191
  });
@@ -190,7 +206,7 @@ function create_each_block(key_1, ctx) {
190
206
  p(new_ctx, dirty) {
191
207
  ctx = new_ctx;
192
208
  const itemlabelitem_changes = {};
193
- if (dirty & /*renderItemLabels*/ 2) itemlabelitem_changes.itemLabel = /*itemLabelItem*/ ctx[26];
209
+ if (dirty & /*renderItemLabels*/ 2) itemlabelitem_changes.itemLabel = /*itemLabelItem*/ ctx[28];
194
210
  if (dirty & /*hooks*/ 1) itemlabelitem_changes.hooks = /*hooks*/ ctx[0];
195
211
  itemlabelitem.$set(itemlabelitem_changes);
196
212
  },
@@ -217,7 +233,7 @@ function create_fragment(ctx) {
217
233
  let div_resize_listener;
218
234
  let current;
219
235
  let each_value = /*renderItemLabels*/ ctx[1];
220
- const get_key = ctx => /*itemLabelItem*/ ctx[26].id;
236
+ const get_key = ctx => /*itemLabelItem*/ ctx[28].id;
221
237
 
222
238
  for (let i = 0; i < each_value.length; i += 1) {
223
239
  let child_ctx = get_each_context(ctx, each_value, i);
@@ -233,8 +249,9 @@ function create_fragment(ctx) {
233
249
  each_blocks[i].c();
234
250
  }
235
251
 
236
- internal.attr(div, "class", "item-labels-container svelte-rmdeb");
237
- internal.add_render_callback(() => /*div_elementresize_handler*/ ctx[9].call(div));
252
+ internal.attr(div, "class", "item-labels-container svelte-gk8s47");
253
+ internal.add_render_callback(() => /*div_elementresize_handler*/ ctx[10].call(div));
254
+ internal.set_style(div, "opacity", /*itemsVisible*/ ctx[4] ? 1 : 0, false);
238
255
  },
239
256
  m(target, anchor) {
240
257
  internal.insert(target, div, anchor);
@@ -243,7 +260,7 @@ function create_fragment(ctx) {
243
260
  each_blocks[i].m(div, null);
244
261
  }
245
262
 
246
- div_resize_listener = internal.add_resize_listener(div, /*div_elementresize_handler*/ ctx[9].bind(div));
263
+ div_resize_listener = internal.add_resize_listener(div, /*div_elementresize_handler*/ ctx[10].bind(div));
247
264
  current = true;
248
265
  },
249
266
  p(ctx, [dirty]) {
@@ -253,6 +270,10 @@ function create_fragment(ctx) {
253
270
  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);
254
271
  internal.check_outros();
255
272
  }
273
+
274
+ if (dirty & /*itemsVisible*/ 16) {
275
+ internal.set_style(div, "opacity", /*itemsVisible*/ ctx[4] ? 1 : 0, false);
276
+ }
256
277
  },
257
278
  i(local) {
258
279
  if (current) return;
@@ -302,6 +323,14 @@ function instance($$self, $$props, $$invalidate) {
302
323
  // 计算重叠
303
324
  let cssOffsetLists = [];
304
325
 
326
+ // 动画过程中 itemsVisible 为 false
327
+ let itemsVisible = true;
328
+
329
+ /**
330
+ * 可见性策略:
331
+ * 1、当前楼层(假设先不考虑多楼层)
332
+ * 2、模型未被遮挡(一个 box 有没有被遮挡的计算? TODO)
333
+ * */
305
334
  const getLabelVisible = (five, itemLabel) => {
306
335
  // 虚拟 VR 仅有一层,不考虑楼层信息
307
336
  const raycaster = new Raycaster();
@@ -355,6 +384,8 @@ function instance($$self, $$props, $$invalidate) {
355
384
  return Math.ceil(-38.9 * itemSpaceHeight + 130);
356
385
  case DISPLAY_STRATEGY_TYPE.LARGE:
357
386
  return Math.ceil(-44.44 * itemSpaceHeight + 140);
387
+ case DISPLAY_STRATEGY_TYPE.EXTRA_LARGE:
388
+ return Math.ceil(-92.59 * itemSpaceHeight + 300);
358
389
  }
359
390
  }
360
391
 
@@ -401,15 +432,27 @@ function instance($$self, $$props, $$invalidate) {
401
432
  addDataUpdateListener();
402
433
  });
403
434
 
435
+ const handleCameraUpdateCallback = () => {
436
+ $$invalidate(4, itemsVisible = false);
437
+ handleCameraUpdate();
438
+ };
439
+
404
440
  svelte.onMount(() => {
405
441
  $$invalidate(1, renderItemLabels = itemLabels);
406
442
  curItemLabels = itemLabels;
407
443
  onItemLabelUpdate();
408
-
409
- // five.on('cameraUpdate', onItemLabelUpdate)
410
444
  addResizeListener();
445
+ five.on('cameraUpdate', handleCameraUpdateCallback);
411
446
  });
412
447
 
448
+ const handleCameraUpdate = debounce(
449
+ () => {
450
+ $$invalidate(4, itemsVisible = true);
451
+ onItemLabelUpdate();
452
+ },
453
+ 300
454
+ );
455
+
413
456
  const addResizeListener = () => {
414
457
  wrapperSize = {
415
458
  width: wrapper.clientWidth,
@@ -423,7 +466,6 @@ function instance($$self, $$props, $$invalidate) {
423
466
  if (curItemLabels !== itemLabels) {
424
467
  $$invalidate(1, renderItemLabels = itemLabels);
425
468
  curItemLabels = itemLabels;
426
- console.log('--debug--update--');
427
469
  onItemLabelUpdate();
428
470
  }
429
471
  };
@@ -441,13 +483,11 @@ function instance($$self, $$props, $$invalidate) {
441
483
  });
442
484
 
443
485
  svelte.onDestroy(() => {
444
- // five.off('cameraUpdate', onItemLabelUpdate)
486
+ five.off('cameraUpdate', handleCameraUpdateCallback);
445
487
  resizeObserver.unobserve(wrapper);
446
-
447
- curItemLabels = null;
448
- $$invalidate(1, renderItemLabels = null);
449
- wrapperSize = { width: 0, height: 0 };
450
- });
488
+ }); // curItemLabels = null
489
+ // renderItemLabels = null
490
+ // wrapperSize = { width: 0, height: 0 }
451
491
 
452
492
  function div_elementresize_handler() {
453
493
  containerWidth = this.clientWidth;
@@ -457,12 +497,12 @@ function instance($$self, $$props, $$invalidate) {
457
497
  }
458
498
 
459
499
  $$self.$$set = $$props => {
460
- if ('five' in $$props) $$invalidate(4, five = $$props.five);
461
- if ('modelOcclusionEnable' in $$props) $$invalidate(5, modelOcclusionEnable = $$props.modelOcclusionEnable);
462
- if ('itemLabels' in $$props) $$invalidate(6, itemLabels = $$props.itemLabels);
463
- if ('wrapper' in $$props) $$invalidate(7, wrapper = $$props.wrapper);
500
+ if ('five' in $$props) $$invalidate(5, five = $$props.five);
501
+ if ('modelOcclusionEnable' in $$props) $$invalidate(6, modelOcclusionEnable = $$props.modelOcclusionEnable);
502
+ if ('itemLabels' in $$props) $$invalidate(7, itemLabels = $$props.itemLabels);
503
+ if ('wrapper' in $$props) $$invalidate(8, wrapper = $$props.wrapper);
464
504
  if ('hooks' in $$props) $$invalidate(0, hooks = $$props.hooks);
465
- if ('displayStrategyType' in $$props) $$invalidate(8, displayStrategyType = $$props.displayStrategyType);
505
+ if ('displayStrategyType' in $$props) $$invalidate(9, displayStrategyType = $$props.displayStrategyType);
466
506
  };
467
507
 
468
508
  return [
@@ -470,6 +510,7 @@ function instance($$self, $$props, $$invalidate) {
470
510
  renderItemLabels,
471
511
  containerWidth,
472
512
  containerHeight,
513
+ itemsVisible,
473
514
  five,
474
515
  modelOcclusionEnable,
475
516
  itemLabels,
@@ -490,12 +531,12 @@ class ItemLabelComponent extends internal.SvelteComponent {
490
531
  create_fragment,
491
532
  internal.safe_not_equal,
492
533
  {
493
- five: 4,
494
- modelOcclusionEnable: 5,
495
- itemLabels: 6,
496
- wrapper: 7,
534
+ five: 5,
535
+ modelOcclusionEnable: 6,
536
+ itemLabels: 7,
537
+ wrapper: 8,
497
538
  hooks: 0,
498
- displayStrategyType: 8
539
+ displayStrategyType: 9
499
540
  },
500
541
  add_css
501
542
  );
@@ -520,7 +561,6 @@ const ModelItemLabelPlugin = (five$1, params) => {
520
561
  hooks: new five.Subscribe(),
521
562
  modelOcclusionEnable: (_a = params === null || params === void 0 ? void 0 : params.modelOcclusionEnable) !== null && _a !== void 0 ? _a : true,
522
563
  displayStrategyType: (_b = params === null || params === void 0 ? void 0 : params.displayStrategyType) !== null && _b !== void 0 ? _b : DISPLAY_STRATEGY_TYPE.SMALL,
523
- pending: false
524
564
  };
525
565
  pluginState.container.setAttribute('class', 'model-item-label-plugin-container');
526
566
  pluginState.container.style.cssText = `
@@ -529,6 +569,7 @@ const ModelItemLabelPlugin = (five$1, params) => {
529
569
  top: 0;
530
570
  width: 100%;
531
571
  height: 100%;
572
+ z-index: 5;
532
573
  `;
533
574
  pluginState.container.style.pointerEvents = 'none'; // 写到 cssText 里不生效
534
575
  const appendTo = (wrapper) => {
@@ -559,50 +600,6 @@ const ModelItemLabelPlugin = (five$1, params) => {
559
600
  removeListener4Five();
560
601
  pluginState.container.remove();
561
602
  };
562
- const handleRerender = () => {
563
- if (!pluginState.enabled || !pluginState.fiveModeEnabled || pluginState.pending)
564
- return;
565
- pluginState.pending = true;
566
- disable();
567
- };
568
- const rerender = (a, b, c) => {
569
- if (!pluginState.pending)
570
- return;
571
- if (!pluginState.fiveModeEnabled)
572
- return;
573
- if (!c)
574
- return;
575
- pluginState.pending = false;
576
- enable();
577
- render();
578
- };
579
- const handleInteriaPanRerender = (a, b) => {
580
- if (!pluginState.pending)
581
- return;
582
- if (!pluginState.fiveModeEnabled)
583
- return;
584
- if (!b)
585
- return;
586
- pluginState.pending = false;
587
- enable();
588
- render();
589
- };
590
- const handleWantsPanGesture = (pose, final) => {
591
- if (pose) {
592
- handleRerender();
593
- }
594
- };
595
- const handlePanGesture = (pose, final) => {
596
- if (!pluginState.pending)
597
- return;
598
- if (!pluginState.fiveModeEnabled)
599
- return;
600
- if (!final)
601
- return;
602
- pluginState.pending = false;
603
- enable();
604
- render();
605
- };
606
603
  const render = () => {
607
604
  var _a;
608
605
  if (!pluginState.wrapper)
@@ -638,33 +635,13 @@ const ModelItemLabelPlugin = (five$1, params) => {
638
635
  const addListener4Five = () => {
639
636
  five$1.on('modeChange', onFiveModeChange);
640
637
  five$1.once('dispose', dispose);
641
- // five.on('wantsGesture', handleRerender)
642
- // five.on('gesture', rerender)
643
- five$1.on('wantsMouseWheel', handleRerender);
644
- five$1.on('mouseWheel', rerender);
645
- five$1.on('wantsInteriaPan', handleRerender);
646
- five$1.on('interiaPan', handleInteriaPanRerender);
647
- five$1.on('wantsPanGesture', handleWantsPanGesture);
648
- five$1.on('panGesture', handlePanGesture);
649
- five$1.on('wantsPinchGesture', handleRerender);
650
- five$1.on('pinchGesture', rerender);
651
638
  };
652
639
  // 取消 five 监听
653
640
  const removeListener4Five = () => {
654
641
  five$1.off('modeChange', onFiveModeChange);
655
- // five.off('wantsGesture', handleRerender)
656
- // five.off('gesture', rerender)
657
- five$1.off('wantsMouseWheel', handleRerender);
658
- five$1.off('mouseWheel', rerender);
659
- five$1.off('wantsInteriaPan', handleRerender);
660
- five$1.off('interiaPan', handleInteriaPanRerender);
661
- five$1.off('wantsPanGesture', handleWantsPanGesture);
662
- five$1.off('panGesture', handlePanGesture);
663
- five$1.off('wantsPinchGesture', handleRerender);
664
- five$1.off('pinchGesture', rerender);
665
642
  };
666
643
  const onFiveModeChange = (mode) => {
667
- if (!pluginState.enabled || pluginState.pending)
644
+ if (!pluginState.enabled)
668
645
  return;
669
646
  if (mode !== five.Five.Mode.Floorplan) {
670
647
  pluginState.fiveModeEnabled = false;
@@ -4,7 +4,8 @@ import { PluginEvent } from "./events.type";
4
4
  export declare enum DISPLAY_STRATEGY_TYPE {
5
5
  SMALL = "small",
6
6
  MIDLLE = "middle",
7
- LARGE = "large"
7
+ LARGE = "large",
8
+ EXTRA_LARGE = "x-large"
8
9
  }
9
10
  export interface ModelItemLabelPluginParametersType {
10
11
  modelOcclusionEnable?: boolean;
@@ -52,5 +53,4 @@ export interface ModelItemLabelPluginState {
52
53
  hooks: Subscribe<PluginEvent>;
53
54
  modelOcclusionEnable: boolean;
54
55
  displayStrategyType: Partial<DISPLAY_STRATEGY_TYPE>;
55
- pending: boolean;
56
56
  }
@@ -11,7 +11,7 @@ const ROOM_LABEL_BG = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAA8CAY
11
11
  /* src/ModelRoomLabelPlugin/RoomLabelItem.svelte generated by Svelte v3.47.0 */
12
12
 
13
13
  function add_css$1(target) {
14
- 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}");
14
+ internal.append_styles(target, "svelte-1ak9fbs", ".room-label-item.svelte-1ak9fbs{position:absolute;font-size:0.41667rem;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.room-label-item__text.svelte-1ak9fbs{position:absolute;left:0;top:-3.33333rem;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center;height:1.04167rem;min-width:1.66667rem;padding:0 0.3125rem;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap}.room-label-item__bar.svelte-1ak9fbs{position:absolute;top:-2.29167rem;height:2.5rem;width:1px;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0))}.wide.svelte-1ak9fbs{font-size:0.52083rem}");
15
15
  }
16
16
 
17
17
  function create_fragment$1(ctx) {
@@ -31,11 +31,11 @@ function create_fragment$1(ctx) {
31
31
  t0 = internal.text(t0_value);
32
32
  t1 = internal.space();
33
33
  div0 = internal.element("div");
34
- internal.attr(span, "class", "room-label-item__text svelte-17nkflf");
34
+ internal.attr(span, "class", "room-label-item__text svelte-1ak9fbs");
35
35
  internal.set_style(span, "background-image", "url(" + ROOM_LABEL_BG + ")");
36
36
  internal.toggle_class(span, "wide", /*roomLabel*/ ctx[0].name.length > 3);
37
- internal.attr(div0, "class", "room-label-item__bar svelte-17nkflf");
38
- internal.attr(div1, "class", "room-label-item svelte-17nkflf");
37
+ internal.attr(div0, "class", "room-label-item__bar svelte-1ak9fbs");
38
+ internal.attr(div1, "class", "room-label-item svelte-1ak9fbs");
39
39
  internal.set_style(div1, "z-index", /*roomLabel*/ ctx[0].zIndex, false);
40
40
  internal.set_style(div1, "transform", /*roomLabel*/ ctx[0].transform, false);
41
41
  internal.set_style(div1, "opacity", /*roomLabel*/ ctx[0].visible ? 1 : 0, false);
@@ -111,7 +111,7 @@ class RoomLabelItem extends internal.SvelteComponent {
111
111
  /* src/ModelRoomLabelPlugin/RoomLabelItems.svelte generated by Svelte v3.47.0 */
112
112
 
113
113
  function add_css(target) {
114
- internal.append_styles(target, "svelte-185yvaa", ".room-labels-container.svelte-185yvaa{width:100%;height:100%;position:relative;color:#fff}");
114
+ internal.append_styles(target, "svelte-9eg4zi", ".room-labels-container.svelte-9eg4zi{width:100%;height:100%;position:relative;color:#fff}");
115
115
  }
116
116
 
117
117
  function get_each_context(ctx, list, i) {
@@ -192,7 +192,7 @@ function create_fragment(ctx) {
192
192
  each_blocks[i].c();
193
193
  }
194
194
 
195
- internal.attr(div, "class", "room-labels-container svelte-185yvaa");
195
+ internal.attr(div, "class", "room-labels-container svelte-9eg4zi");
196
196
  internal.add_render_callback(() => /*div_elementresize_handler*/ ctx[4].call(div));
197
197
  },
198
198
  m(target, anchor) {
@@ -425,6 +425,7 @@ class ModelRoomLabelController {
425
425
  this.container.style.pointerEvents = 'none';
426
426
  this.container.style.left = '0';
427
427
  this.container.style.top = '0';
428
+ this.container.style.zIndex = '5';
428
429
  // five listener
429
430
  this.five.once('dispose', () => this.dispose());
430
431
  this.five.on('modeChange', this.onFiveModeChange);
@@ -239,7 +239,7 @@ const currentTarget = store.writable(null);
239
239
  /* src/PanoSpatialTagPlugin/Components/origins.svelte generated by Svelte v3.47.0 */
240
240
 
241
241
  function add_css$1(target) {
242
- 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}}");
242
+ internal.append_styles(target, "svelte-1kuu68s", ".PanoSpatialTagPlugin__tag-origin.svelte-1kuu68s{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;-webkit-animation:svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin 1.2s forwards;animation:svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin 1.2s forwards;pointer-events:auto}.PanoSpatialTagPlugin__tag-origin.svelte-1kuu68s:after{content:'';position:absolute;top:50%;height:50%;width:2rem;height:2rem;transform:translate(-50%, -50%)}.PanoSpatialTagPlugin__tag-origin-destroy.svelte-1kuu68s{transform:translate(-50%, -50%) scale(0.6);-webkit-animation:svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s;animation:svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s}@-webkit-keyframes svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@keyframes svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@-webkit-keyframes svelte-1kuu68s-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}}@keyframes svelte-1kuu68s-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}}");
243
243
  }
244
244
 
245
245
  function get_each_context(ctx, list, i) {
@@ -263,7 +263,7 @@ function create_each_block(ctx) {
263
263
  return {
264
264
  c() {
265
265
  i = internal.element("i");
266
- internal.attr(i, "class", "svelte-scnx9u");
266
+ internal.attr(i, "class", "svelte-1kuu68s");
267
267
  internal.toggle_class(i, "PanoSpatialTagPlugin__tag-origin", true);
268
268
  internal.toggle_class(i, "PanoSpatialTagPlugin__tag-origin-destroy", /*origin*/ ctx[3].destroying);
269
269
  internal.set_style(i, "top", style_top, false);
@@ -388,7 +388,7 @@ class Origins extends internal.SvelteComponent {
388
388
  /* src/PanoSpatialTagPlugin/Components/tag.svelte generated by Svelte v3.47.0 */
389
389
 
390
390
  function add_css(target) {
391
- 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)}}");
391
+ internal.append_styles(target, "svelte-1wukaol", ".PanoSpatialTagPlugin__tag-x.svelte-1wukaol.svelte-1wukaol{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-1wukaol.svelte-1wukaol{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-1wukaol.svelte-1wukaol{position:absolute;left:-1rem;width:2rem;height:100%;overflow:hidden}.PanoSpatialTagPlugin__tag-flagpole.svelte-1wukaol.svelte-1wukaol{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-1wukaol.svelte-1wukaol{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-1wukaol.svelte-1wukaol{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-1wukaol .PanoSpatialTagPlugin__tag-line1.svelte-1wukaol{-webkit-animation:svelte-1wukaol-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s;animation:svelte-1wukaol-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s}.PanoSpatialTagPlugin__tag-show.svelte-1wukaol .PanoSpatialTagPlugin__tag-line2.svelte-1wukaol{-webkit-animation:svelte-1wukaol-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s;animation:svelte-1wukaol-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s}.PanoSpatialTagPlugin__tag-x.PanoSpatialTagPlugin__tag-upside-down.svelte-1wukaol.svelte-1wukaol{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1wukaol .PanoSpatialTagPlugin__tag-line.svelte-1wukaol{transform:scaleY(-1)}.PanoSpatialTagPlugin__tag-animate.svelte-1wukaol.svelte-1wukaol{position:relative;height:100%;overflow:hidden;transform-origin:left top;transition:transform .5s linear}.PanoSpatialTagPlugin__tag-upside-down.svelte-1wukaol .PanoSpatialTagPlugin__tag-animate.svelte-1wukaol{transform-origin:left bottom}.PanoSpatialTagPlugin__tag-content.svelte-1wukaol.svelte-1wukaol{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-1wukaol .PanoSpatialTagPlugin__tag-content.svelte-1wukaol{bottom:0}.PanoSpatialTagPlugin__tag-show.svelte-1wukaol .PanoSpatialTagPlugin__tag-flagpole.svelte-1wukaol{opacity:1;transform:translate(-50%, 0) scaleY(1)}.PanoSpatialTagPlugin__tag-upside-down.svelte-1wukaol .PanoSpatialTagPlugin__tag-shadow.svelte-1wukaol{top:unset;bottom:-15rem}.PanoSpatialTagPlugin__tag-show.svelte-1wukaol .PanoSpatialTagPlugin__tag-shadow.svelte-1wukaol{opacity:.32}.PanoSpatialTagPlugin__tag-show.svelte-1wukaol .PanoSpatialTagPlugin__tag-content.svelte-1wukaol{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-hide.svelte-1wukaol .PanoSpatialTagPlugin__tag-flagpole.svelte-1wukaol{opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .5s .55s, opacity .4s .55s}.PanoSpatialTagPlugin__tag-hide.svelte-1wukaol .PanoSpatialTagPlugin__tag-shadow.svelte-1wukaol{opacity:0;transition:opacity .8s}.PanoSpatialTagPlugin__tag-hide.svelte-1wukaol .PanoSpatialTagPlugin__tag-content.svelte-1wukaol{transform:translate(-100%, 0);transition:transform .6s cubic-bezier(.53,.06,.88,.59)}.PanoSpatialTagPlugin__tag-hide.svelte-1wukaol .PanoSpatialTagPlugin__tag-content .svelte-1wukaol{pointer-events:none}.PanoSpatialTagPlugin__tag-hide.svelte-1wukaol .PanoSpatialTagPlugin__tag-line1.svelte-1wukaol{opacity:0.5;transform:translate(-50%, 10%) scaleY(0);-webkit-animation:svelte-1wukaol-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s;animation:svelte-1wukaol-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s}.PanoSpatialTagPlugin__tag-hide.svelte-1wukaol .PanoSpatialTagPlugin__tag-line2.svelte-1wukaol{opacity:0.5;transform:translate(-50%, 0) scaleY(0);-webkit-animation:svelte-1wukaol-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s;animation:svelte-1wukaol-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s}@-webkit-keyframes svelte-1wukaol-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-1wukaol-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)}}@-webkit-keyframes svelte-1wukaol-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-1wukaol-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)}}@-webkit-keyframes svelte-1wukaol-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-1wukaol-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)}}@-webkit-keyframes svelte-1wukaol-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)}}@keyframes svelte-1wukaol-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)}}");
392
392
  }
393
393
 
394
394
  function create_fragment(ctx) {
@@ -422,19 +422,19 @@ function create_fragment(ctx) {
422
422
  t3 = internal.space();
423
423
  div3 = internal.element("div");
424
424
  div2 = internal.element("div");
425
- internal.attr(div0, "class", "PanoSpatialTagPlugin__tag-shadow svelte-1c0xhg0");
425
+ internal.attr(div0, "class", "PanoSpatialTagPlugin__tag-shadow svelte-1wukaol");
426
426
  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)");
427
- internal.attr(i0, "class", "PanoSpatialTagPlugin__tag-flagpole svelte-1c0xhg0");
427
+ internal.attr(i0, "class", "PanoSpatialTagPlugin__tag-flagpole svelte-1wukaol");
428
428
  internal.set_style(i0, "width", /*lineWidthZoom*/ ctx[4] + "rem");
429
- internal.attr(i1, "class", "PanoSpatialTagPlugin__tag-line1 svelte-1c0xhg0");
430
- internal.attr(i2, "class", "PanoSpatialTagPlugin__tag-line2 svelte-1c0xhg0");
431
- internal.attr(div1, "class", "PanoSpatialTagPlugin__tag-line svelte-1c0xhg0");
432
- internal.attr(div2, "class", "PanoSpatialTagPlugin__tag-content svelte-1c0xhg0");
433
- internal.attr(div3, "class", "PanoSpatialTagPlugin__tag-animate svelte-1c0xhg0");
429
+ internal.attr(i1, "class", "PanoSpatialTagPlugin__tag-line1 svelte-1wukaol");
430
+ internal.attr(i2, "class", "PanoSpatialTagPlugin__tag-line2 svelte-1wukaol");
431
+ internal.attr(div1, "class", "PanoSpatialTagPlugin__tag-line svelte-1wukaol");
432
+ internal.attr(div2, "class", "PanoSpatialTagPlugin__tag-content svelte-1wukaol");
433
+ internal.attr(div3, "class", "PanoSpatialTagPlugin__tag-animate svelte-1wukaol");
434
434
  internal.set_style(div3, "transform", "scale(" + /*contentZoom*/ ctx[3] * 3 + ")");
435
435
  internal.attr(div4, "id", div4_id_value = 'PanoSpatialTagPlugin__' + /*id*/ ctx[0]);
436
436
  internal.set_style(div4, "height", 20 * /*lineHeightZoom*/ ctx[5] + "rem");
437
- internal.attr(div4, "class", "svelte-1c0xhg0");
437
+ internal.attr(div4, "class", "svelte-1wukaol");
438
438
  internal.toggle_class(div4, "PanoSpatialTagPlugin__tag-x", true);
439
439
  internal.toggle_class(div4, "PanoSpatialTagPlugin__tag-upside-down", /*upsideDown*/ ctx[1]);
440
440
  internal.toggle_class(div4, "PanoSpatialTagPlugin__tag-show", /*show*/ ctx[10]);