@ankhorage/studio 0.11.2 → 0.11.4

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.
@@ -1,4 +1,87 @@
1
+ import { collectScreenRouteEntries, isRouteGroupSegment, resolveInitialScreenId, } from './manifestState';
1
2
  export { collectScreenRouteEntries, findNavigatorAtPath, findParentPathForScreenId, findRoutesAtParentPath, getPrimaryNavigatorPath, groupScreenRouteEntries, insertRouteAtParentPath, isRouteGroupSegment, listScreenIdsInRouteOrder, makeUniqueRouteNameForParent, makeUniqueSiblingRouteName, pathToKey, removeScreenIdFromRoutes, toCanonicalRoutePattern, updateNavigatorAtPath, } from './manifestState';
3
+ const DYNAMIC_ROUTE_SEGMENT_PATTERN = /^\[[^.[\]]+\]$|^:[^/]+$/u;
4
+ const CATCH_ALL_ROUTE_SEGMENT_PATTERN = /^\[\.\.\.[^\]]+\]$/u;
5
+ const OPTIONAL_CATCH_ALL_ROUTE_SEGMENT_PATTERN = /^\[\[\.\.\.[^\]]+\]\]$/u;
6
+ /**
7
+ * Resolves the leaf screen owned by a pathname through an arbitrarily nested
8
+ * manifest navigator tree. Static route segments take precedence over dynamic
9
+ * and catch-all segments, matching Expo Router's route specificity.
10
+ */
11
+ export function resolveScreenIdForPathname(navigator, pathname, screens) {
12
+ const pathnameSegments = normalizePathnameSegments(pathname);
13
+ let bestMatch = null;
14
+ for (const entry of collectScreenRouteEntries(navigator.routes)) {
15
+ if (screens && !screens[entry.screenId])
16
+ continue;
17
+ const patternSegments = normalizeRoutePatternSegments(entry.routePath);
18
+ const score = scoreRoutePatternMatch(patternSegments, pathnameSegments);
19
+ if (score === null || (bestMatch && score <= bestMatch.score))
20
+ continue;
21
+ bestMatch = { screenId: entry.screenId, score };
22
+ }
23
+ if (bestMatch)
24
+ return bestMatch.screenId;
25
+ return pathnameSegments.length === 0 ? resolveInitialScreenId(navigator, screens) : null;
26
+ }
27
+ function normalizePathnameSegments(pathname) {
28
+ const [pathWithoutQuery = ''] = pathname.trim().split(/[?#]/u, 1);
29
+ return pathWithoutQuery.split('/').filter(Boolean);
30
+ }
31
+ function normalizeRoutePatternSegments(routePath) {
32
+ const segments = routePath
33
+ .flatMap((segment) => segment.split('/'))
34
+ .filter(Boolean)
35
+ .filter((segment) => !isRouteGroupSegment(segment));
36
+ while (segments[0] === 'index')
37
+ segments.shift();
38
+ while (segments.at(-1) === 'index')
39
+ segments.pop();
40
+ return segments;
41
+ }
42
+ function scoreRoutePatternMatch(pattern, pathname) {
43
+ let patternIndex = 0;
44
+ let pathnameIndex = 0;
45
+ let score = 0;
46
+ let exactMatch = true;
47
+ while (patternIndex < pattern.length) {
48
+ const routeSegment = pattern[patternIndex];
49
+ if (!routeSegment)
50
+ return null;
51
+ if (OPTIONAL_CATCH_ALL_ROUTE_SEGMENT_PATTERN.test(routeSegment)) {
52
+ exactMatch = false;
53
+ if (pathnameIndex < pathname.length)
54
+ score += 1;
55
+ pathnameIndex = pathname.length;
56
+ patternIndex += 1;
57
+ continue;
58
+ }
59
+ if (CATCH_ALL_ROUTE_SEGMENT_PATTERN.test(routeSegment)) {
60
+ if (pathnameIndex >= pathname.length)
61
+ return null;
62
+ exactMatch = false;
63
+ pathnameIndex = pathname.length;
64
+ patternIndex += 1;
65
+ score += 1;
66
+ continue;
67
+ }
68
+ const pathnameSegment = pathname[pathnameIndex];
69
+ if (!pathnameSegment)
70
+ return null;
71
+ if (DYNAMIC_ROUTE_SEGMENT_PATTERN.test(routeSegment)) {
72
+ score += 10;
73
+ }
74
+ else if (routeSegment === pathnameSegment) {
75
+ score += 100;
76
+ }
77
+ else {
78
+ return null;
79
+ }
80
+ patternIndex += 1;
81
+ pathnameIndex += 1;
82
+ }
83
+ return pathnameIndex === pathname.length ? score + (exactMatch ? 5 : 0) : null;
84
+ }
2
85
  export function reorderLeafRoutesWithinParent(routes, parentPath, orderedRouteNames) {
3
86
  if (parentPath.length === 0) {
4
87
  return reorderMatchingRoutes(routes, orderedRouteNames);
@@ -1 +1 @@
1
- {"version":3,"file":"routeUtils.js","sourceRoot":"","sources":["../src/routeUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,EAC1B,SAAS,EACT,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,UAAU,6BAA6B,CAC3C,MAAyB,EACzB,UAAoB,EACpB,iBAA2B;IAE3B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IAEtC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO;YACL,GAAG,KAAK;YACR,SAAS,EAAE;gBACT,GAAG,KAAK,CAAC,SAAS;gBAClB,MAAM,EAAE,6BAA6B,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC;aACvF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAyB,EACzB,iBAA2B;IAE3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,MAAM;SAC1B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,CAAC,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"routeUtils.js","sourceRoot":"","sources":["../src/routeUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ export interface MeasuredRect {
2
+ readonly x: number;
3
+ readonly y: number;
4
+ readonly width: number;
5
+ readonly height: number;
6
+ }
7
+ export interface RuntimeNodeIndicatorRect extends MeasuredRect {
8
+ readonly nodeId: string;
9
+ readonly showUnsupportedIndicator: boolean;
10
+ }
11
+ type RuntimeNodeMeasurementSource = 'authored-root' | 'web-recorder';
12
+ export interface RuntimeNodeMeasurement<TResizeTarget = Element> {
13
+ readonly getResizeTargets?: () => readonly TResizeTarget[];
14
+ readonly measure: () => Promise<MeasuredRect | null>;
15
+ readonly showUnsupportedIndicator: boolean;
16
+ readonly source: RuntimeNodeMeasurementSource;
17
+ }
18
+ export type RuntimeNodeMeasurements<TResizeTarget = Element> = ReadonlyMap<string, ReadonlySet<RuntimeNodeMeasurement<TResizeTarget>>>;
19
+ export interface ResizeTargetObserver<TResizeTarget> {
20
+ readonly disconnect: () => void;
21
+ readonly observe: (target: TResizeTarget) => void;
22
+ readonly unobserve: (target: TResizeTarget) => void;
23
+ }
24
+ export interface ActiveResizeTargetCoordinator<TResizeTarget> {
25
+ readonly disconnect: () => void;
26
+ readonly getObservedTargets: () => ReadonlySet<TResizeTarget>;
27
+ readonly sync: (measurements: readonly RuntimeNodeMeasurement<TResizeTarget>[], additionalTargets?: readonly TResizeTarget[]) => void;
28
+ }
29
+ export interface RuntimeNodeMeasurementRegistry<TResizeTarget = Element> {
30
+ readonly getMeasurements: () => RuntimeNodeMeasurements<TResizeTarget>;
31
+ readonly register: (nodeId: string, measurement: RuntimeNodeMeasurement<TResizeTarget>) => () => void;
32
+ }
33
+ export declare function runtimeNodeMeasurementChangeAffectsActiveIndicators<TResizeTarget>(options: {
34
+ readonly isEditMode: boolean;
35
+ readonly measurements: ReadonlySet<RuntimeNodeMeasurement<TResizeTarget>>;
36
+ readonly nodeId: string;
37
+ readonly selectedNodeId: string | null;
38
+ }): boolean;
39
+ export declare function shouldRenderSelectedNodeChrome(platform: string, isEditMode: boolean, selectedNodeId: string | null): boolean;
40
+ export interface NativeMeasurableView {
41
+ readonly measureInWindow: (callback: (x: number, y: number, width: number, height: number) => void) => void;
42
+ }
43
+ export declare function unionMeasuredRects(rects: readonly MeasuredRect[]): MeasuredRect | null;
44
+ export declare function measureNativeRuntimeNodeView(view: NativeMeasurableView): Promise<MeasuredRect | null>;
45
+ export declare function createNativeRuntimeNodeMeasurement(view: NativeMeasurableView, showUnsupportedIndicator: boolean): RuntimeNodeMeasurement<never>;
46
+ export declare function createRuntimeNodeMeasurementRegistry<TResizeTarget = Element>(options?: {
47
+ readonly onChange?: () => void;
48
+ }): RuntimeNodeMeasurementRegistry<TResizeTarget>;
49
+ export declare function getActiveRuntimeNodeMeasurements<TResizeTarget>(runtimeNodes: RuntimeNodeMeasurements<TResizeTarget>, isEditMode: boolean, selectedNodeId: string | null): readonly RuntimeNodeMeasurement<TResizeTarget>[];
50
+ export declare function hasActiveRuntimeNodeMeasurements<TResizeTarget>(runtimeNodes: RuntimeNodeMeasurements<TResizeTarget>, isEditMode: boolean, selectedNodeId: string | null): boolean;
51
+ export declare function measureRuntimeNodeIndicators<TResizeTarget>(options: {
52
+ readonly isEditMode: boolean;
53
+ readonly rootRect: MeasuredRect | null;
54
+ readonly runtimeNodes: RuntimeNodeMeasurements<TResizeTarget>;
55
+ readonly selectedNodeId: string | null;
56
+ }): Promise<readonly RuntimeNodeIndicatorRect[]>;
57
+ export declare function createActiveResizeTargetCoordinator<TResizeTarget>(observer: ResizeTargetObserver<TResizeTarget>): ActiveResizeTargetCoordinator<TResizeTarget>;
58
+ export declare function createSelectedIndicatorViewProps(rect: RuntimeNodeIndicatorRect, borderColor: string): {
59
+ readonly pointerEvents: 'none';
60
+ readonly style: {
61
+ readonly position: 'absolute';
62
+ readonly left: number;
63
+ readonly top: number;
64
+ readonly width: number;
65
+ readonly height: number;
66
+ readonly borderWidth: 2;
67
+ readonly borderColor: string;
68
+ readonly borderRadius: 4;
69
+ };
70
+ };
71
+ export {};
72
+ //# sourceMappingURL=runtimeNodeMeasurement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeNodeMeasurement.d.ts","sourceRoot":"","sources":["../../src/runtime/runtimeNodeMeasurement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ export function runtimeNodeMeasurementChangeAffectsActiveIndicators(options) {
2
+ return (options.isEditMode &&
3
+ (options.nodeId === options.selectedNodeId ||
4
+ [...options.measurements].some((measurement) => measurement.showUnsupportedIndicator)));
5
+ }
6
+ export function shouldRenderSelectedNodeChrome(platform, isEditMode, selectedNodeId) {
7
+ return platform === 'web' && isEditMode && selectedNodeId !== null;
8
+ }
9
+ export function unionMeasuredRects(rects) {
10
+ if (rects.length === 0) {
11
+ return null;
12
+ }
13
+ const left = Math.min(...rects.map((rect) => rect.x));
14
+ const top = Math.min(...rects.map((rect) => rect.y));
15
+ const right = Math.max(...rects.map((rect) => rect.x + rect.width));
16
+ const bottom = Math.max(...rects.map((rect) => rect.y + rect.height));
17
+ return {
18
+ x: left,
19
+ y: top,
20
+ width: right - left,
21
+ height: bottom - top,
22
+ };
23
+ }
24
+ export function measureNativeRuntimeNodeView(view) {
25
+ return new Promise((resolve) => {
26
+ view.measureInWindow((x, y, width, height) => {
27
+ resolve(width > 0 && height > 0 ? { x, y, width, height } : null);
28
+ });
29
+ });
30
+ }
31
+ export function createNativeRuntimeNodeMeasurement(view, showUnsupportedIndicator) {
32
+ return {
33
+ measure: () => measureNativeRuntimeNodeView(view),
34
+ showUnsupportedIndicator,
35
+ source: 'authored-root',
36
+ };
37
+ }
38
+ export function createRuntimeNodeMeasurementRegistry(options) {
39
+ const measurements = new Map();
40
+ return {
41
+ getMeasurements: () => measurements,
42
+ register(nodeId, measurement) {
43
+ const nodeMeasurements = measurements.get(nodeId) ?? new Set();
44
+ nodeMeasurements.add(measurement);
45
+ measurements.set(nodeId, nodeMeasurements);
46
+ options?.onChange?.();
47
+ let registered = true;
48
+ return () => {
49
+ if (!registered) {
50
+ return;
51
+ }
52
+ registered = false;
53
+ const registeredMeasurements = measurements.get(nodeId);
54
+ if (!registeredMeasurements?.delete(measurement)) {
55
+ return;
56
+ }
57
+ if (registeredMeasurements.size === 0) {
58
+ measurements.delete(nodeId);
59
+ }
60
+ options?.onChange?.();
61
+ };
62
+ },
63
+ };
64
+ }
65
+ function selectPreferredRuntimeNodeMeasurements(measurements) {
66
+ const authoredRoots = [...measurements].filter((measurement) => measurement.source === 'authored-root');
67
+ return authoredRoots.length > 0 ? authoredRoots : [...measurements];
68
+ }
69
+ export function getActiveRuntimeNodeMeasurements(runtimeNodes, isEditMode, selectedNodeId) {
70
+ if (!isEditMode) {
71
+ return [];
72
+ }
73
+ return [...runtimeNodes.entries()].flatMap(([nodeId, measurements]) => {
74
+ const needsGeometry = nodeId === selectedNodeId ||
75
+ [...measurements].some((measurement) => measurement.showUnsupportedIndicator);
76
+ return needsGeometry ? selectPreferredRuntimeNodeMeasurements(measurements) : [];
77
+ });
78
+ }
79
+ export function hasActiveRuntimeNodeMeasurements(runtimeNodes, isEditMode, selectedNodeId) {
80
+ return getActiveRuntimeNodeMeasurements(runtimeNodes, isEditMode, selectedNodeId).length > 0;
81
+ }
82
+ export async function measureRuntimeNodeIndicators(options) {
83
+ const { isEditMode, rootRect, runtimeNodes, selectedNodeId } = options;
84
+ if (!isEditMode || !rootRect) {
85
+ return [];
86
+ }
87
+ const activeNodes = [...runtimeNodes.entries()].filter(([nodeId, measurements]) => nodeId === selectedNodeId ||
88
+ [...measurements].some((measurement) => measurement.showUnsupportedIndicator));
89
+ const measured = await Promise.all(activeNodes.map(async ([nodeId, measurements]) => {
90
+ const preferredMeasurements = selectPreferredRuntimeNodeMeasurements(measurements);
91
+ const rects = await Promise.all(preferredMeasurements.map((measurement) => measurement.measure()));
92
+ return {
93
+ nodeId,
94
+ rect: unionMeasuredRects(rects.filter((rect) => rect !== null)),
95
+ showUnsupportedIndicator: [...measurements].some((measurement) => measurement.showUnsupportedIndicator),
96
+ };
97
+ }));
98
+ return measured
99
+ .flatMap(({ nodeId, rect, showUnsupportedIndicator }) => rect
100
+ ? [
101
+ {
102
+ nodeId,
103
+ showUnsupportedIndicator,
104
+ x: rect.x - rootRect.x,
105
+ y: rect.y - rootRect.y,
106
+ width: rect.width,
107
+ height: rect.height,
108
+ },
109
+ ]
110
+ : [])
111
+ .sort((left, right) => left.nodeId.localeCompare(right.nodeId));
112
+ }
113
+ export function createActiveResizeTargetCoordinator(observer) {
114
+ let observedTargets = new Set();
115
+ let disconnected = false;
116
+ return {
117
+ disconnect() {
118
+ if (disconnected) {
119
+ return;
120
+ }
121
+ disconnected = true;
122
+ observer.disconnect();
123
+ observedTargets = new Set();
124
+ },
125
+ getObservedTargets: () => observedTargets,
126
+ sync(measurements, additionalTargets = []) {
127
+ if (disconnected) {
128
+ return;
129
+ }
130
+ const desiredTargets = new Set(additionalTargets);
131
+ for (const measurement of measurements) {
132
+ for (const target of measurement.getResizeTargets?.() ?? []) {
133
+ desiredTargets.add(target);
134
+ }
135
+ }
136
+ for (const target of observedTargets) {
137
+ if (!desiredTargets.has(target)) {
138
+ observer.unobserve(target);
139
+ }
140
+ }
141
+ for (const target of desiredTargets) {
142
+ if (!observedTargets.has(target)) {
143
+ observer.observe(target);
144
+ }
145
+ }
146
+ observedTargets = desiredTargets;
147
+ },
148
+ };
149
+ }
150
+ export function createSelectedIndicatorViewProps(rect, borderColor) {
151
+ return {
152
+ pointerEvents: 'none',
153
+ style: {
154
+ position: 'absolute',
155
+ left: rect.x - 2,
156
+ top: rect.y - 2,
157
+ width: rect.width + 4,
158
+ height: rect.height + 4,
159
+ borderWidth: 2,
160
+ borderColor,
161
+ borderRadius: 4,
162
+ },
163
+ };
164
+ }
165
+ //# sourceMappingURL=runtimeNodeMeasurement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeNodeMeasurement.js","sourceRoot":"","sources":["../../src/runtime/runtimeNodeMeasurement.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stationarySelection.d.ts","sourceRoot":"","sources":["../../src/runtime/stationarySelection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,iBAAiB,EAGtB,IAAI,EACL,MAAM,cAAc,CAAC;AAmBtB,YAAY,EACV,qBAAqB,EACrB,8BAA8B,EAC9B,gBAAgB,GACjB,MAAM,qCAAqC,CAAC;AAa7C,KAAK,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AAkK7C,wBAAgB,mCAAmC,IAAI;IACrD,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9C,CA4BA;AAmHD,wBAAgB,uCAAuC,CAAC,OAAO,CAAC,EAAE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;CAC7D,GAAG,CAAC,IAAI,EAAE;IACT,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,KAAK,KAAK,CAAC,SAAS,CAyBpB;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAuUpB;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"stationarySelection.d.ts","sourceRoot":"","sources":["../../src/runtime/stationarySelection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,iBAAiB,EAGtB,IAAI,EACL,MAAM,cAAc,CAAC;AAmCtB,YAAY,EACV,qBAAqB,EACrB,8BAA8B,EAC9B,gBAAgB,GACjB,MAAM,qCAAqC,CAAC;AAE7C,KAAK,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AAyI7C,wBAAgB,mCAAmC,IAAI;IACrD,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9C,CA4BA;AAoID,wBAAgB,uCAAuC,CAAC,OAAO,CAAC,EAAE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;CAC7D,GAAG,CAAC,IAAI,EAAE;IACT,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,KAAK,KAAK,CAAC,SAAS,CA8BpB;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqXpB;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}