@eyeon/map 2.0.2 → 2.0.3

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 (110) hide show
  1. package/dist/assets/MapViewer.css +1 -1
  2. package/dist/assets/index.css +1 -1
  3. package/dist/chunks/MapViewer.js +1332 -1091
  4. package/dist/chunks/MapViewer.js.map +1 -1
  5. package/dist/chunks/graph-tools.js +246 -0
  6. package/dist/chunks/graph-tools.js.map +1 -0
  7. package/dist/chunks/stacking.js +885 -780
  8. package/dist/chunks/stacking.js.map +1 -1
  9. package/dist/core/filletPolygon.d.ts +10 -0
  10. package/dist/core/filletPolygon.d.ts.map +1 -0
  11. package/dist/core/import/index.d.ts +4 -0
  12. package/dist/core/import/index.d.ts.map +1 -1
  13. package/dist/core/index.d.ts +3 -0
  14. package/dist/core/index.d.ts.map +1 -1
  15. package/dist/core/index.js +89 -220
  16. package/dist/core/index.js.map +1 -1
  17. package/dist/core/layerStyles.d.ts +16 -0
  18. package/dist/core/layerStyles.d.ts.map +1 -1
  19. package/dist/core/mediaUrl.d.ts +3 -0
  20. package/dist/core/mediaUrl.d.ts.map +1 -0
  21. package/dist/core/outdoorDecoration.d.ts +16 -0
  22. package/dist/core/outdoorDecoration.d.ts.map +1 -0
  23. package/dist/core/routing/graph-tools.d.ts +23 -1
  24. package/dist/core/routing/graph-tools.d.ts.map +1 -1
  25. package/dist/core/routing/pathfinding.d.ts.map +1 -1
  26. package/dist/core/types.d.ts +5 -1
  27. package/dist/core/types.d.ts.map +1 -1
  28. package/dist/editor/MapEditor.d.ts +1 -1
  29. package/dist/editor/MapEditor.d.ts.map +1 -1
  30. package/dist/editor/canvas/EditorCanvas.d.ts +45 -7
  31. package/dist/editor/canvas/EditorCanvas.d.ts.map +1 -1
  32. package/dist/editor/canvas/OutdoorSvgUnderlay.d.ts +7 -0
  33. package/dist/editor/canvas/OutdoorSvgUnderlay.d.ts.map +1 -0
  34. package/dist/editor/canvas/coords.d.ts +30 -0
  35. package/dist/editor/canvas/coords.d.ts.map +1 -1
  36. package/dist/editor/canvas/editorFill.d.ts +10 -0
  37. package/dist/editor/canvas/editorFill.d.ts.map +1 -0
  38. package/dist/editor/canvas/editorHover.d.ts +14 -0
  39. package/dist/editor/canvas/editorHover.d.ts.map +1 -0
  40. package/dist/editor/canvas/underlayHint.d.ts +5 -0
  41. package/dist/editor/canvas/underlayHint.d.ts.map +1 -0
  42. package/dist/editor/connectorAssignments.d.ts +64 -0
  43. package/dist/editor/connectorAssignments.d.ts.map +1 -0
  44. package/dist/editor/draftOps.d.ts +4 -1
  45. package/dist/editor/draftOps.d.ts.map +1 -1
  46. package/dist/editor/editorSectionReturn.d.ts +12 -0
  47. package/dist/editor/editorSectionReturn.d.ts.map +1 -0
  48. package/dist/editor/floorsListReturn.d.ts +5 -0
  49. package/dist/editor/floorsListReturn.d.ts.map +1 -0
  50. package/dist/editor/geometryEdit.d.ts +23 -3
  51. package/dist/editor/geometryEdit.d.ts.map +1 -1
  52. package/dist/editor/hexColor.d.ts +4 -0
  53. package/dist/editor/hexColor.d.ts.map +1 -0
  54. package/dist/editor/history.d.ts +31 -0
  55. package/dist/editor/history.d.ts.map +1 -0
  56. package/dist/editor/index.css +270 -52
  57. package/dist/editor/index.d.ts +4 -4
  58. package/dist/editor/index.d.ts.map +1 -1
  59. package/dist/editor/index.js +5746 -1678
  60. package/dist/editor/index.js.map +1 -1
  61. package/dist/editor/labelText.d.ts +15 -0
  62. package/dist/editor/labelText.d.ts.map +1 -0
  63. package/dist/editor/panels/ConnectorAssign.d.ts +12 -0
  64. package/dist/editor/panels/ConnectorAssign.d.ts.map +1 -0
  65. package/dist/editor/panels/FloorsPanel.d.ts +4 -0
  66. package/dist/editor/panels/FloorsPanel.d.ts.map +1 -1
  67. package/dist/editor/panels/ImportReviewPanel.d.ts.map +1 -1
  68. package/dist/editor/panels/Inspector.d.ts +3 -2
  69. package/dist/editor/panels/Inspector.d.ts.map +1 -1
  70. package/dist/editor/panels/LeftRail.d.ts +9 -7
  71. package/dist/editor/panels/LeftRail.d.ts.map +1 -1
  72. package/dist/editor/pathRings.d.ts +79 -0
  73. package/dist/editor/pathRings.d.ts.map +1 -0
  74. package/dist/editor/portalSurface.d.ts +29 -3
  75. package/dist/editor/portalSurface.d.ts.map +1 -1
  76. package/dist/editor/railAssignments.d.ts +22 -0
  77. package/dist/editor/railAssignments.d.ts.map +1 -0
  78. package/dist/editor/routeStubs.d.ts +103 -0
  79. package/dist/editor/routeStubs.d.ts.map +1 -0
  80. package/dist/editor/snapPoint.d.ts +5 -0
  81. package/dist/editor/snapPoint.d.ts.map +1 -0
  82. package/dist/editor/splitJoin.d.ts +78 -0
  83. package/dist/editor/splitJoin.d.ts.map +1 -0
  84. package/dist/editor/tools.d.ts +35 -6
  85. package/dist/editor/tools.d.ts.map +1 -1
  86. package/dist/test-maps/shops-at-south-town/BASE - Shops At South Town.ai +6326 -6407
  87. package/dist/test-maps/shops-at-south-town/LF - Shops At South Town.ai +458 -484
  88. package/dist/test-maps/shops-at-south-town/SVG/BASE - Shops At South Town.svg +6 -6
  89. package/dist/test-maps/shops-at-south-town/SVG/LF - Shops At South Town.svg +52 -52
  90. package/dist/test-maps/shops-at-south-town/SVG/UF - Shops At South Town.svg +74 -74
  91. package/dist/test-maps/shops-at-south-town/UF - Shops At South Town.ai +341 -436
  92. package/dist/ui/ModernSelect.d.ts +14 -0
  93. package/dist/ui/ModernSelect.d.ts.map +1 -0
  94. package/dist/ui/selectSearch.d.ts +9 -0
  95. package/dist/ui/selectSearch.d.ts.map +1 -0
  96. package/dist/viewer/camera.d.ts +3 -0
  97. package/dist/viewer/camera.d.ts.map +1 -1
  98. package/dist/viewer/components/CameraRig.d.ts.map +1 -1
  99. package/dist/viewer/components/LevelMeshes.d.ts.map +1 -1
  100. package/dist/viewer/components/MapScene.d.ts.map +1 -1
  101. package/dist/viewer/components/SvgVectorLayer.d.ts +2 -2
  102. package/dist/viewer/components/SvgVectorLayer.d.ts.map +1 -1
  103. package/dist/viewer/index.css +115 -5
  104. package/dist/viewer/index.d.ts +1 -1
  105. package/dist/viewer/index.d.ts.map +1 -1
  106. package/dist/viewer/index.js +3 -3
  107. package/dist/viewer/ui/MapControls.d.ts +11 -3
  108. package/dist/viewer/ui/MapControls.d.ts.map +1 -1
  109. package/dist/viewer/ui/RuntimeChrome.d.ts.map +1 -1
  110. package/package.json +1 -1
