@honua/react 0.1.9-beta.0 → 0.1.11-beta.0

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 (156) hide show
  1. package/control-plane/admin-client.d.ts +2 -0
  2. package/control-plane/admin-client.d.ts.map +1 -1
  3. package/control-plane/admin-client.js +32 -1
  4. package/control-plane/client.d.ts +1 -1
  5. package/control-plane/client.d.ts.map +1 -1
  6. package/control-plane/client.js +124 -8
  7. package/control-plane/commands/catalog.d.ts +7 -7
  8. package/control-plane/commands/catalog.d.ts.map +1 -1
  9. package/control-plane/commands/catalog.js +27 -15
  10. package/control-plane/commands/runtime.d.ts +6 -6
  11. package/control-plane/commands/runtime.d.ts.map +1 -1
  12. package/control-plane/commands/runtime.js +26 -14
  13. package/control-plane/commands/types.d.ts +4 -2
  14. package/control-plane/commands/types.d.ts.map +1 -1
  15. package/control-plane/generated/admin-api.d.ts +6 -4
  16. package/control-plane/generated/admin-api.d.ts.map +1 -1
  17. package/control-plane/generated/admin-api.js +2 -2
  18. package/control-plane/generated/admin-operations.d.ts +7 -7
  19. package/control-plane/generated/admin-operations.d.ts.map +1 -1
  20. package/control-plane/generated/admin-operations.js +9 -9
  21. package/control-plane/index.d.ts +1 -1
  22. package/control-plane/index.d.ts.map +1 -1
  23. package/control-plane/index.js +1 -1
  24. package/core/client.d.ts.map +1 -1
  25. package/core/client.js +28 -30
  26. package/core/error-envelope.d.ts +31 -0
  27. package/core/error-envelope.d.ts.map +1 -1
  28. package/core/error-envelope.js +11 -0
  29. package/core/errors.d.ts +15 -3
  30. package/core/errors.d.ts.map +1 -1
  31. package/core/errors.js +254 -2
  32. package/core/geometry-input-sr.d.ts +3 -0
  33. package/core/geometry-input-sr.d.ts.map +1 -0
  34. package/core/geometry-input-sr.js +28 -0
  35. package/core/geoservices.d.ts.map +1 -1
  36. package/core/geoservices.js +33 -6
  37. package/core/grpc-adapter.d.ts.map +1 -1
  38. package/core/grpc-adapter.js +11 -3
  39. package/core/pbf-decoder.d.ts.map +1 -1
  40. package/core/pbf-decoder.js +16 -4
  41. package/core/protocol-transport.d.ts +6 -1
  42. package/core/protocol-transport.d.ts.map +1 -1
  43. package/core/request-pipeline.d.ts +6 -3
  44. package/core/request-pipeline.d.ts.map +1 -1
  45. package/core/request-pipeline.js +28 -11
  46. package/core/spatial-filter.d.ts +4 -4
  47. package/core/spatial-filter.d.ts.map +1 -1
  48. package/core/spatial-filter.js +7 -7
  49. package/core/types.d.ts +14 -3
  50. package/core/types.d.ts.map +1 -1
  51. package/esri-compat/class-breaks-renderer.d.ts +2 -0
  52. package/esri-compat/class-breaks-renderer.d.ts.map +1 -1
  53. package/esri-compat/class-breaks-renderer.js +7 -0
  54. package/esri-compat/controls.d.ts +10 -1
  55. package/esri-compat/controls.d.ts.map +1 -1
  56. package/esri-compat/controls.js +86 -2
  57. package/esri-compat/directions.d.ts +35 -0
  58. package/esri-compat/directions.d.ts.map +1 -1
  59. package/esri-compat/directions.js +153 -2
  60. package/esri-compat/expand.d.ts +1 -0
  61. package/esri-compat/expand.d.ts.map +1 -1
  62. package/esri-compat/expand.js +61 -0
  63. package/esri-compat/feature-layer.d.ts +29 -4
  64. package/esri-compat/feature-layer.d.ts.map +1 -1
  65. package/esri-compat/feature-layer.js +335 -13
  66. package/esri-compat/geometry-engine.d.ts +4 -0
  67. package/esri-compat/geometry-engine.d.ts.map +1 -1
  68. package/esri-compat/geometry-engine.js +8 -1
  69. package/esri-compat/graphic.d.ts +7 -4
  70. package/esri-compat/graphic.d.ts.map +1 -1
  71. package/esri-compat/legend.d.ts +2 -1
  72. package/esri-compat/legend.d.ts.map +1 -1
  73. package/esri-compat/legend.js +15 -0
  74. package/esri-compat/map-view-mount.d.ts +48 -0
  75. package/esri-compat/map-view-mount.d.ts.map +1 -0
  76. package/esri-compat/map-view-mount.js +344 -0
  77. package/esri-compat/map-view.d.ts +38 -6
  78. package/esri-compat/map-view.d.ts.map +1 -1
  79. package/esri-compat/map-view.js +471 -33
  80. package/esri-compat/portal.d.ts +2 -0
  81. package/esri-compat/portal.d.ts.map +1 -1
  82. package/esri-compat/portal.js +7 -2
  83. package/esri-compat/renderer-objects.d.ts +7 -2
  84. package/esri-compat/renderer-objects.d.ts.map +1 -1
  85. package/esri-compat/renderer-objects.js +16 -5
  86. package/esri-compat/route-layer.d.ts +8 -0
  87. package/esri-compat/route-layer.d.ts.map +1 -1
  88. package/esri-compat/route-layer.js +24 -4
  89. package/esri-compat/route-task.d.ts +5 -1
  90. package/esri-compat/route-task.d.ts.map +1 -1
  91. package/esri-compat/route-task.js +119 -7
  92. package/esri-compat/scene-view.d.ts.map +1 -1
  93. package/esri-compat/scene-view.js +1 -0
  94. package/esri-compat/search.d.ts +2 -1
  95. package/esri-compat/search.d.ts.map +1 -1
  96. package/esri-compat/search.js +52 -2
  97. package/esri-compat/unique-value-renderer.d.ts +2 -0
  98. package/esri-compat/unique-value-renderer.d.ts.map +1 -1
  99. package/esri-compat/unique-value-renderer.js +7 -0
  100. package/esri-compat/web-map.d.ts +10 -0
  101. package/esri-compat/web-map.d.ts.map +1 -1
  102. package/esri-compat/web-map.js +102 -0
  103. package/map/webmap-maplibre.d.ts +2 -1
  104. package/map/webmap-maplibre.d.ts.map +1 -1
  105. package/map/webmap-maplibre.js +3 -0
  106. package/package.json +3 -3
  107. package/query-planner/geoservices.d.ts.map +1 -1
  108. package/query-planner/geoservices.js +2 -0
  109. package/query-planner/types.d.ts +2 -0
  110. package/query-planner/types.d.ts.map +1 -1
  111. package/realtime/honua-server.d.ts +4 -0
  112. package/realtime/honua-server.d.ts.map +1 -1
  113. package/realtime/honua-server.js +10 -0
  114. package/realtime/resumable.js +9 -0
  115. package/realtime/types.d.ts +8 -0
  116. package/realtime/types.d.ts.map +1 -1
  117. package/studio/capability-manifest.d.ts +10 -0
  118. package/studio/capability-manifest.d.ts.map +1 -1
  119. package/studio/capability-manifest.js +38 -0
  120. package/studio/command-adapter.d.ts +35 -0
  121. package/studio/command-adapter.d.ts.map +1 -0
  122. package/studio/command-adapter.js +36 -0
  123. package/studio/generated/studio-api.d.ts +1062 -0
  124. package/studio/generated/studio-api.d.ts.map +1 -0
  125. package/studio/generated/studio-api.js +4 -0
  126. package/studio/index.d.ts +8 -6
  127. package/studio/index.d.ts.map +1 -1
  128. package/studio/index.js +6 -5
  129. package/studio/lifecycle-client.d.ts +3 -3
  130. package/studio/lifecycle-client.d.ts.map +1 -1
  131. package/studio/lifecycle-client.js +41 -22
  132. package/studio/lifecycle-types.d.ts +56 -77
  133. package/studio/lifecycle-types.d.ts.map +1 -1
  134. package/studio/lifecycle-types.js +5 -12
  135. package/studio/types.d.ts +37 -7
  136. package/studio/types.d.ts.map +1 -1
  137. package/studio/types.js +5 -3
  138. package/studio/validate.d.ts.map +1 -1
  139. package/studio/validate.js +104 -7
  140. package/style/renderers.d.ts +6 -1
  141. package/style/renderers.d.ts.map +1 -1
  142. package/style/renderers.js +11 -6
  143. package/style/visual-variables.d.ts +43 -0
  144. package/style/visual-variables.d.ts.map +1 -0
  145. package/style/visual-variables.js +183 -0
  146. package/webmap/convert-layer.d.ts +2 -1
  147. package/webmap/convert-layer.d.ts.map +1 -1
  148. package/webmap/convert-layer.js +20 -3
  149. package/webmap/convert-renderer.d.ts +10 -3
  150. package/webmap/convert-renderer.d.ts.map +1 -1
  151. package/webmap/convert-renderer.js +190 -36
  152. package/webmap/index.d.ts +1 -0
  153. package/webmap/index.d.ts.map +1 -1
  154. package/webmap/parse.d.ts +2 -1
  155. package/webmap/parse.d.ts.map +1 -1
  156. package/webmap/parse.js +1 -1
