@eyeon/map 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -1
- package/dist/assets/MapViewer.css +1 -1
- package/dist/assets/index.css +1 -1
- package/dist/chunks/MapViewer.js +1745 -356
- package/dist/chunks/MapViewer.js.map +1 -1
- package/dist/chunks/stacking.js +1321 -0
- package/dist/chunks/stacking.js.map +1 -0
- package/dist/core/geometry/index.d.ts +41 -4
- package/dist/core/geometry/index.d.ts.map +1 -1
- package/dist/core/hostChrome.d.ts +20 -0
- package/dist/core/hostChrome.d.ts.map +1 -0
- package/dist/core/import/index.d.ts +48 -3
- package/dist/core/import/index.d.ts.map +1 -1
- package/dist/core/import/svgStyle.d.ts +21 -0
- package/dist/core/import/svgStyle.d.ts.map +1 -0
- package/dist/core/import/svgTransform.d.ts +49 -0
- package/dist/core/import/svgTransform.d.ts.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +207 -266
- package/dist/core/index.js.map +1 -1
- package/dist/core/layerStyles.d.ts +28 -0
- package/dist/core/layerStyles.d.ts.map +1 -0
- package/dist/core/publish/index.d.ts +8 -2
- package/dist/core/publish/index.d.ts.map +1 -1
- package/dist/core/routing/graph-tools.d.ts +5 -1
- package/dist/core/routing/graph-tools.d.ts.map +1 -1
- package/dist/core/stacking.d.ts +61 -0
- package/dist/core/stacking.d.ts.map +1 -0
- package/dist/core/types.d.ts +27 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/editor/MapEditor.d.ts +28 -16
- package/dist/editor/MapEditor.d.ts.map +1 -1
- package/dist/editor/canvas/EditorCanvas.d.ts +15 -3
- package/dist/editor/canvas/EditorCanvas.d.ts.map +1 -1
- package/dist/editor/canvas/coords.d.ts +21 -0
- package/dist/editor/canvas/coords.d.ts.map +1 -0
- package/dist/editor/draftOps.d.ts +19 -0
- package/dist/editor/draftOps.d.ts.map +1 -0
- package/dist/editor/geometryEdit.d.ts +34 -0
- package/dist/editor/geometryEdit.d.ts.map +1 -0
- package/dist/editor/index.css +1281 -145
- package/dist/editor/index.d.ts +8 -2
- package/dist/editor/index.d.ts.map +1 -1
- package/dist/editor/index.js +2293 -585
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/labels.d.ts +5 -0
- package/dist/editor/labels.d.ts.map +1 -0
- package/dist/editor/panels/FloorsPanel.d.ts +60 -0
- package/dist/editor/panels/FloorsPanel.d.ts.map +1 -0
- package/dist/editor/panels/ImportReviewPanel.d.ts +22 -0
- package/dist/editor/panels/ImportReviewPanel.d.ts.map +1 -0
- package/dist/editor/panels/Inspector.d.ts +4 -2
- package/dist/editor/panels/Inspector.d.ts.map +1 -1
- package/dist/editor/panels/LeftRail.d.ts +19 -6
- package/dist/editor/panels/LeftRail.d.ts.map +1 -1
- package/dist/editor/panels/PreviewOverlay.d.ts +11 -2
- package/dist/editor/panels/PreviewOverlay.d.ts.map +1 -1
- package/dist/editor/portalSurface.d.ts +11 -0
- package/dist/editor/portalSurface.d.ts.map +1 -0
- package/dist/editor/previewDocument.d.ts +9 -0
- package/dist/editor/previewDocument.d.ts.map +1 -0
- package/dist/editor/tools.d.ts +20 -0
- package/dist/editor/tools.d.ts.map +1 -0
- package/dist/test-maps/shops-at-south-town/BASE - Shops At South Town.ai +26780 -26
- package/dist/test-maps/shops-at-south-town/LF - Shops At South Town.ai +4487 -2
- package/dist/test-maps/shops-at-south-town/SVG/BASE - Shops At South Town.svg +567 -0
- package/dist/test-maps/shops-at-south-town/SVG/LF - Shops At South Town.svg +238 -0
- package/dist/test-maps/shops-at-south-town/SVG/UF - Shops At South Town.svg +276 -0
- package/dist/test-maps/shops-at-south-town/UF - Shops At South Town.ai +4228 -1
- package/dist/viewer/MapViewer.d.ts +14 -3
- package/dist/viewer/MapViewer.d.ts.map +1 -1
- package/dist/viewer/camera.d.ts +34 -0
- package/dist/viewer/camera.d.ts.map +1 -0
- package/dist/viewer/components/CameraRig.d.ts +18 -0
- package/dist/viewer/components/CameraRig.d.ts.map +1 -0
- package/dist/viewer/components/LevelMeshes.d.ts +6 -1
- package/dist/viewer/components/LevelMeshes.d.ts.map +1 -1
- package/dist/viewer/components/MapScene.d.ts +6 -1
- package/dist/viewer/components/MapScene.d.ts.map +1 -1
- package/dist/viewer/components/SvgVectorLayer.d.ts +18 -0
- package/dist/viewer/components/SvgVectorLayer.d.ts.map +1 -0
- package/dist/viewer/index.css +124 -35
- package/dist/viewer/index.d.ts +4 -0
- package/dist/viewer/index.d.ts.map +1 -1
- package/dist/viewer/index.js +9 -4
- package/dist/viewer/index.js.map +1 -1
- package/dist/viewer/ui/MapControls.d.ts +14 -0
- package/dist/viewer/ui/MapControls.d.ts.map +1 -0
- package/dist/viewer/ui/RuntimeChrome.d.ts +3 -3
- package/dist/viewer/ui/RuntimeChrome.d.ts.map +1 -1
- package/package.json +7 -3
- package/dist/chunks/graph-tools.js +0 -153
- package/dist/chunks/graph-tools.js.map +0 -1
- package/dist/chunks/pathfinding.js +0 -343
- package/dist/chunks/pathfinding.js.map +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ShapeKind, UnitStatus } from '../core';
|
|
2
|
+
export declare const SHAPE_KIND_LABELS: Record<ShapeKind, string>;
|
|
3
|
+
export declare const UNIT_STATUS_LABELS: Record<UnitStatus, string>;
|
|
4
|
+
export declare function shapeKindLabel(kind: string): string;
|
|
5
|
+
//# sourceMappingURL=labels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/editor/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAkBvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAKzD,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CmBuilding, CmLevel } from '../../core';
|
|
3
|
+
export type CreateLevelInput = {
|
|
4
|
+
name: string;
|
|
5
|
+
kind: 'outdoor' | 'floor';
|
|
6
|
+
buildingId?: number | null;
|
|
7
|
+
file?: File;
|
|
8
|
+
onProgress?: (percent: number) => void;
|
|
9
|
+
};
|
|
10
|
+
export type UpdateLevelInput = {
|
|
11
|
+
levelId: number;
|
|
12
|
+
name?: string;
|
|
13
|
+
file?: File;
|
|
14
|
+
onProgress?: (percent: number) => void;
|
|
15
|
+
};
|
|
16
|
+
export type FloorsScreen = {
|
|
17
|
+
mode: 'list';
|
|
18
|
+
} | {
|
|
19
|
+
mode: 'add-base';
|
|
20
|
+
} | {
|
|
21
|
+
mode: 'add-floor';
|
|
22
|
+
} | {
|
|
23
|
+
mode: 'edit';
|
|
24
|
+
levelId: number;
|
|
25
|
+
};
|
|
26
|
+
export declare function floorsScreenTitle(screen: FloorsScreen, levels: Array<{
|
|
27
|
+
id: number;
|
|
28
|
+
kind: string;
|
|
29
|
+
}>): string;
|
|
30
|
+
/** Building floors only — Outdoor is a separate item and is not counted. */
|
|
31
|
+
export declare function visibleFloorCount(levels: Array<{
|
|
32
|
+
kind: string;
|
|
33
|
+
}>): number;
|
|
34
|
+
/** Insert `movedId` before or after `targetId`. Used by live floor reorder. */
|
|
35
|
+
export declare function placeLevelId(ids: number[], movedId: number, targetId: number, place: 'before' | 'after'): number[];
|
|
36
|
+
/** Move `movedId` to `toIndex` in the list with that id removed. */
|
|
37
|
+
export declare function moveLevelId(ids: number[], movedId: number, toIndex: number): number[];
|
|
38
|
+
export interface FloorsPanelProps {
|
|
39
|
+
levels: CmLevel[];
|
|
40
|
+
buildings: CmBuilding[];
|
|
41
|
+
/** Shapes already imported per level — drives delete and re-import copy. */
|
|
42
|
+
levelShapeCounts?: Record<number, number>;
|
|
43
|
+
canFloors: boolean;
|
|
44
|
+
screen: FloorsScreen;
|
|
45
|
+
onScreenChange: (screen: FloorsScreen) => void;
|
|
46
|
+
onCreateLevel?: (input: CreateLevelInput) => Promise<number | void>;
|
|
47
|
+
onUpdateLevel?: (input: UpdateLevelInput) => Promise<void>;
|
|
48
|
+
onDeleteLevel?: (levelId: number) => Promise<void>;
|
|
49
|
+
onReorderLevels?: (orderedIds: number[]) => Promise<void>;
|
|
50
|
+
}
|
|
51
|
+
export declare function deleteConfirmCopy(level: {
|
|
52
|
+
kind: string;
|
|
53
|
+
name: string;
|
|
54
|
+
}, shapeCount?: number): {
|
|
55
|
+
title: string;
|
|
56
|
+
body: string;
|
|
57
|
+
action: string;
|
|
58
|
+
};
|
|
59
|
+
export declare function FloorsPanel({ levels, buildings, levelShapeCounts, canFloors, screen, onScreenChange, onCreateLevel, onUpdateLevel, onDeleteLevel, onReorderLevels, }: FloorsPanelProps): React.JSX.Element;
|
|
60
|
+
//# sourceMappingURL=FloorsPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FloorsPanel.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/FloorsPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ImportDiff } from '../../core';
|
|
3
|
+
export interface ImportReviewProps {
|
|
4
|
+
diff: ImportDiff;
|
|
5
|
+
viewBoxChanged?: boolean;
|
|
6
|
+
blockedMessage?: string | null;
|
|
7
|
+
busy?: boolean;
|
|
8
|
+
onApply: (payload: {
|
|
9
|
+
acceptAll: boolean;
|
|
10
|
+
remap: Array<{
|
|
11
|
+
fromShapeId: number;
|
|
12
|
+
toSourceSvgId: string;
|
|
13
|
+
}>;
|
|
14
|
+
}) => Promise<void> | void;
|
|
15
|
+
onCancel?: () => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Outdoor (or floor) re-upload review — shows added / orphaned / locked / drifted
|
|
19
|
+
* buckets before apply. Host wires POST .../import + .../import/apply.
|
|
20
|
+
*/
|
|
21
|
+
export declare function ImportReviewPanel({ diff, viewBoxChanged, blockedMessage, busy, onApply, onCancel, }: ImportReviewProps): React.JSX.Element;
|
|
22
|
+
//# sourceMappingURL=ImportReviewPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImportReviewPanel.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/ImportReviewPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,CAAC,OAAO,EAAE;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9D,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAiBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,cAAsB,EACtB,cAAc,EACd,IAAY,EACZ,OAAO,EACP,QAAQ,GACT,EAAE,iBAAiB,qBAoJnB"}
|
|
@@ -4,11 +4,13 @@ export interface InspectorProps {
|
|
|
4
4
|
shape: CmShape | null;
|
|
5
5
|
assignment: CmShapeAssignment | null;
|
|
6
6
|
amenities: CmAmenityCatalogItem[];
|
|
7
|
+
/** Other shape keys on the same level — used for uniqueness validation. */
|
|
8
|
+
levelShapeKeys?: string[];
|
|
7
9
|
canEdit: boolean;
|
|
8
10
|
onRename: (key: string) => void;
|
|
9
11
|
onChangeKind: (kind: ShapeKind) => void;
|
|
12
|
+
onDelete?: () => void;
|
|
10
13
|
onSaveAssignment: (assignment: CmShapeAssignment) => void;
|
|
11
|
-
undoCount: number;
|
|
12
14
|
}
|
|
13
|
-
export declare function Inspector({ shape, assignment, amenities, canEdit, onRename, onChangeKind,
|
|
15
|
+
export declare function Inspector({ shape, assignment, amenities, levelShapeKeys, canEdit, onRename, onChangeKind, onDelete, onSaveAssignment, }: InspectorProps): React.JSX.Element;
|
|
14
16
|
//# sourceMappingURL=Inspector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inspector.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/Inspector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EACV,oBAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,SAAS,EAEV,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Inspector.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/Inspector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EACV,oBAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,SAAS,EAEV,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,UAAU,EACV,SAAS,EACT,cAAmB,EACnB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,gBAAgB,GACjB,EAAE,cAAc,qBAuNhB"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
2
|
import { CmAmenityCatalogItem, CmLevel, CmBuilding, ThemeDefaults } from '../../core';
|
|
3
|
-
|
|
3
|
+
import { CreateLevelInput, UpdateLevelInput } from './FloorsPanel';
|
|
4
|
+
export type RailSection = 'floors' | 'stores' | 'amenities' | 'kiosks' | 'paths' | 'style' | 'selection' | 'edit-map';
|
|
5
|
+
/** @deprecated Use RailSection */
|
|
6
|
+
export type RailTab = RailSection;
|
|
4
7
|
export interface LeftRailDraft {
|
|
5
8
|
buildings: CmBuilding[];
|
|
6
9
|
levels: CmLevel[];
|
|
@@ -9,6 +12,7 @@ export interface LeftRailDraft {
|
|
|
9
12
|
levelId: number;
|
|
10
13
|
key: string;
|
|
11
14
|
kind: string;
|
|
15
|
+
orphanedAt?: string | null;
|
|
12
16
|
}>;
|
|
13
17
|
anchors: Array<{
|
|
14
18
|
id: number;
|
|
@@ -20,17 +24,26 @@ export interface LeftRailDraft {
|
|
|
20
24
|
amenities: CmAmenityCatalogItem[];
|
|
21
25
|
}
|
|
22
26
|
export interface LeftRailProps {
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
section: RailSection | null;
|
|
28
|
+
onSectionChange: (section: RailSection | null) => void;
|
|
25
29
|
draft: LeftRailDraft;
|
|
26
30
|
activeLevelId: number | null;
|
|
27
|
-
|
|
31
|
+
selectedShapeId: number | null;
|
|
32
|
+
onSelectShape: (id: number) => void;
|
|
28
33
|
canFloors: boolean;
|
|
29
34
|
canSettings: boolean;
|
|
30
35
|
onImportSvg?: (levelId: number, file: File) => Promise<void>;
|
|
36
|
+
onCreateLevel?: (input: CreateLevelInput) => Promise<number | void>;
|
|
37
|
+
onUpdateLevel?: (input: UpdateLevelInput) => Promise<void>;
|
|
38
|
+
onDeleteLevel?: (levelId: number) => Promise<void>;
|
|
39
|
+
onReorderLevels?: (orderedIds: number[]) => Promise<void>;
|
|
31
40
|
onAutoroute?: (levelId: number) => Promise<void>;
|
|
32
41
|
theme: ThemeDefaults;
|
|
33
42
|
onThemeChange: (partial: Partial<ThemeDefaults>) => void;
|
|
43
|
+
assignPanel: ReactNode;
|
|
44
|
+
/** Draw/tools UI for Edit Map (icons + inspector). */
|
|
45
|
+
editMapPanel?: ReactNode;
|
|
46
|
+
footer?: ReactNode;
|
|
34
47
|
}
|
|
35
|
-
export declare function LeftRail({
|
|
48
|
+
export declare function LeftRail({ section, onSectionChange, draft, activeLevelId, selectedShapeId, onSelectShape, canFloors, canSettings, onCreateLevel, onUpdateLevel, onDeleteLevel, onReorderLevels, onAutoroute, theme, onThemeChange, assignPanel, editMapPanel, footer, }: LeftRailProps): React.JSX.Element;
|
|
36
49
|
//# sourceMappingURL=LeftRail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeftRail.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/LeftRail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LeftRail.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/LeftRail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { PublishedDocument } from '../../core';
|
|
3
|
-
export declare function PreviewOverlay({ document }: {
|
|
2
|
+
import { MapViewerHost, PublishedDocument } from '../../core';
|
|
3
|
+
export declare function PreviewOverlay({ document, host, onSelectShape, activeLevelId, onActiveLevelChange, routeOnSelect, imageProxyUrl, }: {
|
|
4
4
|
document: PublishedDocument;
|
|
5
|
+
/** Assign mode hides search. Public preview can be added later as WEBSITE. */
|
|
6
|
+
host?: Extract<MapViewerHost, 'PORTAL_ASSIGN' | 'WEBSITE'>;
|
|
7
|
+
onSelectShape?: (shapeId: number) => void;
|
|
8
|
+
activeLevelId?: number | null;
|
|
9
|
+
onActiveLevelChange?: (levelId: number) => void;
|
|
10
|
+
/** Default true (public navigate). False when assigning in PORTAL. */
|
|
11
|
+
routeOnSelect?: boolean;
|
|
12
|
+
/** Without this the outdoor SVG is fetched cross-origin and CORS blocks it. */
|
|
13
|
+
imageProxyUrl?: string | null;
|
|
5
14
|
}): React.JSX.Element;
|
|
6
15
|
//# sourceMappingURL=PreviewOverlay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewOverlay.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/PreviewOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"PreviewOverlay.d.ts","sourceRoot":"","sources":["../../../src/editor/panels/PreviewOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGnE,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,IAAsB,EACtB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,aAAa,GACd,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;IAC3D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,sEAAsE;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,qBAiBA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MapEditorHost } from '../core';
|
|
2
|
+
import { RailSection } from './panels/LeftRail';
|
|
3
|
+
/** What occupies the PORTAL center pane (rail is always Map options). */
|
|
4
|
+
export type PortalCenterSurface = 'viewer' | 'editor';
|
|
5
|
+
/**
|
|
6
|
+
* PORTAL default is MapViewer (assign on the real map, no editor grid).
|
|
7
|
+
* Edit Map swaps in EditorCanvas + grid. Non-PORTAL editor hosts stay on
|
|
8
|
+
* the geometry canvas.
|
|
9
|
+
*/
|
|
10
|
+
export declare function portalCenterSurface(host: MapEditorHost, section: RailSection | null): PortalCenterSurface;
|
|
11
|
+
//# sourceMappingURL=portalSurface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portalSurface.d.ts","sourceRoot":"","sources":["../../src/editor/portalSurface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,WAAW,GAAG,IAAI,GAC1B,mBAAmB,CAGrB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CmConnector, PublishedDocument } from '../core';
|
|
2
|
+
import { EditorDraftState } from './draftOps';
|
|
3
|
+
export declare function compileEditorPreview(draft: EditorDraftState, extras?: {
|
|
4
|
+
revisionId?: number;
|
|
5
|
+
revisionNumber?: number;
|
|
6
|
+
connectors?: CmConnector[];
|
|
7
|
+
publishedAt?: string;
|
|
8
|
+
}): PublishedDocument;
|
|
9
|
+
//# sourceMappingURL=previewDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"previewDocument.d.ts","sourceRoot":"","sources":["../../src/editor/previewDocument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,EACvB,MAAM,CAAC,EAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,iBAAiB,CA6BnB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type EditorTool = 'select' | 'pan' | 'draw-unit' | 'draw-polygon' | 'draw-line' | 'draw-route';
|
|
3
|
+
export declare const EDITOR_TOOLS: Array<{
|
|
4
|
+
id: EditorTool;
|
|
5
|
+
label: string;
|
|
6
|
+
draw?: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function toolHint(tool: EditorTool): string;
|
|
9
|
+
export interface EditorToolButtonsProps {
|
|
10
|
+
tool: EditorTool;
|
|
11
|
+
onToolChange: (tool: EditorTool) => void;
|
|
12
|
+
canEdit: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function EditorToolButtons({ tool, onToolChange, canEdit, }: EditorToolButtonsProps): React.JSX.Element;
|
|
15
|
+
export interface JoinPointsButtonProps {
|
|
16
|
+
disabled: boolean;
|
|
17
|
+
onClick: () => void;
|
|
18
|
+
}
|
|
19
|
+
export declare function JoinPointsButton({ disabled, onClick }: JoinPointsButtonProps): React.JSX.Element;
|
|
20
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/editor/tools.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,KAAK,GACL,WAAW,GACX,cAAc,GACd,WAAW,GACX,YAAY,CAAC;AAEjB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAOA,CAAC;AAkHF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAejD;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,YAAY,EACZ,OAAO,GACR,EAAE,sBAAsB,qBAsBxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,qBAAqB,qBAa5E"}
|