@@ -184,11 +184,8 @@
184
184
  color: #475569;
185
185
  }
186
186
 
187
- .eyeon-map-chrome__route select {
188
- font-size: 12px;
189
- padding: 6px;
190
- border-radius: 6px;
191
- border: 1px solid #e2e8f0;
187
+ .eyeon-map-chrome__route .eyeon-map-select {
188
+ width: 100%;
192
189
  }
193
190
 
194
191
  .eyeon-map-chrome__accessible {
@@ -311,6 +308,8 @@
311
308
  font-size: 12px;
312
309
  border: 1px solid #e2e8f0;
313
310
  border-radius: 8px;
311
+ -webkit-user-select: none;
312
+ user-select: none;
314
313
  }
315
314
 
316
315
  .eyeon-map-editor button,
@@ -320,6 +319,12 @@
320
319
  font-family: inherit;
321
320
  }
322
321
 
322
+ .eyeon-map-editor input,
323
+ .eyeon-map-editor textarea {
324
+ -webkit-user-select: text;
325
+ user-select: text;
326
+ }
327
+
323
328
  /* Admin / Storybook PORTAL editor — Map options (LeftRail) is in-library. */
324
329
  .eyeon-map-editor--PORTAL {
325
330
  grid-template-columns: 300px minmax(0, 1fr);
@@ -335,12 +340,18 @@
335
340
  background: #fff;
336
341
  }