@@ -1,4 +1,5 @@
1
1
  import { CompatEventBus, resolveCompatEventBus, safeInvokeCompatListener, } from "./event-bus.js";
2
+ import { GraphicCompat } from "./graphic.js";
2
3
  export class BaseControlCompat {
3
4
  view;
4
5
  container;
@@ -193,6 +194,10 @@ export class ScaleBarCompat extends BaseControlCompat {
193
194
  export class LocateCompat extends BaseControlCompat {
194
195
  zoom;
195
196
  lastPosition;
197
+ /** Mirrors the Esri Locate view model state watched by `watchUtils.init`. */
198
+ viewModel;
199
+ /** The latest locate result, so a directions stop can clone it. */
200
+ graphic;
196
201
  locateProvider;
197
202
  get controlName() {
198
203
  return "locate";
@@ -201,14 +206,26 @@ export class LocateCompat extends BaseControlCompat {
201
206
  super(options);
202
207
  this.zoom = options.zoom;
203
208
  this.lastPosition = undefined;
209
+ this.graphic = undefined;
210
+ this.viewModel = { state: "ready" };
204
211
  this.locateProvider = options.locateProvider ?? getDefaultLocateProvider();
212
+ mountLocateButton(this);
213
+ }
214
+ attachContainer(element) {
215
+ this.container = element;
216
+ mountLocateButton(this);
205
217
  }
206
218
  async locate() {
219
+ this.viewModel.state = "disabled";
207
220
  this.eventBus.emit("locate.start", undefined, this);
208
221
  try {
209
222
  const position = await this.locateProvider();
210
223
  this.lastPosition = position;
224
+ this.graphic = new GraphicCompat({
225
+ geometry: { x: position.coords.longitude, y: position.coords.latitude },
226
+ });
211
227
  this.notifyWatchers("lastPosition", this.lastPosition);
228
+ this.notifyWatchers("graphic", this.graphic);
212
229
  const center = [position.coords.longitude, position.coords.latitude];
213
230
  const target = {
214
231
  center,
@@ -225,9 +242,11 @@ export class LocateCompat extends BaseControlCompat {
225
242
  center,
226
243
  zoom: this.zoom,
227
244
  }, this);
245
+ this.viewModel.state = "ready";
228
246
  return position;
229
247
  }
230
248
  catch (error) {
249
+ this.viewModel.state = "ready";
231
250
  this.eventBus.emit("locate.error", { error }, this);
232
251
  throw error;
233
252
  }
@@ -269,6 +288,11 @@ export class ZoomCompat extends BaseControlCompat {
269
288
  constructor(options = {}) {
270
289
  super(options);
271
290
  this.layout = options.layout ?? "vertical";
291
+ mountZoomButtons(this);
292
+ }
293
+ attachContainer(element) {
294
+ this.container = element;
295
+ mountZoomButtons(this);
272
296
  }
273
297
  zoomIn(step = 1) {
274
298
  return this.adjustZoom(Math.abs(step));
@@ -277,16 +301,76 @@ export class ZoomCompat extends BaseControlCompat {
277
301
  return this.adjustZoom(-Math.abs(step));
278
302
  }
279
303
  adjustZoom(delta) {
280
- if (!isRecord(this.view) || typeof this.view.zoom !== "number" || !Number.isFinite(this.view.zoom)) {
304
+ if (!isRecord(this.view)) {
281
305
  return undefined;
282
306
  }
283
- const next = this.view.zoom + delta;
307
+ const current = typeof this.view.zoom === "number" && Number.isFinite(this.view.zoom) ? this.view.zoom : 2;
308
+ const next = current + delta;
284
309
  this.view.zoom = next;
310
+ const goTo = this.view.goTo;
311
+ if (typeof goTo === "function") {
312
+ void goTo.call(this.view, { zoom: next });
313
+ }
285
314
  this.notifyWatchers("zoom", next);
286
315
  this.eventBus.emit("zoom.changed", { zoom: next, delta }, this);
287
316
  return next;
288
317
  }
289
318
  }
319
+ function mountZoomButtons(zoom) {
320
+ const container = zoom.container;
321
+ const element = typeof HTMLElement !== "undefined" && container instanceof HTMLElement
322
+ ? container
323
+ : typeof container === "string" && typeof document !== "undefined"
324
+ ? document.getElementById(container)
325
+ : null;
326
+ if (!element) {
327
+ return;
328
+ }
329
+ element.querySelector(":scope > .honua-zoom")?.remove();
330
+ const bar = document.createElement("div");
331
+ bar.className = "honua-zoom";
332
+ bar.style.display = "flex";
333
+ bar.style.flexDirection = zoom.layout === "horizontal" ? "row" : "column";
334
+ bar.style.gap = "4px";
335
+ for (const [label, step] of [
336
+ ["+", 1],
337
+ ["−", -1],
338
+ ]) {
339
+ const button = document.createElement("button");
340
+ button.type = "button";
341
+ button.textContent = label;
342
+ button.addEventListener("click", () => {
343
+ if (step > 0) {
344
+ zoom.zoomIn();
345
+ }
346
+ else {
347
+ zoom.zoomOut();
348
+ }
349
+ });
350
+ bar.append(button);
351
+ }
352
+ element.append(bar);
353
+ }
354
+ function mountLocateButton(locate) {
355
+ const container = locate.container;
356
+ const element = typeof HTMLElement !== "undefined" && container instanceof HTMLElement
357
+ ? container
358
+ : typeof container === "string" && typeof document !== "undefined"
359
+ ? document.getElementById(container)
360
+ : null;
361
+ if (!element) {
362
+ return;
363
+ }
364
+ element.querySelector(":scope > .honua-locate")?.remove();
365
+ const button = document.createElement("button");
366
+ button.type = "button";
367
+ button.className = "honua-locate";
368
+ button.textContent = "Locate";
369
+ button.addEventListener("click", () => {
370
+ void locate.locate();
371
+ });
372
+ element.append(button);
373
+ }
290
374
  export class FullscreenCompat extends BaseControlCompat {
291
375
  element;
292
376
  active;
@@ -1,11 +1,14 @@
1
1
  import { CompatEventBus } from "./event-bus.js";
2
2
  import { RouteLayerCompat, type RouteLayerCompatOptions, type RouteSolveResultCompat, type RouteStopCompat } from "./route-layer.js";
3
+ import { type RouteTaskSolveResultCompat } from "./route-task.js";
3
4
  export interface DirectionsCompatOptions {
4
5
  view?: unknown;
5
6
  container?: unknown;
6
7
  layer?: RouteLayerCompat;
7
8
  eventBus?: CompatEventBus;
8
9
  routeProvider?: RouteLayerCompatOptions["routeProvider"];
10
+ routeServiceUrl?: string;
11
+ apiKey?: string;
9
12
  stops?: readonly RouteStopCompat[];
10
13
  useDefaultRouteLayer?: boolean;
11
14
  showSaveAsButton?: boolean;
@@ -42,4 +45,36 @@ export declare class DirectionsCompat {
42
45
  destroy(): void;
43
46
  private notifyWatchers;
44
47
  }
48
+ /**
49
+ * The Esri `DirectionsViewModel` shape used by webpack 4.x apps: a view, a stop
50
+ * collection, `load`, `getDirections`, and `reset`. With no custom route
51
+ * provider, `load` reads travel modes and `getDirections` solves
52
+ * `routeServiceUrl` (the Esri world route service by default).
53
+ */
54
+ export declare class DirectionsViewModelCompat {
55
+ view: unknown;
56
+ loaded: boolean;
57
+ selectedTravelMode: unknown;
58
+ readonly routeServiceUrl: string;
59
+ /** Filled from the route service during `load`. `find` returns undefined until then. */
60
+ readonly travelModes: Array<{
61
+ name?: string;
62
+ }>;
63
+ readonly layer: RouteLayerCompat;
64
+ readonly stops: {
65
+ removeAll(): void;
66
+ addMany(stops: readonly unknown[]): void;
67
+ };
68
+ private readonly apiKey;
69
+ private readonly routeProvider;
70
+ constructor(options?: {
71
+ view?: unknown;
72
+ routeServiceUrl?: string;
73
+ apiKey?: string;
74
+ routeProvider?: RouteLayerCompatOptions["routeProvider"];
75
+ });
76
+ load(): Promise<this>;
77
+ getDirections(): Promise<RouteTaskSolveResultCompat | undefined>;
78
+ reset(): void;
79
+ }
45
80
  //# sourceMappingURL=directions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"directions.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/directions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAmD,MAAM,gBAAgB,CAAC;AACjG,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,gBAAgB;IAC3B,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,0BAA0B,CAAC;IAC9C,SAAgB,oBAAoB,EAAE,OAAO,CAAC;IAC9C,SAAgB,gBAAgB,EAAE,OAAO,CAAC;IAC1C,SAAgB,KAAK,EAAE,gBAAgB,CAAC;IACjC,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;gBAEzD,OAAO,GAAE,uBAA4B;IAmB3C,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAiBjC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQpF,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,sBAAsB;IAevF,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI;IAOjD,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAMpC,UAAU,IAAI,IAAI;IAQZ,KAAK,IAAI,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAgB1D,UAAU,IAAI,4BAA4B,GAAG,SAAS;IAWtD,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;CAUvB"}
1
+ {"version":3,"file":"directions.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/directions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAmD,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAmB,KAAK,0BAA0B,EAA8B,MAAM,iBAAiB,CAAC;AAK/G,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,gBAAgB;IAC3B,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,0BAA0B,CAAC;IAC9C,SAAgB,oBAAoB,EAAE,OAAO,CAAC;IAC9C,SAAgB,gBAAgB,EAAE,OAAO,CAAC;IAC1C,SAAgB,KAAK,EAAE,gBAAgB,CAAC;IACjC,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;gBAEzD,OAAO,GAAE,uBAA4B;IAsB3C,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAiBjC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQpF,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,sBAAsB;IAevF,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI;IAOjD,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAMpC,UAAU,IAAI,IAAI;IAQZ,KAAK,IAAI,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAgB1D,UAAU,IAAI,4BAA4B,GAAG,SAAS;IAWtD,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;CAUvB;AAED;;;;;GAKG;AACH,qBAAa,yBAAyB;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;IACnC,SAAgB,eAAe,EAAE,MAAM,CAAC;IACxC,wFAAwF;IACxF,SAAgB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,SAAgB,KAAK,EAAE,gBAAgB,CAAC;IACxC,SAAgB,KAAK,EAAE;QACrB,SAAS,IAAI,IAAI,CAAC;QAClB,OAAO,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAAC;KAC1C,CAAC;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuD;gBAGnF,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;KACrD;IAoBK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBrB,aAAa,IAAI,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAuBtE,KAAK,IAAI,IAAI;CAIrB"}
@@ -1,5 +1,10 @@
1
+ import { esriConfig } from "./esri-config.js";
1
2
  import { CompatEventBus, resolveCompatEventBus, safeInvokeCompatListener } from "./event-bus.js";
2
- import { RouteLayerCompat, } from "./route-layer.js";
3
+ import { identityManager } from "./identity-manager.js";
4
+ import { RouteLayerCompat, routeStopFromUnknown, } from "./route-layer.js";
5
+ import { RouteTaskCompat, arcGisRouteServiceProvider } from "./route-task.js";
6
+ /** Default `routeServiceUrl` on Esri `DirectionsViewModel` for the 4.x widget apps. */
7
+ const DEFAULT_ROUTE_SERVICE_URL = "https://route.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World";
3
8
  export class DirectionsCompat {
4
9
  view;
5
10
  container;
@@ -19,13 +24,16 @@ export class DirectionsCompat {
19
24
  this.loadStatus = "not-loaded";
20
25
  this.useDefaultRouteLayer = options.useDefaultRouteLayer ?? true;
21
26
  this.showSaveAsButton = options.showSaveAsButton ?? false;
27
+ const routeServiceUrl = options.routeServiceUrl ?? DEFAULT_ROUTE_SERVICE_URL;
22
28
  this.layer =
23
29
  options.layer ??
24
30
  new RouteLayerCompat({
31
+ url: routeServiceUrl,
25
32
  stops: options.stops,
26
- routeProvider: options.routeProvider,
33
+ routeProvider: options.routeProvider ?? arcGisRouteServiceProvider(routeServiceUrl, options.apiKey),
27
34
  eventBus: this.eventBus,
28
35
  });
36
+ mountDirectionsPanel(this.container);
29
37
  this.route = undefined;
30
38
  this.watchListeners = new Map();
31
39
  }
@@ -121,3 +129,146 @@ export class DirectionsCompat {
121
129
  }
122
130
  }
123
131
  }
132
+ /**
133
+ * The Esri `DirectionsViewModel` shape used by webpack 4.x apps: a view, a stop
134
+ * collection, `load`, `getDirections`, and `reset`. With no custom route
135
+ * provider, `load` reads travel modes and `getDirections` solves
136
+ * `routeServiceUrl` (the Esri world route service by default).
137
+ */
138
+ export class DirectionsViewModelCompat {
139
+ view;
140
+ loaded;
141
+ selectedTravelMode;
142
+ routeServiceUrl;
143
+ /** Filled from the route service during `load`. `find` returns undefined until then. */
144
+ travelModes;
145
+ layer;
146
+ stops;
147
+ apiKey;
148
+ routeProvider;
149
+ constructor(options = {}) {
150
+ this.view = options.view;
151
+ this.loaded = false;
152
+ this.selectedTravelMode = undefined;
153
+ this.routeServiceUrl = options.routeServiceUrl ?? DEFAULT_ROUTE_SERVICE_URL;
154
+ this.apiKey = options.apiKey;
155
+ this.routeProvider = options.routeProvider;
156
+ this.travelModes = [];
157
+ this.layer = new RouteLayerCompat({ url: this.routeServiceUrl, routeProvider: options.routeProvider });
158
+ this.stops = {
159
+ removeAll: () => {
160
+ this.layer.clearStops();
161
+ },
162
+ addMany: (stops) => {
163
+ this.layer.addStops(stops.map((stop) => routeStopFromUnknown(stop)));
164
+ },
165
+ };
166
+ }
167
+ async load() {
168
+ await this.layer.load();
169
+ if (!this.routeProvider) {
170
+ try {
171
+ const modes = await readTravelModes(this.routeServiceUrl, tokenForRouteService(this.routeServiceUrl, this.apiKey));
172
+ this.travelModes.splice(0, this.travelModes.length, ...modes);
173
+ }
174
+ catch {
175
+ // A missing mode catalog still leaves getDirections able to solve.
176
+ }
177
+ }
178
+ this.loaded = true;
179
+ return this;
180
+ }
181
+ async getDirections() {
182
+ if (this.layer.stops.length < 2) {
183
+ return undefined;
184
+ }
185
+ const routeProvider = this.routeProvider ??
186
+ arcGisRouteServiceProvider(this.routeServiceUrl, tokenForRouteService(this.routeServiceUrl, this.apiKey), this.selectedTravelMode);
187
+ const task = new RouteTaskCompat({
188
+ url: undefined,
189
+ apiKey: tokenForRouteService(this.routeServiceUrl, this.apiKey),
190
+ routeProvider,
191
+ });
192
+ return task.solve({
193
+ stops: [...this.layer.stops],
194
+ returnDirections: true,
195
+ travelMode: this.selectedTravelMode,
196
+ });
197
+ }
198
+ reset() {
199
+ this.layer.clearStops();
200
+ this.selectedTravelMode = undefined;
201
+ }
202
+ }
203
+ async function readTravelModes(url, token) {
204
+ const endpoint = new URL(`${url.replace(/\/$/, "")}/retrieveTravelModes`);
205
+ endpoint.searchParams.set("f", "json");
206
+ if (token) {
207
+ endpoint.searchParams.set("token", token);
208
+ }
209
+ const response = await fetch(endpoint);
210
+ const json = (await response.json());
211
+ if (!response.ok || json.error) {
212
+ throw new Error(json.error?.message ?? `Travel modes failed (${response.status}).`);
213
+ }
214
+ return (json.supportedTravelModes ?? []).filter((mode) => mode && typeof mode === "object");
215
+ }
216
+ function mountDirectionsPanel(container) {
217
+ const element = resolveWidgetElement(container);
218
+ if (!element || typeof document === "undefined") {
219
+ return;
220
+ }
221
+ const panel = document.createElement("div");
222
+ panel.className = "honua-directions";
223
+ panel.textContent = "Directions";
224
+ element.append(panel);
225
+ }
226
+ function resolveWidgetElement(container) {
227
+ if (typeof HTMLElement !== "undefined" && container instanceof HTMLElement) {
228
+ return container;
229
+ }
230
+ if (typeof container === "string" && typeof document !== "undefined") {
231
+ const element = document.getElementById(container);
232
+ return typeof HTMLElement !== "undefined" && element instanceof HTMLElement ? element : undefined;
233
+ }
234
+ return undefined;
235
+ }
236
+ function tokenForRouteService(url, apiKey) {
237
+ if (apiKey) {
238
+ return apiKey;
239
+ }
240
+ if (esriConfig.apiKey) {
241
+ return esriConfig.apiKey;
242
+ }
243
+ const direct = identityManager.findCredential(url);
244
+ if (direct?.token) {
245
+ return direct.token;
246
+ }
247
+ let host;
248
+ try {
249
+ host = new URL(url).hostname;
250
+ }
251
+ catch {
252
+ return undefined;
253
+ }
254
+ if (host !== "arcgis.com" && !host.endsWith(".arcgis.com")) {
255
+ return undefined;
256
+ }
257
+ for (let index = identityManager.credentials.length - 1; index >= 0; index -= 1) {
258
+ const credential = identityManager.credentials[index];
259
+ if (!credential) {
260
+ continue;
261
+ }
262
+ if (typeof credential.expires === "number" && credential.expires <= Date.now()) {
263
+ continue;
264
+ }
265
+ try {
266
+ const credentialHost = new URL(credential.server).hostname;
267
+ if (credentialHost === "arcgis.com" || credentialHost.endsWith(".arcgis.com")) {
268
+ return credential.token;
269
+ }
270
+ }
271
+ catch { }
272
+ }
273
+ return undefined;
274
+ }
@@ -24,6 +24,7 @@ export declare class ExpandCompat {
24
24
  group: string | undefined;
25
25
  private readonly watchListeners;
26
26
  constructor(options?: ExpandCompatOptions);
27
+ attachContainer(element: HTMLElement): void;
27
28
  load(): Promise<ExpandCompat>;
28
29
  when(callback?: (widget: ExpandCompat) => void): Promise<ExpandCompat>;
29
30
  watch(propertyName: string, listener: (value: unknown) => void): ExpandHandleCompat;
@@ -1 +1 @@
1
- {"version":3,"file":"expand.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/expand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAmD,MAAM,gBAAgB,CAAC;AAEjG,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,YAAY;IACvB,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,sBAAsB,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;gBAEzD,OAAO,GAAE,mBAAwB;IAavC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAgB7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAQ5E,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,kBAAkB;IAenF,MAAM,IAAI,IAAI;IASd,QAAQ,IAAI,IAAI;IAShB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO;IAUhC,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;CAUvB"}
1
+ {"version":3,"file":"expand.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/expand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAmD,MAAM,gBAAgB,CAAC;AAEjG,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,qBAAa,YAAY;IACvB,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,SAAS,EAAE,OAAO,CAAC;IACnC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,sBAAsB,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;gBAEzD,OAAO,GAAE,mBAAwB;IAc7C,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKrC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAgB7B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAQ5E,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,kBAAkB;IAenF,MAAM,IAAI,IAAI;IAUd,QAAQ,IAAI,IAAI;IAUhB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO;IAUhC,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;CAUvB"}
@@ -21,6 +21,11 @@ export class ExpandCompat {
21
21
  this.mode = options.mode ?? "auto";
22
22
  this.group = options.group;
23
23
  this.watchListeners = new Map();
24
+ mountExpand(this);
25
+ }
26
+ attachContainer(element) {
27
+ this.container = element;
28
+ mountExpand(this);
24
29
  }
25
30
  async load() {
26
31
  if (this.loaded) {
@@ -63,6 +68,7 @@ export class ExpandCompat {
63
68
  this.expanded = true;
64
69
  this.notifyWatchers("expanded", this.expanded);
65
70
  this.eventBus.emit("expand.changed", { expanded: true }, this);
71
+ syncExpand(this);
66
72
  }
67
73
  collapse() {
68
74
  if (!this.expanded) {
@@ -71,6 +77,7 @@ export class ExpandCompat {
71
77
  this.expanded = false;
72
78
  this.notifyWatchers("expanded", this.expanded);
73
79
  this.eventBus.emit("expand.changed", { expanded: false }, this);
80
+ syncExpand(this);
74
81
  }
75
82
  toggle(force) {
76
83
  const next = force ?? !this.expanded;
@@ -95,3 +102,57 @@ export class ExpandCompat {
95
102
  }
96
103
  }
97
104
  }
105
+ function mountExpand(expand) {
106
+ const element = widgetElement(expand.container);
107
+ if (!element || typeof document === "undefined") {
108
+ return;
109
+ }
110
+ element.replaceChildren();
111
+ const button = document.createElement("button");
112
+ button.type = "button";
113
+ button.textContent = expand.expanded ? "Collapse" : "Expand";
114
+ const panel = document.createElement("div");
115
+ panel.className = "honua-expand-panel";
116
+ panel.hidden = !expand.expanded;
117
+ appendExpandContent(panel, expand.content);
118
+ button.addEventListener("click", () => {
119
+ expand.toggle();
120
+ });
121
+ element.append(button, panel);
122
+ }
123
+ function syncExpand(expand) {
124
+ const element = widgetElement(expand.container);
125
+ const panel = element?.querySelector(".honua-expand-panel");
126
+ const button = element?.querySelector("button");
127
+ if (typeof HTMLElement !== "undefined" && panel instanceof HTMLElement) {
128
+ panel.hidden = !expand.expanded;
129
+ }
130
+ if (button) {
131
+ button.textContent = expand.expanded ? "Collapse" : "Expand";
132
+ }
133
+ }
134
+ function appendExpandContent(panel, content) {
135
+ if (typeof HTMLElement !== "undefined" && content instanceof HTMLElement) {
136
+ panel.append(content);
137
+ return;
138
+ }
139
+ const nested = widgetElement(content?.container);
140
+ if (nested) {
141
+ panel.append(nested);
142
+ return;
143
+ }
144
+ panel.textContent = "Content";
145
+ }
146
+ function widgetElement(container) {
147
+ if (typeof HTMLElement === "undefined") {
148
+ return undefined;
149
+ }
150
+ if (container instanceof HTMLElement) {
151
+ return container;
152
+ }
153
+ if (typeof container === "string" && typeof document !== "undefined") {
154
+ const element = document.getElementById(container);
155
+ return element instanceof HTMLElement ? element : undefined;
156
+ }
157
+ return undefined;
158
+ }
@@ -2,14 +2,20 @@ import { HonuaClient } from "../core/client.js";
2
2
  import type { HonuaAddAttachmentResponse, HonuaApplyEditsResponse, HonuaAttachmentListResponse, HonuaDeleteAttachmentsResponse, HonuaExtent, HonuaFeature, HonuaFieldInfo, HonuaQueryAttachmentsResponse, HonuaQueryResponse, HonuaRelatedRecordsResponse, HonuaUpdateAttachmentResponse, QueryMethod } from "../core/types.js";
3
3
  import { CompatEventBus } from "./event-bus.js";
4
4
  export interface FeatureLayerCompatOptions {
5
- url: string;
5
+ /** Service layer URL. Omit when {@link source} holds the features in memory. */
6
+ url?: string;
7
+ /** In-memory graphics. When set without {@link url}, the layer does not call a service. */
8
+ source?: readonly unknown[];
9
+ fields?: readonly unknown[];
10
+ objectIdField?: string;
11
+ geometryType?: string;
6
12
  id?: string;
7
13
  title?: string;
8
14
  outFields?: string | string[];
9
15
  definitionExpression?: string;
10
16
  renderer?: unknown;
11
17
  popupTemplate?: unknown;
12
- labelingInfo?: unknown[];
18
+ labelingInfo?: unknown[] | unknown;
13
19
  labelsVisible?: boolean;
14
20
  opacity?: number;
15
21
  visible?: boolean;
@@ -20,6 +26,8 @@ export interface FeatureLayerCompatOptions {
20
26
  maxAttachmentBytes?: number;
21
27
  client?: HonuaClient;
22
28
  eventBus?: CompatEventBus;
29
+ /** Esri options the codemod leaves on the constructor, such as fieldConfigurations. */
30
+ [extra: string]: unknown;
23
31
  }
24
32
  export interface FeatureLayerQueryOptions {
25
33
  where?: string;
@@ -36,8 +44,16 @@ export type FeatureLayerQueryAllOptions = FeatureLayerQueryOptions & {
36
44
  };
37
45
  export interface FeatureLayerEditsOptions {
38
46
  adds?: unknown[];
47
+ /** Esri `FeatureLayer.applyEdits` name for {@link adds}. */
48
+ addFeatures?: unknown[];
39
49
  updates?: unknown[];
40
- deletes?: number[] | string;
50
+ /** Esri `FeatureLayer.applyEdits` name for {@link updates}. */
51
+ updateFeatures?: unknown[];
52
+ deletes?: number[] | string | readonly {
53
+ objectId?: number;
54
+ }[];
55
+ /** Esri `FeatureLayer.applyEdits` name for {@link deletes}. */
56
+ deleteFeatures?: readonly unknown[];
41
57
  rollbackOnFailure?: boolean;
42
58
  }
43
59
  export interface FeatureLayerCreateQueryResult {
@@ -99,7 +115,11 @@ export interface FeatureLayerHandleCompat {
99
115
  remove(): void;
100
116
  }
101
117
  export declare class FeatureLayerCompat {
102
- readonly url: string;
118
+ readonly url: string | undefined;
119
+ readonly source: readonly unknown[] | undefined;
120
+ readonly fields: readonly unknown[] | undefined;
121
+ readonly objectIdField: string | undefined;
122
+ readonly geometryType: string | undefined;
103
123
  id: string;
104
124
  title: string | undefined;
105
125
  readonly serviceId: string;
@@ -116,6 +136,8 @@ export declare class FeatureLayerCompat {
116
136
  maxScale: number;
117
137
  legendEnabled: boolean;
118
138
  listMode: string;
139
+ /** Populated from layer metadata `extent` when {@link load} succeeds. */
140
+ fullExtent: HonuaExtent | undefined;
119
141
  loaded: boolean;
120
142
  loadStatus: FeatureLayerLoadStatusCompat;
121
143
  metadata: unknown;
@@ -156,6 +178,9 @@ export declare class FeatureLayerCompat {
156
178
  getField(fieldName: string): HonuaFieldInfo | undefined;
157
179
  hasField(fieldName: string): boolean;
158
180
  createQuery(): FeatureLayerCreateQueryResult;
181
+ private get isInMemory();
182
+ private assertSupportedMemoryWhere;
183
+ private queryMemory;
159
184
  queryFeatures(options?: FeatureLayerQueryOptions): Promise<HonuaQueryResponse>;
160
185
  queryFeaturesAll(options?: FeatureLayerQueryAllOptions): Promise<HonuaFeature[]>;
161
186
  queryFeaturesStream(options?: FeatureLayerQueryAllOptions): AsyncGenerator<HonuaFeature[], void, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-layer.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/feature-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-layer.d.ts","sourceRoot":"","sources":["../../../src/esri-compat/feature-layer.ts"],"names":[],"mappings":"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"}