@minmaps-dev/mm-web-sdk 1.0.0-rc.45 → 1.0.0-rc.47
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 +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +201 -20
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/jacs.cjs.map +1 -1
- package/dist/jacs.js.map +1 -1
- package/dist/react.cjs +1 -1
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.ts +5 -2
- package/dist/react.js +1 -1
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/themes/alt3-hybrid-style.json +4 -2
package/dist/index.d.ts
CHANGED
|
@@ -233,6 +233,11 @@ interface Zone {
|
|
|
233
233
|
/** Authored hex color (e.g. "#d32f2f"); may be empty when the author
|
|
234
234
|
* hasn't picked one — such zones are skipped for color-coding. */
|
|
235
235
|
color: string;
|
|
236
|
+
/** The color this zone's rooms are drawn in under the active theme — `color`
|
|
237
|
+
* in the default theme, its high-contrast palette entry under high contrast.
|
|
238
|
+
* Use this, not `color`, for a legend swatch, and re-read it on
|
|
239
|
+
* `themeChanged`. Set on `getZones()` results only. */
|
|
240
|
+
displayColor?: string;
|
|
236
241
|
description?: string;
|
|
237
242
|
}
|
|
238
243
|
|
|
@@ -348,7 +353,7 @@ interface MapEvent {
|
|
|
348
353
|
venue?: any;
|
|
349
354
|
camera?: CameraState;
|
|
350
355
|
/** Emitted by `themeChanged`; `'custom'` when consumer passed a raw style. */
|
|
351
|
-
theme?: 'default' | 'high-contrast' | 'custom';
|
|
356
|
+
theme?: 'default' | 'high-contrast' | 'color-blind' | 'custom';
|
|
352
357
|
/** Emitted by `localeChanged` after `setLocale()` finishes patching the
|
|
353
358
|
* venue model. BCP-47 code (`'en'`, `'es'`, `'es-MX'`). */
|
|
354
359
|
locale?: string;
|
|
@@ -383,7 +388,7 @@ type BoundsPadding = number | {
|
|
|
383
388
|
* `options.theme` init option. Pass a `StyleSpecification` directly for
|
|
384
389
|
* custom themes.
|
|
385
390
|
*/
|
|
386
|
-
type ThemeName = 'default' | 'high-contrast';
|
|
391
|
+
type ThemeName = 'default' | 'high-contrast' | 'color-blind';
|
|
387
392
|
/**
|
|
388
393
|
* Style of the disc + ring rendered behind each amenity icon. The SDK
|
|
389
394
|
* composites this into the icon bitmap at registration time, so badge +
|
|
@@ -414,7 +419,10 @@ interface SDKOptions {
|
|
|
414
419
|
debugGlobal?: string | false;
|
|
415
420
|
/**
|
|
416
421
|
* Initial theme. `'default'` uses the bundled hybrid 3D theme.
|
|
417
|
-
* `'high-contrast'` uses the WCAG-AA tuned theme.
|
|
422
|
+
* `'high-contrast'` uses the WCAG-AA tuned theme. `'color-blind'` keeps the
|
|
423
|
+
* default look but swaps the colors that red-green and blue-yellow color
|
|
424
|
+
* blindness merge (the route, room categories and department zones,
|
|
425
|
+
* restrooms, parks). Pass a
|
|
418
426
|
* `StyleSpecification` for fully custom styling.
|
|
419
427
|
*/
|
|
420
428
|
theme?: ThemeName | any;
|
|
@@ -1073,6 +1081,24 @@ interface OpenStatusOptions {
|
|
|
1073
1081
|
* wrong answer at a kiosk is worse than a missing one.
|
|
1074
1082
|
*/
|
|
1075
1083
|
declare function parseOpenHours(raw: unknown): OpenHours | null;
|
|
1084
|
+
/**
|
|
1085
|
+
* The weekday `now` falls on in `timeZone` (host clock when omitted or
|
|
1086
|
+
* unrecognised) — the same day `getOpenStatus` evaluates against. Exported so
|
|
1087
|
+
* a week table can highlight "today" without disagreeing with the status line
|
|
1088
|
+
* around the venue's midnight.
|
|
1089
|
+
*/
|
|
1090
|
+
declare function dayKeyAt(now: Date, timeZone?: string): DayKey;
|
|
1091
|
+
/**
|
|
1092
|
+
* A short label for `timeZone` (host zone when omitted or unrecognised) — the
|
|
1093
|
+
* zone `getOpenStatus` reads hours against — so a UI can say "Opens 9:00 AM ET".
|
|
1094
|
+
*
|
|
1095
|
+
* US zones get the generic form (`ET`, `CT`, `MT`, `PT`, `AKT`), which doesn't
|
|
1096
|
+
* flip with daylight saving. Elsewhere the engine has no generic abbreviation
|
|
1097
|
+
* (it would spell out "Germany Time"), so this falls back to the specific short
|
|
1098
|
+
* name, which may be an offset (`GMT+2`). `now` only matters for that fallback
|
|
1099
|
+
* and for zones like Phoenix that print `MST` year-round.
|
|
1100
|
+
*/
|
|
1101
|
+
declare function timeZoneAbbreviation(now?: Date, timeZone?: string): string;
|
|
1076
1102
|
/**
|
|
1077
1103
|
* The live open/closed state for a parsed week.
|
|
1078
1104
|
*
|
|
@@ -1083,10 +1109,32 @@ declare function parseOpenHours(raw: unknown): OpenHours | null;
|
|
|
1083
1109
|
*
|
|
1084
1110
|
* Hours carry no timezone of their own, so they are read against the host clock
|
|
1085
1111
|
* unless `options.timeZone` names the venue's zone. The kiosk case needs no
|
|
1086
|
-
* option: the machine stands in the building it is describing.
|
|
1112
|
+
* option: the machine stands in the building it is describing. A web consumer
|
|
1113
|
+
* whose visitors may be elsewhere should resolve the venue's zone (e.g. from
|
|
1114
|
+
* `MinuteMaps.getVenueCenter()`) and pass it.
|
|
1087
1115
|
*/
|
|
1088
1116
|
declare function getOpenStatus(hours: OpenHours, now?: Date, options?: OpenStatusOptions): OpenStatus;
|
|
1089
1117
|
|
|
1118
|
+
/** One floor of the active route, drawn on its own for a printout. */
|
|
1119
|
+
type RouteFloorImage = {
|
|
1120
|
+
floor: Floor;
|
|
1121
|
+
/** The bare map canvas (no DOM chrome), as a `data:` URL. */
|
|
1122
|
+
dataUrl: string;
|
|
1123
|
+
};
|
|
1124
|
+
type RouteImageOptions = {
|
|
1125
|
+
/** CSS-pixel size the map is laid out at while capturing. Default 1200×800. */
|
|
1126
|
+
width?: number;
|
|
1127
|
+
height?: number;
|
|
1128
|
+
/** Canvas pixels per CSS pixel. Default 2, crisp enough for paper. */
|
|
1129
|
+
pixelRatio?: number;
|
|
1130
|
+
/** Padding around each floor's route segment, in CSS px. Default 40. */
|
|
1131
|
+
padding?: number;
|
|
1132
|
+
/** Image MIME type passed to `toDataURL`. Default `'image/png'`. */
|
|
1133
|
+
type?: string;
|
|
1134
|
+
/** Encoder quality for lossy types (`'image/jpeg'`, `'image/webp'`). */
|
|
1135
|
+
quality?: number;
|
|
1136
|
+
};
|
|
1137
|
+
|
|
1090
1138
|
type JacsProviderConfig = {
|
|
1091
1139
|
mode: 'proxy';
|
|
1092
1140
|
proxyBaseUrl?: string;
|
|
@@ -1271,6 +1319,8 @@ type SnapshotProviderConfig = {
|
|
|
1271
1319
|
baseUrl: string;
|
|
1272
1320
|
fetchImpl?: typeof fetch;
|
|
1273
1321
|
};
|
|
1322
|
+
/** Highest manifest `schemaVersion` this SDK can read. */
|
|
1323
|
+
declare const SNAPSHOT_SCHEMA_VERSION = 1;
|
|
1274
1324
|
/**
|
|
1275
1325
|
* The venue (or its customer) can't be shown from snapshots: it was never
|
|
1276
1326
|
* published, or it was withdrawn (unpublished, disabled or deleted). Thrown
|
|
@@ -1402,6 +1452,8 @@ declare class SnapshotProvider implements JacsReader {
|
|
|
1402
1452
|
private fetchJson;
|
|
1403
1453
|
}
|
|
1404
1454
|
|
|
1455
|
+
/** A built-in theme name, or `'custom'` when a raw style was passed. */
|
|
1456
|
+
type ActiveThemeName = ThemeName | 'custom';
|
|
1405
1457
|
declare class MinuteMaps {
|
|
1406
1458
|
private config;
|
|
1407
1459
|
private map;
|
|
@@ -1459,8 +1511,9 @@ declare class MinuteMaps {
|
|
|
1459
1511
|
/** Multiplier applied to every theme label's `text-size`, mutable via
|
|
1460
1512
|
* `setTextScale`. Re-applied after every `setTheme()` swap. */
|
|
1461
1513
|
private textScale;
|
|
1462
|
-
/** Each label layer's unscaled `text-size
|
|
1463
|
-
*
|
|
1514
|
+
/** Each label layer's unscaled `text-size` and em offsets, captured by
|
|
1515
|
+
* `setTextScale` and keyed `"<layer id>|<property>"`. Cleared on
|
|
1516
|
+
* `setTheme()` — the recreated layers carry new base values. */
|
|
1464
1517
|
private baseTextSizes;
|
|
1465
1518
|
/** Tracks the active theme name so `setTheme()` is a no-op when re-requested. */
|
|
1466
1519
|
private activeThemeName;
|
|
@@ -1476,6 +1529,9 @@ declare class MinuteMaps {
|
|
|
1476
1529
|
* step rides — empty unless `setActiveStep` is on a transition. Drives
|
|
1477
1530
|
* `applyRouteConnectorHighlight`. */
|
|
1478
1531
|
private activeTransitionWaypointIds;
|
|
1532
|
+
/** Set while `captureRouteFloorImages` runs; holds the bounds padding to
|
|
1533
|
+
* put back afterwards (updated by any `setBoundsPadding` in between). */
|
|
1534
|
+
private routeCapture;
|
|
1479
1535
|
private amenityManager;
|
|
1480
1536
|
private wayfinding;
|
|
1481
1537
|
private highlightManager;
|
|
@@ -1509,6 +1565,12 @@ declare class MinuteMaps {
|
|
|
1509
1565
|
* fresh insets, the same way it already re-fits an active route. Cleared by
|
|
1510
1566
|
* `clearHighlight`. */
|
|
1511
1567
|
private selectedCoordinates;
|
|
1568
|
+
/** Zoom floor for the current selection's camera move, or `null` to keep
|
|
1569
|
+
* the current zoom. Set by `selectPOI` (a list pick can arrive from the
|
|
1570
|
+
* Campus view, where the roof still covers the room); kept beside
|
|
1571
|
+
* `selectedCoordinates` so a `setBoundsPadding` re-nudge carries the same
|
|
1572
|
+
* zoom instead of cancelling the zoom-in halfway. Cleared with it. */
|
|
1573
|
+
private selectedMinZoom;
|
|
1512
1574
|
private youAreHerePulse;
|
|
1513
1575
|
/** Theme layers whose features represent a tappable destination/amenity.
|
|
1514
1576
|
* A click hit-tests these (see `SelectionManager`) → `poiSelected`. The
|
|
@@ -1649,16 +1711,62 @@ declare class MinuteMaps {
|
|
|
1649
1711
|
*/
|
|
1650
1712
|
private registerRuntimeIcons;
|
|
1651
1713
|
/**
|
|
1652
|
-
* Set the active map theme by name (`'default'` / `'high-contrast'`
|
|
1714
|
+
* Set the active map theme by name (`'default'` / `'high-contrast'` /
|
|
1715
|
+
* `'color-blind'`) or by
|
|
1653
1716
|
* passing a custom `StyleSpecification`. The current floor, route, POIs
|
|
1654
1717
|
* and camera are preserved across the swap — only layer styling changes.
|
|
1655
1718
|
*
|
|
1656
1719
|
* Used by kiosk consumers to wire the OS-level / popover high-contrast
|
|
1657
1720
|
* toggle to the map. See `KIOSK.md` for the pattern.
|
|
1721
|
+
*
|
|
1722
|
+
* Switching between the two built-in themes happens in place (paint
|
|
1723
|
+
* properties plus the sprite — see `swapBuiltinThemeInPlace`); a custom style,
|
|
1724
|
+
* or leaving one, rebuilds the style with `setStyle`. Calls run one at a time
|
|
1725
|
+
* in the order made, so a quick double toggle can't interleave two swaps.
|
|
1658
1726
|
*/
|
|
1659
1727
|
setTheme(theme: ThemeName | StyleSpecification): Promise<void>;
|
|
1728
|
+
/** Tail of the `setTheme` queue. */
|
|
1729
|
+
private themeQueue;
|
|
1730
|
+
private applyTheme;
|
|
1731
|
+
/**
|
|
1732
|
+
* Switch between built-in themes without `setStyle`. They share every layer
|
|
1733
|
+
* and differ only in paint and sprite (high contrast and color-blind are
|
|
1734
|
+
* derived from hybrid — see `themes/`), so this rewrites the paint
|
|
1735
|
+
* properties that differ and points the map at the other sprite sheet.
|
|
1736
|
+
* Sources, filters, zoom ranges, layout overrides (text scale, dyslexic font)
|
|
1737
|
+
* and the selection's destination focus are untouched, so unlike the
|
|
1738
|
+
* `setStyle` path there is nothing to capture and restore.
|
|
1739
|
+
*
|
|
1740
|
+
* Returns `false`, having changed nothing, when the two themes differ in
|
|
1741
|
+
* anything paint can't express; the caller then falls back to `setStyle`.
|
|
1742
|
+
*/
|
|
1743
|
+
private swapBuiltinThemeInPlace;
|
|
1744
|
+
/** Room layers whose color a zone palette replaces. The
|
|
1745
|
+
* highlight pair is here so a selected room's raised block keeps its
|
|
1746
|
+
* palette color instead of reverting to the authored one. */
|
|
1747
|
+
private static readonly ZONE_PAINT_TARGETS;
|
|
1748
|
+
/** Zone id → palette fill for `themeName`, over the zones in use (see
|
|
1749
|
+
* `assignZonePaletteColors` for why only those), or `null` for a theme that
|
|
1750
|
+
* draws the authored colors. */
|
|
1751
|
+
private paletteZoneColors;
|
|
1752
|
+
/**
|
|
1753
|
+
* Under a theme with a zone palette (high contrast, color-blind), color each
|
|
1754
|
+
* zoned room from it, keeping the theme's own value for everything else.
|
|
1755
|
+
* Under the default theme, write the theme's own value back: its expression
|
|
1756
|
+
* already tints by the authored `zoneColor`, and an in-place swap away from
|
|
1757
|
+
* color-blind wouldn't reset these layers otherwise, since the two static
|
|
1758
|
+
* themes' unit fills are identical and `diffThemePaint` skips them.
|
|
1759
|
+
*
|
|
1760
|
+
* Writes the room layers' paint, so it must run before `setUnitFocusDim(true)`
|
|
1761
|
+
* captures them — otherwise clearing the selection would hand back the
|
|
1762
|
+
* palette-less value.
|
|
1763
|
+
*/
|
|
1764
|
+
private applyZonePaint;
|
|
1765
|
+
/** The color a zone's rooms are drawn in under the active theme: its palette
|
|
1766
|
+
* entry under high contrast or color-blind, its authored color otherwise. */
|
|
1767
|
+
private zoneDisplayColor;
|
|
1660
1768
|
/** Currently active theme name (or `'custom'` when a raw style was passed). */
|
|
1661
|
-
getActiveTheme():
|
|
1769
|
+
getActiveTheme(): ActiveThemeName;
|
|
1662
1770
|
/**
|
|
1663
1771
|
* Update the SDK's reduced-motion preference at runtime. When true, every
|
|
1664
1772
|
* imperative camera move (`setView`, `resetView`, `refit`, recenter, route
|
|
@@ -1702,6 +1810,10 @@ declare class MinuteMaps {
|
|
|
1702
1810
|
* wrapped), so zoom interpolation and data-driven sizing keep working. Re-applied after
|
|
1703
1811
|
* `setTheme()`, since `setStyle({ diff: false })` recreates every layer from
|
|
1704
1812
|
* the pristine theme JSON. Non-finite or non-positive values reset to 1.
|
|
1813
|
+
*
|
|
1814
|
+
* The em-based `text-offset` / `text-variable-anchor-offset` are divided by
|
|
1815
|
+
* the same factor, so each label keeps its pixel distance from an icon that
|
|
1816
|
+
* doesn't scale (see `scaleTextEmOffset`).
|
|
1705
1817
|
*/
|
|
1706
1818
|
setTextScale(scale: number): void;
|
|
1707
1819
|
getTextScale(): number;
|
|
@@ -1759,6 +1871,28 @@ declare class MinuteMaps {
|
|
|
1759
1871
|
setFlatMode(enabled: boolean): void;
|
|
1760
1872
|
toggleFlatMode(): void;
|
|
1761
1873
|
getIsFlatMode(): boolean;
|
|
1874
|
+
/**
|
|
1875
|
+
* Street address of the venue, from its first JACS building's `address`.
|
|
1876
|
+
* The CMS's Edit Venue form saves its Address field there, since it binds a
|
|
1877
|
+
* venue to a single building. `null` before the venue loads or when the
|
|
1878
|
+
* address is blank. In the venue's default language: `/all` ignores
|
|
1879
|
+
* `?locale=` and the locale refetch doesn't cover buildings.
|
|
1880
|
+
*/
|
|
1881
|
+
getVenueAddress(): string | null;
|
|
1882
|
+
/**
|
|
1883
|
+
* Description of the venue, from its first JACS building's `description` —
|
|
1884
|
+
* stored there by the CMS's Edit Venue form, like `getVenueAddress()`.
|
|
1885
|
+
* `null` before the venue loads or when the description is blank. Same
|
|
1886
|
+
* locale caveat: always the venue's default language.
|
|
1887
|
+
*/
|
|
1888
|
+
getVenueDescription(): string | null;
|
|
1889
|
+
/**
|
|
1890
|
+
* Center of the venue's bounds as `[lng, lat]`. `null` before the venue
|
|
1891
|
+
* loads or when it has no coordinates. JACS records no time zone, so a
|
|
1892
|
+
* consumer whose visitors may be outside the venue's zone resolves one from
|
|
1893
|
+
* this point and passes it to `getOpenStatus` / `dayKeyAt`.
|
|
1894
|
+
*/
|
|
1895
|
+
getVenueCenter(): [number, number] | null;
|
|
1762
1896
|
getFloors(): Floor[];
|
|
1763
1897
|
getCurrentFloor(): Floor | null;
|
|
1764
1898
|
getDefaultFloor(): Floor | null;
|
|
@@ -1782,12 +1916,14 @@ declare class MinuteMaps {
|
|
|
1782
1916
|
floorShortName?: string;
|
|
1783
1917
|
zoneName?: string;
|
|
1784
1918
|
zoneDescription?: string;
|
|
1785
|
-
/** The
|
|
1786
|
-
*
|
|
1787
|
-
*
|
|
1788
|
-
*
|
|
1789
|
-
*
|
|
1790
|
-
*
|
|
1919
|
+
/** The colour that tints this room's polygon on the map under the active
|
|
1920
|
+
* theme — the department's authored `Zone.color`, or its high-contrast
|
|
1921
|
+
* palette entry under high contrast (`Zone.displayColor`) — so a consumer
|
|
1922
|
+
* can print a swatch beside the department name and connect the two.
|
|
1923
|
+
* Re-read it on `themeChanged`. Absent when the author never picked one,
|
|
1924
|
+
* which is also when the map leaves the room untinted; treat "no colour"
|
|
1925
|
+
* as "this department isn't colour-coded", not as "fall back to a default
|
|
1926
|
+
* swatch". */
|
|
1791
1927
|
zoneColor?: string;
|
|
1792
1928
|
keywords?: string[];
|
|
1793
1929
|
description?: string;
|
|
@@ -2072,10 +2208,26 @@ declare class MinuteMaps {
|
|
|
2072
2208
|
* instead swap the connector(s) the step rides to their highlighted
|
|
2073
2209
|
* sprite badge (`CONNECTOR_HIGHLIGHTED_ICON_SUFFIX`).
|
|
2074
2210
|
*
|
|
2211
|
+
* `opts.fit` moves the camera too:
|
|
2212
|
+
* - `'step'` frames just this step (zoomed no closer than
|
|
2213
|
+
* `ROUTE_STEP_FIT_MAX_ZOOM`) instead of the floor's whole segment, and
|
|
2214
|
+
* keeps framing it through later re-fits — `setBoundsPadding` as the
|
|
2215
|
+
* consumer's directions card resizes, a floor switch back to the step's
|
|
2216
|
+
* floor — until another fit or a new route.
|
|
2217
|
+
* - `'route'` goes back to the route's own framing (its floor segment),
|
|
2218
|
+
* as when it was first drawn — e.g. a "Restart" on the first step.
|
|
2219
|
+
*
|
|
2220
|
+
* Omitted, the camera is left alone, so a route's first framing stays
|
|
2221
|
+
* the whole route.
|
|
2222
|
+
*
|
|
2075
2223
|
* Pass `null` to clear the highlight without changing the floor or
|
|
2076
2224
|
* tearing down the route.
|
|
2077
2225
|
*/
|
|
2078
|
-
setActiveStep(step: WayfindStep | null
|
|
2226
|
+
setActiveStep(step: WayfindStep | null, opts?: {
|
|
2227
|
+
fit?: 'step' | 'route';
|
|
2228
|
+
}): Promise<void>;
|
|
2229
|
+
/** The coordinates of `step`'s point range, for the camera to frame. */
|
|
2230
|
+
private stepFocusFor;
|
|
2079
2231
|
private writeActiveStepHighlight;
|
|
2080
2232
|
private clearActiveStepHighlight;
|
|
2081
2233
|
/**
|
|
@@ -2089,6 +2241,24 @@ declare class MinuteMaps {
|
|
|
2089
2241
|
* that predates the variant) rather than drawing nothing.
|
|
2090
2242
|
*/
|
|
2091
2243
|
private applyRouteConnectorHighlight;
|
|
2244
|
+
/**
|
|
2245
|
+
* Draw each floor the active route crosses, in route order, and return
|
|
2246
|
+
* one image per floor — for printing directions.
|
|
2247
|
+
*
|
|
2248
|
+
* Images are the map canvas alone, so the consumer's DOM chrome (panels,
|
|
2249
|
+
* buttons, the floor picker) never appears in them. For the duration the
|
|
2250
|
+
* map container is laid out at a fixed `width` × `height`, the camera
|
|
2251
|
+
* fits each floor's segment of the route with uniform `padding`, and the
|
|
2252
|
+
* line is drawn solid (no draw-on sweep, no step highlight). Afterwards
|
|
2253
|
+
* the container size, floor, camera and padding are put back. Hide the
|
|
2254
|
+
* map behind a loading screen while this runs; the visitor would
|
|
2255
|
+
* otherwise see it jump between floors.
|
|
2256
|
+
*
|
|
2257
|
+
* The step highlight is cleared, not restored: call `setActiveStep`
|
|
2258
|
+
* again with the step your UI is showing. Resolves to `[]` when no route
|
|
2259
|
+
* is displayed.
|
|
2260
|
+
*/
|
|
2261
|
+
captureRouteFloorImages(opts?: RouteImageOptions): Promise<RouteFloorImage[]>;
|
|
2092
2262
|
clearRoute(): void;
|
|
2093
2263
|
/**
|
|
2094
2264
|
* Put the end-of-route marker on `poi`, or take it down (`null`). With
|
|
@@ -2122,8 +2292,10 @@ declare class MinuteMaps {
|
|
|
2122
2292
|
*
|
|
2123
2293
|
* This is deliberately *not* `highlightPOI`, which is the search-locate
|
|
2124
2294
|
* gesture — it zooms and recenters and draws a pulsing ring, and emits
|
|
2125
|
-
* nothing. Selection is the quieter one:
|
|
2126
|
-
*
|
|
2295
|
+
* nothing. Selection is the quieter one: no ring, the raised room is the
|
|
2296
|
+
* indicator, and the current zoom is kept — unless it is further out than
|
|
2297
|
+
* the Kiosk view (`KIOSK_VIEW_MIN_ZOOM`), where the building's roof still
|
|
2298
|
+
* hides the room, in which case the camera zooms in to that view.
|
|
2127
2299
|
*
|
|
2128
2300
|
* Accepts a `POI` (preferred — its `type` and `waypointId` pin down the exact
|
|
2129
2301
|
* instance, which matters for an amenity that shares one id across every
|
|
@@ -2204,7 +2376,8 @@ declare class MinuteMaps {
|
|
|
2204
2376
|
/** Gentle pan so the selection sits in the centre of the map area MapLibre
|
|
2205
2377
|
* frames within `boundsPadding` (which the consumer sets to reserve for its
|
|
2206
2378
|
* bottom-docked chrome / info card). A straight `easeTo`, current zoom kept,
|
|
2207
|
-
* so it reads as a nudge, not a recenter
|
|
2379
|
+
* so it reads as a nudge, not a recenter — unless `selectedMinZoom` is set
|
|
2380
|
+
* and the camera is further out, in which case it zooms in to that floor. */
|
|
2208
2381
|
private easeToSelection;
|
|
2209
2382
|
/** Dim every unit's paint (or restore it) so a selected room reads as the
|
|
2210
2383
|
* focus. Idempotent: capturing only happens on the first activate, and the
|
|
@@ -2504,6 +2677,14 @@ type VenueSummary = {
|
|
|
2504
2677
|
clustering: boolean;
|
|
2505
2678
|
/** Whether JACS publishes the venue's edits automatically. */
|
|
2506
2679
|
autoPublish: boolean;
|
|
2680
|
+
/** The venue's street address (its first building's `address`); `null` when
|
|
2681
|
+
* blank or unknown. Only snapshot directories carry it — `/customer/all`
|
|
2682
|
+
* has no buildings — so it is always `null` in `proxy`/`direct` mode. Same
|
|
2683
|
+
* value `MinuteMaps.getVenueAddress()` returns once the venue loads. */
|
|
2684
|
+
address: string | null;
|
|
2685
|
+
/** The venue's description, as with `address`. Matches
|
|
2686
|
+
* `MinuteMaps.getVenueDescription()`. */
|
|
2687
|
+
description: string | null;
|
|
2507
2688
|
};
|
|
2508
2689
|
/** One entry of `/customer/all`: a customer and the venues it owns. Hand a
|
|
2509
2690
|
* venue's `customerId` and `id` to the SDK's `jacs`/`venue` config to load it. */
|
|
@@ -2642,5 +2823,5 @@ type ResolvedIconSource = {
|
|
|
2642
2823
|
*/
|
|
2643
2824
|
declare function resolveAmenityIconSource(amenity: AmenityLike, preferredLocale?: string): ResolvedIconSource | null;
|
|
2644
2825
|
|
|
2645
|
-
export { BUILDING_NAME_EXTENSOR_KEY, DAY_KEYS, IMAGE_ALT_EXTENSOR_KEY, MinuteMaps, OPEN_HOURS_EXTENSOR_KEY, OPEN_HOURS_VERSION, PHONE_EXTENSOR_KEY, POINT_OF_INTEREST_EXTENSOR_KEY, RESERVED_EXTENSOR_PREFIX, SnapshotProvider, SnapshotUnavailableError, VenueDirectory, activeSectionIndex, createMinuteMapsSDK, customerDisplayName, getOpenStatus, groupStepsIntoFloorSections, isConnectorAmenity, parseBuildingName, parseImageAlt, parseOpenHours, parsePhone, parsePointOfInterest, resolveAmenityIconSource, resolveSnapshotLocale };
|
|
2646
|
-
export type { Amenity, AmenityBadgeStyle, AmenityWithFloor, Bounds, BoundsPadding, CameraState, Customer, CustomerVenues, DayKey, Destination, DestinationPhone, EventCallback, Floor, FloorMetadata, HoursRange, JMapAuth, JMapConfig, JacsAuth, JacsConfig, JacsProviderConfig, JacsReader, ListCustomerVenuesOptions, MapEvent, OpenHours, OpenHoursTransition, OpenStatus, OpenStatusOptions, POI, POISearchResult, ResolvedIconSource, RouteFloorSection, RoutePoint, RoutingOptions, SDKConfig, SDKOptions, SnapshotProviderConfig, SnapshotUpdateCheck, SnapshotVersions, ThemeName, TransitionStep, VenueDirectoryConfig, VenueSummary, ViewOptions, WayfindCenterMode, WayfindStep, Waypoint, Zone };
|
|
2826
|
+
export { BUILDING_NAME_EXTENSOR_KEY, DAY_KEYS, IMAGE_ALT_EXTENSOR_KEY, MinuteMaps, OPEN_HOURS_EXTENSOR_KEY, OPEN_HOURS_VERSION, PHONE_EXTENSOR_KEY, POINT_OF_INTEREST_EXTENSOR_KEY, RESERVED_EXTENSOR_PREFIX, SNAPSHOT_SCHEMA_VERSION, SnapshotProvider, SnapshotUnavailableError, VenueDirectory, activeSectionIndex, createMinuteMapsSDK, customerDisplayName, dayKeyAt, getOpenStatus, groupStepsIntoFloorSections, isConnectorAmenity, parseBuildingName, parseImageAlt, parseOpenHours, parsePhone, parsePointOfInterest, resolveAmenityIconSource, resolveSnapshotLocale, timeZoneAbbreviation };
|
|
2827
|
+
export type { Amenity, AmenityBadgeStyle, AmenityWithFloor, Bounds, BoundsPadding, CameraState, Customer, CustomerVenues, DayKey, Destination, DestinationPhone, EventCallback, Floor, FloorMetadata, HoursRange, JMapAuth, JMapConfig, JacsAuth, JacsConfig, JacsProviderConfig, JacsReader, ListCustomerVenuesOptions, MapEvent, OpenHours, OpenHoursTransition, OpenStatus, OpenStatusOptions, POI, POISearchResult, ResolvedIconSource, RouteFloorImage, RouteFloorSection, RouteImageOptions, RoutePoint, RoutingOptions, SDKConfig, SDKOptions, SnapshotProviderConfig, SnapshotUpdateCheck, SnapshotVersions, ThemeName, TransitionStep, VenueDirectoryConfig, VenueSummary, ViewOptions, WayfindCenterMode, WayfindStep, Waypoint, Zone };
|