337
342
 
343
+ .eyeon-map-rail__header,
344
+ .eyeon-map-editor__toolbar {
345
+ box-sizing: border-box;
346
+ height: 49px;
347
+ min-height: 49px;
348
+ }
349
+
338
350
  .eyeon-map-rail__header {
339
351
  display: flex;
340
352
  align-items: center;
341
353
  gap: 8px;
342
354
  flex-shrink: 0;
343
- min-height: 44px;
344
355
  padding: 8px 10px;
345
356
  border-bottom: 1px solid #e2e8f0;
346
357
  }
@@ -364,29 +375,16 @@
364
375
  }
365
376
 
366
377
  .eyeon-map-rail__header-title {
378
+ min-width: 0;
379
+ flex: 1;
380
+ overflow: hidden;
381
+ text-overflow: ellipsis;
382
+ white-space: nowrap;
367
383
  font-size: 13px;
368
384
  font-weight: 700;
369
385
  color: #0f172a;
370
386
  }
371
387
 
372
- .eyeon-map-rail__edit-map {
373
- width: 100%;
374
- margin-bottom: 8px;
375
- border: 1px solid #0763b1;
376
- background: #0763b1;
377
- color: #fff;
378
- border-radius: 8px;
379
- padding: 10px 12px;
380
- font-size: 13px;
381
- font-weight: 700;
382
- cursor: pointer;
383
- }
384
-
385
- .eyeon-map-rail__edit-map:hover {
386
- background: #05508f;
387
- border-color: #05508f;
388
- }
389
-
390
388
  .eyeon-map-rail__nav {
391
389
  display: flex;
392
390
  flex-direction: column;
@@ -408,6 +406,16 @@
408
406
  cursor: pointer;
409
407
  }
410
408
 
409
+ .eyeon-map-rail__nav-icon {
410
+ display: inline-flex;
411
+ align-items: center;
412
+ justify-content: center;
413
+ width: 28px;
414
+ height: 28px;
415
+ color: #64748b;
416
+ flex-shrink: 0;
417
+ }
418
+
411
419
  .eyeon-map-rail__nav-item:hover {
412
420
  background: #f1f5f9;
413
421
  }
@@ -417,6 +425,7 @@
417
425
  flex-direction: column;
418
426
  gap: 2px;
419
427
  min-width: 0;
428
+ flex: 1;
420
429
  }
421
430
 
422
431
  .eyeon-map-rail__nav-title {
@@ -445,6 +454,12 @@
445
454
  color: #64748b;
446
455
  }
447
456
 
457
+ .eyeon-map-rail__nav-sep {
458
+ height: 1px;
459
+ margin: 8px 8px;
460
+ background: #cbd5e1;
461
+ }
462
+
448
463
  .eyeon-map-rail__stat {
449
464
  font-size: 12px;
450
465
  font-weight: 600;
@@ -550,15 +565,29 @@
550
565
  }
551
566
 
552
567
  .eyeon-map-rail__field--color {
553
- grid-template-columns: 1fr 36px;
568
+ grid-template-columns: 1fr;
569
+ }
570
+
571
+ .eyeon-map-rail__color-row {
572
+ display: flex;
554
573
  align-items: center;
574
+ gap: 8px;
575
+ }
576
+
577
+ .eyeon-map-rail__color-row input[type='text'] {
578
+ flex: 1;
579
+ min-width: 0;
580
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
581
+ letter-spacing: 0.02em;
582
+ text-transform: uppercase;
555
583
  }
556
584
 
557
585
  .eyeon-map-rail__field--color input[type='color'] {
558
586
  width: 36px;
559
- height: 28px;
587
+ height: 32px;
560
588
  padding: 2px;
561
589
  cursor: pointer;
590
+ flex-shrink: 0;
562
591
  }
563
592
 
564
593
  .eyeon-map-rail__field input,
@@ -569,6 +598,10 @@
569
598
  border-radius: 6px;
570
599
  }
571
600
 
601
+ .eyeon-map-rail__field .eyeon-map-select {
602
+ width: 100%;
603
+ }
604
+
572
605
  .eyeon-map-editor__center {
573
606
  display: flex;
574
607
  flex-direction: column;
@@ -582,6 +615,7 @@
582
615
  z-index: 4;
583
616
  display: flex;
584
617
  justify-content: space-between;
618
+ align-items: center;
585
619
  gap: 8px;
586
620
  flex-shrink: 0;
587
621
  padding: 8px 10px;
@@ -605,6 +639,20 @@
605
639
  flex-wrap: wrap;
606
640
  }
607
641
 
642
+ .eyeon-map-editor__history {
643
+ display: flex;
644
+ gap: 4px;
645
+ align-items: center;
646
+ }
647
+
648
+ .eyeon-map-editor__tool-sep {
649
+ width: 1px;
650
+ height: 24px;
651
+ margin: 0 10px;
652
+ background: #94a3b8;
653
+ flex-shrink: 0;
654
+ }
655
+
608
656
  .eyeon-map-rail__tool-extras {
609
657
  margin-bottom: 10px;
610
658
  }
@@ -621,6 +669,7 @@
621
669
  color: #0f172a;
622
670
  border-radius: 6px;
623
671
  cursor: pointer;
672
+ outline: none;
624
673
  }
625
674
 
626
675
  .eyeon-map-editor__tool-icon:hover:not(:disabled) {
@@ -628,6 +677,11 @@
628
677
  border-color: #cbd5e1;
629
678
  }
630
679
 
680
+ .eyeon-map-editor__tool-icon:focus,
681
+ .eyeon-map-editor__tool-icon:focus-visible {
682
+ outline: none;
683
+ }
684
+
631
685
  .eyeon-map-editor__tool-icon.is-active {
632
686
  background: #eff6ff;
633
687
  border-color: #bfdbfe;
@@ -639,6 +693,19 @@
639
693
  cursor: not-allowed;
640
694
  }
641
695
 
696
+ .eyeon-map-editor__tool-icon--labeled {
697
+ width: auto;
698
+ gap: 6px;
699
+ padding: 0 8px;
700
+ }
701
+
702
+ .eyeon-map-editor__tool-caption {
703
+ font-size: 12px;
704
+ font-weight: 600;
705
+ line-height: 1;
706
+ white-space: nowrap;
707
+ }
708
+
642
709
  /* Immediate CSS tooltips — native title= is slow and often clipped in iframes. */
643
710
  .eyeon-map-editor [data-tooltip] {
644
711
  position: relative;
@@ -692,25 +759,37 @@
692
759
  padding: 0;
693
760
  }
694
761
 
762
+ .eyeon-map-editor__toolbar button.eyeon-map-editor__tool-icon--labeled {
763
+ padding: 0 8px;
764
+ }
765
+
695
766
  .eyeon-map-editor__toolbar button.is-active {
696
767
  background: #eff6ff;
697
768
  border-color: #bfdbfe;
698
769
  color: #1d4ed8;
699
770
  }
700
771
 
701
- .eyeon-map-editor__unsaved {
702
- color: #b45309;
703
- font-size: 11px;
704
- font-weight: 600;
705
- }
706
-
707
772
  .eyeon-map-editor__toolbar .eyeon-map-editor__save,
708
773
  .eyeon-map-editor__toolbar .eyeon-map-editor__publish {
774
+ position: relative;
709
775
  background-color: #0763b1;
710
776
  border-color: #0763b1;
711
777
  color: #fff;
712
778
  }
713
779
 
780
+ .eyeon-map-editor__save-badge {
781
+ position: absolute;
782
+ top: -4px;
783
+ right: -4px;
784
+ width: 10px;
785
+ height: 10px;
786
+ border-radius: 50%;
787
+ background: #f59e0b;
788
+ border: 2px solid #fff;
789
+ box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.35);
790
+ pointer-events: none;
791
+ }
792
+
714
793
  .eyeon-map-editor__toolbar .eyeon-map-editor__save:hover:not(:disabled),
715
794
  .eyeon-map-editor__toolbar .eyeon-map-editor__publish:hover:not(:disabled) {
716
795
  background-color: #05508f;
@@ -723,22 +802,6 @@
723
802
  cursor: not-allowed;
724
803
  }
725
804
 
726
- .eyeon-map-editor__angle {
727
- display: flex;
728
- align-items: center;
729
- gap: 4px;
730
- font-size: 11px;
731
- font-weight: 600;
732
- }
733
-
734
- .eyeon-map-editor__angle input {
735
- width: 56px;
736
- font-size: 11px;
737
- padding: 3px 6px;
738
- border: 1px solid #e2e8f0;
739
- border-radius: 4px;
740
- }
741
-
742
805
  .eyeon-map-editor__hint {
743
806
  flex-shrink: 0;
744
807
  padding: 6px 12px;
@@ -761,6 +824,9 @@
761
824
  inset: 0;
762
825
  overflow: hidden;
763
826
  background-color: #f8fafc;
827
+ touch-action: none;
828
+ -webkit-user-select: none;
829
+ user-select: none;
764
830
  }
765
831
 
766
832
  /* Graph paper is Edit Map only. PORTAL default is MapViewer (no grid). */
@@ -797,6 +863,13 @@
797
863
  width: 100%;
798
864
  height: 100%;
799
865
  touch-action: none;
866
+ -webkit-user-select: none;
867
+ user-select: none;
868
+ }
869
+
870
+ .eyeon-map-canvas__svg.is-adding-route-point,
871
+ .eyeon-map-canvas__svg.is-adding-route-point * {
872
+ cursor: none !important;
800
873
  }
801
874
 
802
875
  .eyeon-map-canvas__empty {
@@ -808,6 +881,24 @@
808
881
  color: #94a3b8;
809
882
  }
810
883
 
884
+ .eyeon-map-canvas__underlay-tip {
885
+ position: absolute;
886
+ z-index: 8;
887
+ transform: translate(-50%, calc(-100% - 10px));
888
+ max-width: 240px;
889
+ padding: 6px 10px;
890
+ border-radius: 6px;
891
+ background: rgba(15, 23, 42, 0.75);
892
+ color: #fff;
893
+ font-size: 12px;
894
+ font-weight: 400;
895
+ line-height: 1.35;
896
+ letter-spacing: 0.01em;
897
+ text-align: center;
898
+ box-shadow: 0 4px 12px rgba(15, 23, 42, 0.22);
899
+ pointer-events: none;
900
+ }
901
+
811
902
  .eyeon-map-inspector {
812
903
  padding: 0 0 8px;
813
904
  }
@@ -877,16 +968,29 @@
877
968
  }
878
969
 
879
970
  .eyeon-map-floors__list {
971
+ position: relative;
880
972
  display: flex;
881
973
  flex-direction: column;
974
+ overflow: hidden;
975
+ }
976
+
977
+ .eyeon-map-floors__drop-line {
978
+ position: absolute;
979
+ left: 8px;
980
+ right: 8px;
981
+ height: 2px;
982
+ border-radius: 1px;
983
+ background: #0763b1;
984
+ pointer-events: none;
985
+ z-index: 2;
882
986
  }
883
987
 
884
988
  .eyeon-map-floors__row {
885
989
  display: flex;
886
990
  align-items: center;
887
- gap: 4px;
991
+ gap: 2px;
888
992
  border-radius: 6px;
889
- padding: 0;
993
+ padding: 0 4px 0 8px;
890
994
  height: 32px;
891
995
  box-sizing: border-box;
892
996
  }
@@ -894,7 +998,6 @@
894
998
  .eyeon-map-floors__entry {
895
999
  display: grid;
896
1000
  margin-bottom: 2px;
897
- will-change: transform;
898
1001
  }
899
1002
 
900
1003
  .eyeon-map-floors__row:hover,
@@ -918,6 +1021,7 @@
918
1021
  .eyeon-map-floors.is-reordering {
919
1022
  user-select: none;
920
1023
  cursor: grabbing;
1024
+ overflow: hidden;
921
1025
  }
922
1026
 
923
1027
  .eyeon-map-floors__row--ghost {
@@ -958,8 +1062,9 @@
958
1062
  display: inline-flex;
959
1063
  align-items: center;
960
1064
  justify-content: center;
961
- width: 32px;
1065
+ width: 20px;
962
1066
  height: 32px;
1067
+ padding: 0;
963
1068
  border: 0;
964
1069
  background: transparent;
965
1070
  color: #64748b;
@@ -1382,3 +1487,116 @@
1382
1487
  justify-content: center;
1383
1488
  height: 100%;
1384
1489
  }
1490
+
1491
+ .eyeon-map-select {
1492
+ position: relative;
1493
+ width: 100%;
1494
+ min-width: 0;
1495
+ }
1496
+
1497
+ .eyeon-map-select__trigger {
1498
+ display: flex;
1499
+ align-items: center;
1500
+ justify-content: space-between;
1501
+ gap: 8px;
1502
+ width: 100%;
1503
+ min-height: 32px;
1504
+ padding: 6px 8px;
1505
+ border: 1px solid #e2e8f0;
1506
+ border-radius: 6px;
1507
+ background: #fff;
1508
+ color: #0f172a;
1509
+ font: inherit;
1510
+ font-size: 12px;
1511
+ font-weight: 500;
1512
+ text-align: left;
1513
+ cursor: pointer;
1514
+ }
1515
+
1516
+ .eyeon-map-select__trigger:disabled {
1517
+ opacity: 0.55;
1518
+ cursor: not-allowed;
1519
+ }
1520
+
1521
+ .eyeon-map-select__trigger:not(:disabled):hover {
1522
+ border-color: #cbd5e1;
1523
+ }
1524
+
1525
+ .eyeon-map-select__trigger span {
1526
+ overflow: hidden;
1527
+ text-overflow: ellipsis;
1528
+ white-space: nowrap;
1529
+ }
1530
+
1531
+ .eyeon-map-select__placeholder {
1532
+ color: #94a3b8;
1533
+ font-weight: 400;
1534
+ }
1535
+
1536
+ .eyeon-map-select__chevron {
1537
+ flex-shrink: 0;
1538
+ color: #64748b;
1539
+ opacity: 0.7;
1540
+ }
1541
+
1542
+ .eyeon-map-select__trigger[aria-expanded='true'] .eyeon-map-select__chevron {
1543
+ transform: rotate(180deg);
1544
+ }
1545
+
1546
+ .eyeon-map-select__menu {
1547
+ position: fixed;
1548
+ z-index: 2147483000;
1549
+ display: flex;
1550
+ flex-direction: column;
1551
+ overflow: hidden;
1552
+ border: 1px solid #e2e8f0;
1553
+ border-radius: 8px;
1554
+ background: #fff;
1555
+ box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
1556
+ }
1557
+
1558
+ .eyeon-map-select__search {
1559
+ flex-shrink: 0;
1560
+ margin: 6px 6px 0;
1561
+ padding: 6px 8px;
1562
+ border: 1px solid #e2e8f0;
1563
+ border-radius: 6px;
1564
+ font: inherit;
1565
+ font-size: 12px;
1566
+ }
1567
+
1568
+ .eyeon-map-select__list {
1569
+ margin: 0;
1570
+ padding: 4px;
1571
+ overflow: auto;
1572
+ list-style: none;
1573
+ }
1574
+
1575
+ .eyeon-map-select__option {
1576
+ display: block;
1577
+ width: 100%;
1578
+ padding: 7px 10px;
1579
+ border: 0;
1580
+ border-radius: 6px;
1581
+ background: transparent;
1582
+ color: #0f172a;
1583
+ font: inherit;
1584
+ font-size: 12px;
1585
+ text-align: left;
1586
+ cursor: pointer;
1587
+ }
1588
+
1589
+ .eyeon-map-select__option:hover {
1590
+ background: #f1f5f9;
1591
+ }
1592
+
1593
+ .eyeon-map-select__option.is-active {
1594
+ background: #e0f2fe;
1595
+ font-weight: 600;
1596
+ }
1597
+
1598
+ .eyeon-map-select__empty {
1599
+ padding: 8px 10px;
1600
+ color: #94a3b8;
1601
+ font-size: 12px;
1602
+ }
@@ -1,11 +1,11 @@
1
1
  export { MapEditor, type MapEditorProps, type MapEditorHost, type EditorTool } from './MapEditor';
2
- export { portalCenterSurface, type PortalCenterSurface } from './portalSurface';
2
+ export { isEditorSection, portalCenterSurface, type PortalCenterSurface } from './portalSurface';
3
3
  export type { MapHost } from '../core';
4
- export { type EditorDraftState } from './draftOps';
5
- export { EditorCanvas } from './canvas/EditorCanvas';
4
+ export { omitLevelFromDraft, type EditorDraftState } from './draftOps';
5
+ export { EditorCanvas, type EditorCanvasHandle } from './canvas/EditorCanvas';
6
6
  export { LeftRail, type RailSection, type RailTab } from './panels/LeftRail';
7
7
  export { Inspector } from './panels/Inspector';
8
8
  export { ImportReviewPanel, type ImportReviewProps } from './panels/ImportReviewPanel';
9
9
  export { FloorsPanel, floorsScreenTitle, visibleFloorCount, type CreateLevelInput, type FloorsScreen, type UpdateLevelInput, } from './panels/FloorsPanel';
10
- export { translateGeometry, moveVertex, insertVertex, removeVertex, hitTestVertex, polygonsToGeometry, } from './geometryEdit';
10
+ export { translateGeometry, translateEdge, moveVertex, insertVertex, removeVertex, hitTestVertex, polygonsToGeometry, } from './geometryEdit';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAChF,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACjG,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,cAAc,CAAC"}