@arcgis/map-components 4.29.0-beta.76 → 4.29.0-beta.77

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 (30) hide show
  1. package/dist/arcgis-map-components/arcgis-map-components.esm.js +1 -1
  2. package/dist/arcgis-map-components/arcgis-map-components.esm.js.map +1 -1
  3. package/dist/arcgis-map-components/p-9d9417bb.entry.js +2 -0
  4. package/dist/arcgis-map-components/p-9d9417bb.entry.js.map +1 -0
  5. package/dist/arcgis-map-components/p-c27946f8.entry.js +2 -0
  6. package/dist/arcgis-map-components/p-c27946f8.entry.js.map +1 -0
  7. package/dist/cjs/arcgis-basemap-gallery_3.cjs.entry.js +45 -22
  8. package/dist/cjs/arcgis-basemap-gallery_3.cjs.entry.js.map +1 -1
  9. package/dist/cjs/arcgis-map-components.cjs.js +1 -1
  10. package/dist/cjs/arcgis-map.cjs.entry.js +27 -21
  11. package/dist/cjs/arcgis-map.cjs.entry.js.map +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/components/arcgis-map.js +28 -21
  14. package/dist/components/arcgis-map.js.map +1 -1
  15. package/dist/components/arcgis-scene.js +48 -23
  16. package/dist/components/arcgis-scene.js.map +1 -1
  17. package/dist/esm/arcgis-basemap-gallery_3.entry.js +45 -22
  18. package/dist/esm/arcgis-basemap-gallery_3.entry.js.map +1 -1
  19. package/dist/esm/arcgis-map-components.js +1 -1
  20. package/dist/esm/arcgis-map.entry.js +27 -21
  21. package/dist/esm/arcgis-map.entry.js.map +1 -1
  22. package/dist/esm/loader.js +1 -1
  23. package/dist/types/components/map/map.d.ts +13 -12
  24. package/dist/types/components/scene/scene.d.ts +15 -13
  25. package/dist/types/components.d.ts +42 -38
  26. package/package.json +5 -5
  27. package/dist/arcgis-map-components/p-8bf4b85e.entry.js +0 -2
  28. package/dist/arcgis-map-components/p-8bf4b85e.entry.js.map +0 -1
  29. package/dist/arcgis-map-components/p-c74a83ee.entry.js +0 -2
  30. package/dist/arcgis-map-components/p-c74a83ee.entry.js.map +0 -1
@@ -29,7 +29,7 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
29
29
  this.arcgisViewPointerUp = createEvent(this, "arcgisViewPointerUp", 7);
30
30
  this._watchHandles = [];
31
31
  this.allLayerViews = undefined;
32
- this.alphaCompositingEnabled = undefined;
32
+ this.alphaCompositingEnabled = false;
33
33
  this.analyses = undefined;
34
34
  this.basemapView = undefined;
35
35
  this.basemap = undefined;
@@ -42,37 +42,38 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
42
42
  this.extent = undefined;
43
43
  this.fatalError = undefined;
44
44
  this.floors = undefined;
45
+ this.gamepad = undefined;
45
46
  this.graphics = undefined;
47
+ this.ground = undefined;
46
48
  this.groundView = undefined;
47
49
  this.highlightOptions = undefined;
48
- this.interacting = undefined;
50
+ this.interacting = false;
49
51
  this.itemId = undefined;
50
52
  this.layerViews = undefined;
51
53
  this.magnifier = undefined;
52
54
  this.map = undefined;
53
- this.navigating = undefined;
55
+ this.navigating = false;
54
56
  this.navigation = undefined;
55
57
  this.padding = undefined;
56
58
  this.performanceInfo = undefined;
57
59
  this.popup = undefined;
58
- this.popupEnabled = undefined;
60
+ this.popupEnabled = true;
59
61
  this.qualityProfile = undefined;
60
- this.ready = undefined;
62
+ this.ready = false;
61
63
  this.resolution = undefined;
62
64
  this.scale = undefined;
63
65
  this.spatialReference = undefined;
64
66
  this.stationary = undefined;
65
- this.suspended = undefined;
67
+ this.suspended = false;
66
68
  this.theme = undefined;
67
69
  this.timeExtent = undefined;
68
70
  this.toMap = undefined;
69
71
  this.toScreen = undefined;
70
- this.updating = undefined;
71
- this.viewingMode = undefined;
72
+ this.updating = false;
73
+ this.viewingMode = "global";
72
74
  this.viewpoint = undefined;
73
75
  this.zoom = undefined;
74
76
  this.view = undefined;
75
- this.disableNavigation = false;
76
77
  }
77
78
  alphaCompositingEnabledWatcher(value) {
78
79
  if (value !== undefined && this.view) {
@@ -126,6 +127,11 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
126
127
  this.view.graphics = value;
127
128
  }
128
129
  }
130
+ groundWatcher(value) {
131
+ if (this.view?.map && isNullOrEmptyString(value)) {
132
+ this.view.map.ground = value;
133
+ }
134
+ }
129
135
  highlightOptionsWatcher(value) {
130
136
  if (this.view) {
131
137
  this.view.highlightOptions = value;
@@ -143,10 +149,10 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
143
149
  // will not remove attribute from DOM.
144
150
  if (value !== old) {
145
151
  if (this.view?.map) {
146
- this._updateMap();
152
+ void this._updateMap();
147
153
  }
148
154
  else {
149
- this._loadMap();
155
+ void this._loadMap();
150
156
  }
151
157
  }
152
158
  }
@@ -165,8 +171,8 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
165
171
  this.view.padding = value;
166
172
  }
167
173
  }
168
- popupEnabledWatcher(value) {
169
- if (value !== undefined && this.view) {
174
+ popupEnabledWatcher(value, old) {
175
+ if (value !== old && this.view) {
170
176
  this.view.popupEnabled = value;
171
177
  }
172
178
  }
@@ -225,13 +231,13 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
225
231
  }
226
232
  }
227
233
  async goTo(target, options) {
228
- return await this.view?.goTo(target, options);
234
+ return (await this.view?.goTo(target, options));
229
235
  }
230
236
  async hitTest(screenPoint, options) {
231
237
  return await this.view?.hitTest(screenPoint, options);
232
238
  }
233
239
  async openPopup(options) {
234
- return await this.view?.openPopup(options);
240
+ return (await this.view?.openPopup(options));
235
241
  }
236
242
  async takeScreenshot(options) {
237
243
  return await this.view?.takeScreenshot(options);
@@ -265,7 +271,7 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
265
271
  this._proxyEvents();
266
272
  }
267
273
  disconnectedCallback() {
268
- this.destroy();
274
+ void this.destroy();
269
275
  }
270
276
  render() {
271
277
  return h("div", { class: "arcgis-scene", ref: (el) => (this.el = el) });
@@ -340,11 +346,21 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
340
346
  }, {
341
347
  initial: true
342
348
  }),
349
+ watch(() => this.view.input.gamepad, () => {
350
+ this.gamepad = this.view.input.gamepad;
351
+ }, {
352
+ initial: true
353
+ }),
343
354
  watch(() => this.view.graphics, () => {
344
355
  this.graphics = this.view.graphics;
345
356
  }, {
346
357
  initial: true
347
358
  }),
359
+ watch(() => this.view.map?.ground, () => {
360
+ this.ground = this.view.map?.ground;
361
+ }, {
362
+ initial: true
363
+ }),
348
364
  watch(() => this.view.groundView, () => {
349
365
  this.groundView = this.view.groundView;
350
366
  }, {
@@ -408,7 +424,7 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
408
424
  async _createMap() {
409
425
  const mapParams = {};
410
426
  if (this.itemId) {
411
- mapParams.portalItem = this._createPortalItem();
427
+ mapParams.portalItem = await this._createPortalItem();
412
428
  }
413
429
  if (this.basemap) {
414
430
  mapParams.basemap = this.basemap;
@@ -416,15 +432,21 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
416
432
  else if (isNullOrEmptyString(this.itemId)) {
417
433
  mapParams.basemap = "topo-vector";
418
434
  }
435
+ if (this.ground) {
436
+ mapParams.ground = this.ground;
437
+ }
438
+ else if (isNullOrEmptyString(this.itemId)) {
439
+ mapParams.ground = "world-elevation";
440
+ }
419
441
  const map = await newWebScene(mapParams);
420
442
  return map;
421
443
  }
422
- _createPortalItem() {
423
- const item = {};
444
+ async _createPortalItem() {
445
+ const itemProps = {};
424
446
  if (this.itemId) {
425
- item.id = this.itemId;
447
+ itemProps.id = this.itemId;
426
448
  }
427
- return item;
449
+ return itemProps;
428
450
  }
429
451
  _createViewParams() {
430
452
  const params = {};
@@ -485,7 +507,7 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
485
507
  ...params
486
508
  });
487
509
  this.view = view;
488
- view.when(async () => {
510
+ return void view.when(async () => {
489
511
  // proxy view functions
490
512
  this.toMap = view.toMap.bind(view);
491
513
  this.toScreen = view.toScreen.bind(view);
@@ -566,6 +588,7 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
566
588
  "extent": ["extentWatcher"],
567
589
  "floors": ["floorsWatcher"],
568
590
  "graphics": ["graphicsWatcher"],
591
+ "ground": ["groundWatcher"],
569
592
  "highlightOptions": ["highlightOptionsWatcher"],
570
593
  "itemId": ["itemIdWatcher"],
571
594
  "map": ["mapWatcher"],
@@ -597,7 +620,9 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
597
620
  "extent": [1040],
598
621
  "fatalError": [1040],
599
622
  "floors": [16],
623
+ "gamepad": [1040],
600
624
  "graphics": [1040],
625
+ "ground": [1040],
601
626
  "groundView": [1040],
602
627
  "highlightOptions": [16],
603
628
  "interacting": [1028],
@@ -627,7 +652,6 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
627
652
  "viewpoint": [1040],
628
653
  "zoom": [1538],
629
654
  "view": [1040],
630
- "disableNavigation": [4, "disable-navigation"],
631
655
  "closePopup": [64],
632
656
  "destroy": [64],
633
657
  "goTo": [64],
@@ -648,6 +672,7 @@ const ArcgisScene$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisScene extends
648
672
  "extent": ["extentWatcher"],
649
673
  "floors": ["floorsWatcher"],
650
674
  "graphics": ["graphicsWatcher"],
675
+ "ground": ["groundWatcher"],
651
676
  "highlightOptions": ["highlightOptionsWatcher"],
652
677
  "itemId": ["itemIdWatcher"],
653
678
  "map": ["mapWatcher"],
@@ -1 +1 @@
1
- {"file":"arcgis-scene.js","mappings":"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","names":["ArcgisScene"],"sources":["src/components/scene/scene.css?tag=arcgis-scene","src/components/scene/scene.tsx"],"sourcesContent":[".arcgis-scene {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n}\n","import type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Method, Prop, Watch, h } from \"@stencil/core\";\n\n// arcgis imports\nimport { importCoreReactiveUtils, newViewsSceneView, newWebScene } from \"@arcgis/core-adapter\";\nimport type WebScene from \"@arcgis/core/WebScene\";\nimport type { ViewElement } from \"../../utils/component-utils\";\nimport {\n addHandles,\n isNotSameCamera,\n isNotSameEnvironment,\n isNotSameViewpoint,\n isNullOrEmptyString,\n isValidInteger\n} from \"../../utils/component-utils\";\nimport type { ArcGISSceneView } from \"../types\";\n\nexport type ArcGISWebScene = InstanceType<typeof WebScene>;\n\n@Component({\n tag: \"arcgis-scene\",\n styleUrl: \"scene.css\",\n shadow: false\n})\nexport class ArcgisScene implements ViewElement {\n //--------------------------------------------------------------------------\n //\n // Elements\n //\n //--------------------------------------------------------------------------\n\n el: HTMLDivElement;\n\n @Element() _hostElement!: HTMLArcgisSceneElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n @Prop({ mutable: true }) allLayerViews: ArcGISSceneView[\"allLayerViews\"];\n\n @Prop() alphaCompositingEnabled: ArcGISSceneView[\"alphaCompositingEnabled\"];\n\n @Watch(\"alphaCompositingEnabled\")\n alphaCompositingEnabledWatcher(value: ArcGISSceneView[\"alphaCompositingEnabled\"]): void {\n if (value !== undefined && this.view) {\n this.view.alphaCompositingEnabled = value;\n }\n }\n\n @Prop({ mutable: true }) analyses: ArcGISSceneView[\"analyses\"];\n\n @Prop({ mutable: true }) basemapView: ArcGISSceneView[\"basemapView\"];\n\n @Prop({ mutable: true }) basemap: ArcGISWebScene[\"basemap\"];\n\n @Watch(\"basemap\")\n basemapWatcher(value: string): void {\n if (this.view?.map && isNullOrEmptyString(value)) {\n this.view.map.basemap = value as any;\n }\n }\n\n @Prop({ mutable: true }) camera: ArcGISSceneView[\"camera\"];\n\n @Watch(\"camera\")\n cameraWatcher(value: ArcGISSceneView[\"camera\"]): void {\n if (this.view && value && isNotSameCamera(this.view.camera, value)) {\n this.view.camera = value;\n }\n }\n\n @Prop({ mutable: true }) center: ArcGISSceneView[\"center\"] | string;\n\n @Watch(\"center\")\n centerWatcher(value: ArcGISSceneView[\"center\"]): void {\n if (this.view && value && !this.view.center?.equals(value)) {\n this.view.center = value;\n }\n }\n\n @Prop() clippingArea: ArcGISSceneView[\"clippingArea\"];\n\n @Watch(\"clippingArea\")\n clippingAreaWatcher(value: ArcGISSceneView[\"clippingArea\"]): void {\n if (this.view && value && !this.view.clippingArea?.equals(value)) {\n this.view.clippingArea = value;\n }\n }\n\n @Prop() constraints: ArcGISSceneView[\"constraints\"];\n\n @Watch(\"constraints\")\n constraintsWatcher(value: ArcGISSceneView[\"constraints\"]): void {\n if (this.view) {\n this.view.constraints = value;\n }\n }\n\n @Prop() destroyDisabled = false;\n\n @Prop({ mutable: true }) environment: ArcGISSceneView[\"environment\"];\n\n @Watch(\"environment\")\n environmentWatcher(value: ArcGISSceneView[\"environment\"]): void {\n if (\n this.view &&\n value &&\n isNotSameEnvironment(this.view.environment as __esri.Environment, value as __esri.Environment)\n ) {\n this.view.environment = value;\n }\n }\n\n @Prop({ mutable: true }) extent: ArcGISSceneView[\"extent\"];\n\n @Watch(\"extent\")\n extentWatcher(value: ArcGISSceneView[\"extent\"]): void {\n if (this.view && value && !this.view.extent.equals(value)) {\n this.view.extent = value;\n }\n }\n\n @Prop({ mutable: true }) fatalError: ArcGISSceneView[\"fatalError\"];\n\n @Prop() floors: ArcGISSceneView[\"floors\"];\n\n @Watch(\"floors\")\n floorsWatcher(value: ArcGISSceneView[\"floors\"]): void {\n if (this.view) {\n this.view.floors = value;\n }\n }\n\n @Prop({ mutable: true }) graphics: ArcGISSceneView[\"graphics\"];\n\n @Watch(\"graphics\")\n graphicsWatcher(value: ArcGISSceneView[\"graphics\"]): void {\n if (this.view) {\n this.view.graphics = value;\n }\n }\n\n @Prop({ mutable: true }) groundView: ArcGISSceneView[\"groundView\"];\n\n @Prop() highlightOptions: ArcGISSceneView[\"highlightOptions\"];\n\n @Watch(\"highlightOptions\")\n highlightOptionsWatcher(value: ArcGISSceneView[\"highlightOptions\"]): void {\n if (this.view) {\n this.view.highlightOptions = value;\n }\n }\n\n @Prop({ mutable: true }) interacting: ArcGISSceneView[\"interacting\"];\n\n @Prop({ mutable: true, reflect: true }) itemId: string;\n\n @Watch(\"itemId\")\n itemIdWatcher(value: string, old: string): void {\n // NOTE: there is an issue when users set the value to undefined.\n // https://github.com/ionic-team/stencil/issues/2814\n // If user sets `itemid` to `undefined`, Stencil 2 will log the following warning:\n // `The state/prop \"${propName}\" changed during rendering.`\n // `This can potentially lead to infinite-loops and other bugs.`\n //\n // It appears consumer setting the value to null does not cause this warning.\n // In Stencil 4, if a user sets property to undefined, will trigger change, but\n // will not remove attribute from DOM.\n if (value !== old) {\n if (this.view?.map) {\n this._updateMap();\n } else {\n this._loadMap();\n }\n }\n }\n\n @Prop({ mutable: true }) layerViews: ArcGISSceneView[\"layerViews\"];\n\n @Prop({ mutable: true }) magnifier: ArcGISSceneView[\"magnifier\"];\n\n @Prop({ mutable: true }) map: ArcGISWebScene;\n\n @Watch(\"map\")\n mapWatcher(value: ArcGISWebScene): void {\n if (this.view) {\n this.view.map = value;\n }\n }\n\n @Prop({ mutable: true }) navigating: ArcGISSceneView[\"navigating\"];\n\n @Prop({ mutable: true }) navigation: ArcGISSceneView[\"navigation\"];\n\n @Watch(\"navigation\")\n navigationWatcher(value: ArcGISSceneView[\"navigation\"]): void {\n if (this.view) {\n this.view.navigation = value;\n }\n }\n\n @Prop() padding: ArcGISSceneView[\"padding\"];\n\n @Watch(\"padding\")\n paddingWatcher(value: ArcGISSceneView[\"padding\"]): void {\n if (this.view) {\n this.view.padding = value;\n }\n }\n\n @Prop({ mutable: true }) performanceInfo: ArcGISSceneView[\"performanceInfo\"];\n\n @Prop({ mutable: true }) popup: ArcGISSceneView[\"popup\"];\n\n @Prop() popupEnabled: ArcGISSceneView[\"popupEnabled\"];\n\n @Watch(\"popupEnabled\")\n popupEnabledWatcher(value: ArcGISSceneView[\"popupEnabled\"]): void {\n if (value !== undefined && this.view) {\n this.view.popupEnabled = value;\n }\n }\n\n @Prop({ mutable: true }) qualityProfile: ArcGISSceneView[\"qualityProfile\"];\n\n @Watch(\"qualityProfile\")\n qualityProfileWatcher(value: ArcGISSceneView[\"qualityProfile\"]): void {\n if (this.view && this.view.qualityProfile !== value) {\n this.view.qualityProfile = value;\n }\n }\n\n @Prop({ mutable: true }) ready: ArcGISSceneView[\"ready\"];\n\n @Prop({ mutable: true }) resolution: ArcGISSceneView[\"resolution\"];\n\n @Prop({ mutable: true }) scale: number;\n\n @Watch(\"scale\")\n scaleWatcher(value: number, old: number): void {\n if (this.view && this.view.stationary && !this.view.interacting && value != null && value !== old) {\n this.view.scale = value;\n }\n }\n\n @Prop({ mutable: true }) spatialReference: ArcGISSceneView[\"spatialReference\"];\n\n @Watch(\"spatialReference\")\n spatialReferenceWatcher(value: ArcGISSceneView[\"spatialReference\"]): void {\n if (this.view && value && !this.view.spatialReference.equals(value)) {\n this.view.spatialReference = value;\n }\n }\n\n @Prop({ mutable: true }) stationary: ArcGISSceneView[\"stationary\"];\n\n @Prop({ mutable: true, reflect: true }) suspended: ArcGISSceneView[\"suspended\"];\n\n @Prop() theme: ArcGISSceneView[\"theme\"];\n\n @Watch(\"theme\")\n themeWatcher(value: ArcGISSceneView[\"theme\"]): void {\n if (this.view) {\n this.view.theme = value;\n }\n }\n\n @Prop() timeExtent: ArcGISSceneView[\"timeExtent\"];\n\n @Watch(\"timeExtent\")\n timeExtentWatcher(value: ArcGISSceneView[\"timeExtent\"]): void {\n if (this.view) {\n this.view.timeExtent = value;\n }\n }\n\n // Start functions as properties\n\n @Prop({ mutable: true }) toMap: ArcGISSceneView[\"toMap\"];\n\n @Prop({ mutable: true }) toScreen: ArcGISSceneView[\"toScreen\"];\n\n // End functions as properties\n\n @Prop({ mutable: true, reflect: true }) updating: ArcGISSceneView[\"updating\"];\n\n @Prop() viewingMode: ArcGISSceneView[\"viewingMode\"];\n\n @Watch(\"viewingMode\")\n viewingModeWatcher(value: ArcGISSceneView[\"viewingMode\"]): void {\n if (this.view) {\n this.view.viewingMode = value;\n }\n }\n\n @Prop({ mutable: true }) viewpoint: ArcGISSceneView[\"viewpoint\"];\n\n @Watch(\"viewpoint\")\n viewpointWatcher(value: ArcGISSceneView[\"viewpoint\"]): void {\n if (this.view && isNotSameViewpoint(this.view.viewpoint, value)) {\n this.view.viewpoint = value;\n }\n }\n\n @Prop({ mutable: true, reflect: true }) zoom: number;\n\n @Watch(\"zoom\")\n zoomWatcher(value: number, old: number): void {\n if (this.view && this.view.stationary && !this.view.interacting && value !== old && isValidInteger(value)) {\n this.view.zoom = value;\n }\n }\n\n /**\n * Internal view of the component.\n */\n @Prop({ mutable: true }) view: ArcGISSceneView;\n\n @Prop() disableNavigation = false;\n\n config: __esri.config;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n @Event({ cancelable: true }) arcgisViewReadyChange!: EventEmitter;\n @Event({ cancelable: true }) arcgisViewChange!: EventEmitter;\n\n // proxy view events\n @Event({ cancelable: true }) arcgisViewClick!: EventEmitter<__esri.ViewClickEvent>;\n @Event({ cancelable: true }) arcgisViewDoubleClick!: EventEmitter<__esri.ViewDoubleClickEvent>;\n @Event({ cancelable: true }) arcgisViewDrag!: EventEmitter<__esri.ViewDragEvent>;\n @Event({ cancelable: true }) arcgisViewHold!: EventEmitter<__esri.ViewHoldEvent>;\n @Event({ cancelable: true }) arcgisViewImmediateClick!: EventEmitter<__esri.ViewImmediateClickEvent>;\n @Event({ cancelable: true }) arcgisViewImmediateDoubleClick!: EventEmitter<__esri.ViewImmediateDoubleClickEvent>;\n @Event({ cancelable: true }) arcgisViewKeyDown!: EventEmitter<__esri.ViewKeyDownEvent>;\n @Event({ cancelable: true }) arcgisViewKeyUp!: EventEmitter<__esri.ViewKeyUpEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewCreate!: EventEmitter<__esri.ViewLayerviewCreateEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewCreateError!: EventEmitter<__esri.ViewLayerviewCreateErrorEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewDestroy!: EventEmitter<__esri.ViewLayerviewDestroyEvent>;\n @Event({ cancelable: true }) arcgisViewMouseWheel!: EventEmitter<__esri.ViewMouseWheelEvent>;\n @Event({ cancelable: true }) arcgisViewPointerDown!: EventEmitter<__esri.ViewPointerDownEvent>;\n @Event({ cancelable: true }) arcgisViewPointerEnter!: EventEmitter<__esri.ViewPointerEnterEvent>;\n @Event({ cancelable: true }) arcgisViewPointerLeave!: EventEmitter<__esri.ViewPointerLeaveEvent>;\n @Event({ cancelable: true }) arcgisViewPointerMove!: EventEmitter<__esri.ViewPointerMoveEvent>;\n @Event({ cancelable: true }) arcgisViewPointerUp!: EventEmitter<__esri.ViewPointerUpEvent>;\n\n //--------------------------------------------------------------------------\n //\n // Methods\n //\n //--------------------------------------------------------------------------\n\n @Method()\n async closePopup(): Promise<void> {\n this.view?.closePopup();\n }\n\n @Method()\n async destroy(): Promise<void> {\n if (this.destroyDisabled) {\n this._clearWatchHandles();\n this.view.destroy();\n }\n }\n\n @Method()\n async goTo(target: __esri.GoToTarget3D, options?: __esri.GoToOptions3D): Promise<void> {\n return await this.view?.goTo(target, options);\n }\n\n @Method()\n async hitTest(screenPoint: __esri.ScreenPoint, options?: Record<string, any>): Promise<__esri.HitTestResult> {\n return await this.view?.hitTest(screenPoint, options);\n }\n\n @Method()\n async openPopup(options?: Record<string, any>): Promise<void> {\n return await this.view?.openPopup(options);\n }\n\n @Method()\n async takeScreenshot(options?: Record<string, any>): Promise<__esri.Screenshot> {\n return await this.view?.takeScreenshot(options);\n }\n\n @Method()\n async tryFatalErrorRecovery(): Promise<void> {\n this.view?.tryFatalErrorRecovery();\n }\n\n @Method()\n async whenAnalysisView(\n analysis:\n | __esri.AreaMeasurementAnalysis\n | __esri.DimensionAnalysis\n | __esri.DirectLineMeasurementAnalysis\n | __esri.LineOfSightAnalysis\n | __esri.SliceAnalysis\n ): Promise<\n | __esri.AreaMeasurementAnalysisView3D\n | __esri.DimensionAnalysisView\n | __esri.DirectLineMeasurementAnalysisView3D\n | __esri.LineOfSightAnalysisView3D\n | __esri.SliceAnalysisView3D\n > {\n return await this.view?.whenAnalysisView(analysis);\n }\n\n @Method()\n async whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView> {\n return await this.view?.whenLayerView(layer);\n }\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async connectedCallback(): Promise<void> {\n this.view = await newViewsSceneView({});\n }\n\n async componentWillLoad(): Promise<void> {\n await this._loadMap();\n }\n\n componentDidRender(): void {\n if (this.view && !this.view.container) {\n this.view.container = this.el;\n }\n }\n\n componentDidLoad(): void {\n this._proxyEvents();\n }\n\n disconnectedCallback(): void {\n this.destroy();\n }\n\n render(): VNode {\n return <div class=\"arcgis-scene\" ref={(el) => (this.el = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n\n private _clearWatchHandles(): void {\n this._watchHandles.forEach((handle) => handle.remove());\n this._watchHandles = [];\n }\n\n private async _addWatchers() {\n const { watch, when } = await importCoreReactiveUtils();\n\n addHandles(this, [\n // watch for ready and emit arcgisViewReadyChange event\n watch(\n () => this.view.ready,\n () => {\n this.ready = this.view.ready;\n this.arcgisViewReadyChange.emit();\n },\n {\n initial: true\n }\n ),\n // watch for stationary and emit arcgisViewChange event\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\n this.interacting = this.view.interacting;\n this.navigating = this.view.navigating;\n this.arcgisViewChange.emit();\n },\n {\n initial: true\n }\n ),\n // when view stationary is true, update these props:\n // zoom, scale, center, rotation, extent, camera, viewpoint\n when(\n () => this.view.stationary,\n () => {\n this.camera = this.view.camera;\n this.center = this.view.center;\n this.extent = this.view.extent;\n this.scale = this.view.scale;\n this.viewpoint = this.view.viewpoint;\n this.zoom = this.view.zoom;\n this.spatialReference = this.view.spatialReference;\n }\n ),\n // watchers for other props to update component\n watch(\n () => this.view.allLayerViews,\n () => {\n this.allLayerViews = this.view.allLayerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.analyses,\n () => {\n this.analyses = this.view.analyses;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map?.basemap,\n () => {\n this.basemap = this.view.map?.basemap as any;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.basemapView,\n () => {\n this.basemapView = this.view.basemapView;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.environment,\n () => {\n this.environment = this.view.environment;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.fatalError,\n () => {\n this.fatalError = this.view.fatalError;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.graphics,\n () => {\n this.graphics = this.view.graphics;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.groundView,\n () => {\n this.groundView = this.view.groundView;\n },\n {\n initial: true\n }\n ),\n // Start: arcgisStationaryChange events\n watch(\n () => this.view.interacting,\n () => {\n this.interacting = this.view.interacting;\n }\n ),\n watch(\n () => this.view.navigating,\n () => {\n this.navigating = this.view.navigating;\n }\n ),\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\n }\n ),\n watch(\n () => this.view.layerViews,\n () => {\n this.layerViews = this.view.layerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.navigation,\n () => {\n this.navigation = this.view.navigation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map,\n () => {\n this.map = this.view.map as __esri.WebScene;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.performanceInfo,\n () => {\n this.performanceInfo = this.view.performanceInfo;\n }\n ),\n watch(\n () => this.view.popup,\n () => {\n this.popup = this.view.popup;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.qualityProfile,\n () => {\n this.qualityProfile = this.view.qualityProfile;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.resolution,\n () => {\n this.resolution = this.view.resolution;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.suspended,\n () => {\n this.suspended = this.view.suspended;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.updating,\n () => {\n this.updating = this.view.updating;\n },\n {\n initial: true\n }\n )\n ]);\n }\n\n private async _createMap(): Promise<__esri.WebScene> {\n const mapParams: Partial<__esri.WebScene> = {};\n\n if (this.itemId) {\n mapParams.portalItem = this._createPortalItem() as any;\n }\n\n if (this.basemap) {\n mapParams.basemap = this.basemap as any;\n } else if (isNullOrEmptyString(this.itemId)) {\n mapParams.basemap = \"topo-vector\" as any;\n }\n\n const map = await newWebScene(mapParams);\n return map;\n }\n\n private _createPortalItem(): Partial<__esri.PortalItemProperties> {\n const item: Partial<__esri.PortalItemProperties> = {};\n\n if (this.itemId) {\n item.id = this.itemId;\n }\n\n return item;\n }\n\n private _createViewParams(): Partial<__esri.SceneViewProperties> {\n const params: Partial<__esri.SceneViewProperties> = {};\n\n if (this.center) {\n if (typeof this.center === \"string\") {\n params.center = this.center.split(\",\").map((x) => Number(x));\n } else {\n params.center = this.center;\n }\n }\n\n if (this.constraints) {\n params.constraints = this.constraints;\n }\n\n if (this.extent) {\n params.extent = this.extent;\n }\n\n if (this.floors) {\n params.floors = this.floors;\n }\n\n if (this.highlightOptions) {\n params.highlightOptions = this.highlightOptions;\n }\n\n if (this.map) {\n params.map = this.map;\n }\n\n if (this.navigation) {\n params.navigation = this.navigation;\n }\n\n if (this.popupEnabled !== undefined) {\n params.popupEnabled = this.popupEnabled;\n }\n\n if (this.scale !== undefined) {\n params.scale = this.scale;\n }\n\n if (this.spatialReference) {\n params.spatialReference = this.spatialReference;\n }\n\n if (this.theme) {\n params.theme = this.theme;\n }\n\n if (this.timeExtent) {\n params.timeExtent = this.timeExtent;\n }\n\n if (this.viewpoint) {\n params.viewpoint = this.viewpoint;\n }\n\n if (this.zoom !== undefined) {\n params.zoom = this.zoom;\n }\n\n return params;\n }\n\n private async _loadMap(): Promise<void> {\n const map = await this._createMap();\n\n const params = this._createViewParams();\n\n const view = await newViewsSceneView({\n map,\n ...params\n });\n\n this.view = view;\n\n view.when(async () => {\n // proxy view functions\n this.toMap = view.toMap.bind(view);\n this.toScreen = view.toScreen.bind(view);\n await this._addWatchers();\n });\n }\n\n private _proxyEvents(): void {\n addHandles(this, [\n this.view.on(\"click\", (event) => {\n this.arcgisViewClick.emit(event);\n }),\n this.view.on(\"double-click\", (event) => {\n this.arcgisViewDoubleClick.emit(event);\n }),\n this.view.on(\"drag\", (event) => {\n this.arcgisViewDrag.emit(event);\n }),\n this.view.on(\"hold\", (event) => {\n this.arcgisViewHold.emit(event);\n }),\n this.view.on(\"immediate-click\", (event) => {\n this.arcgisViewImmediateClick.emit(event);\n }),\n this.view.on(\"immediate-double-click\", (event) => {\n this.arcgisViewImmediateDoubleClick.emit(event);\n }),\n this.view.on(\"key-down\", (event) => {\n this.arcgisViewKeyDown.emit(event);\n }),\n this.view.on(\"key-up\", (event) => {\n this.arcgisViewKeyUp.emit(event);\n }),\n this.view.on(\"layerview-create\", (event) => {\n this.arcgisViewLayerviewCreate.emit(event);\n }),\n this.view.on(\"layerview-create-error\", (event) => {\n this.arcgisViewLayerviewCreateError.emit(event);\n }),\n this.view.on(\"layerview-destroy\", (event) => {\n this.arcgisViewLayerviewDestroy.emit(event);\n }),\n this.view.on(\"mouse-wheel\", (event) => {\n this.arcgisViewMouseWheel.emit(event);\n }),\n this.view.on(\"pointer-down\", (event) => {\n this.arcgisViewPointerDown.emit(event);\n }),\n this.view.on(\"pointer-enter\", (event) => {\n this.arcgisViewPointerEnter.emit(event);\n }),\n this.view.on(\"pointer-leave\", (event) => {\n this.arcgisViewPointerLeave.emit(event);\n }),\n this.view.on(\"pointer-move\", (event) => {\n this.arcgisViewPointerMove.emit(event);\n }),\n this.view.on(\"pointer-up\", (event) => {\n this.arcgisViewPointerUp.emit(event);\n })\n ]);\n }\n\n private async _updateMap(): Promise<void> {\n if (this.view?.map) {\n this.view.map.destroy();\n const map = await this._createMap();\n this.view.map = map;\n }\n }\n}\n"],"version":3}
1
+ {"file":"arcgis-scene.js","mappings":"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","names":["ArcgisScene"],"sources":["src/components/scene/scene.css?tag=arcgis-scene","src/components/scene/scene.tsx"],"sourcesContent":[".arcgis-scene {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n}\n","import type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Method, Prop, Watch, h } from \"@stencil/core\";\n\n// arcgis imports\nimport { importCoreReactiveUtils, newViewsSceneView, newWebScene } from \"@arcgis/core-adapter\";\nimport type WebScene from \"@arcgis/core/WebScene\";\nimport type { ViewElement } from \"../../utils/component-utils\";\nimport {\n addHandles,\n isNotSameCamera,\n isNotSameEnvironment,\n isNotSameViewpoint,\n isNullOrEmptyString,\n isValidInteger\n} from \"../../utils/component-utils\";\nimport type { ArcGISSceneView } from \"../types\";\n\nexport type ArcGISWebScene = InstanceType<typeof WebScene>;\n\n@Component({\n tag: \"arcgis-scene\",\n styleUrl: \"scene.css\",\n shadow: false\n})\nexport class ArcgisScene implements ViewElement {\n //--------------------------------------------------------------------------\n //\n // Elements\n //\n //--------------------------------------------------------------------------\n\n el: HTMLDivElement;\n\n @Element() _hostElement!: HTMLArcgisSceneElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n @Prop({ mutable: true }) allLayerViews: ArcGISSceneView[\"allLayerViews\"];\n\n @Prop() alphaCompositingEnabled = false;\n\n @Watch(\"alphaCompositingEnabled\")\n alphaCompositingEnabledWatcher(value: boolean): void {\n if (value !== undefined && this.view) {\n this.view.alphaCompositingEnabled = value;\n }\n }\n\n @Prop({ mutable: true }) analyses: ArcGISSceneView[\"analyses\"];\n\n @Prop({ mutable: true }) basemapView: ArcGISSceneView[\"basemapView\"];\n\n @Prop({ mutable: true }) basemap: ArcGISWebScene[\"basemap\"];\n\n @Watch(\"basemap\")\n basemapWatcher(value: string): void {\n if (this.view?.map && isNullOrEmptyString(value)) {\n this.view.map.basemap = value as unknown as __esri.Basemap;\n }\n }\n\n @Prop({ mutable: true }) camera: ArcGISSceneView[\"camera\"];\n\n @Watch(\"camera\")\n cameraWatcher(value: ArcGISSceneView[\"camera\"]): void {\n if (this.view && value && isNotSameCamera(this.view.camera, value)) {\n this.view.camera = value;\n }\n }\n\n @Prop({ mutable: true }) center: ArcGISSceneView[\"center\"] | string;\n\n @Watch(\"center\")\n centerWatcher(value: ArcGISSceneView[\"center\"]): void {\n if (this.view && value && !this.view.center?.equals(value)) {\n this.view.center = value;\n }\n }\n\n @Prop() clippingArea: ArcGISSceneView[\"clippingArea\"];\n\n @Watch(\"clippingArea\")\n clippingAreaWatcher(value: ArcGISSceneView[\"clippingArea\"]): void {\n if (this.view && value && !this.view.clippingArea?.equals(value)) {\n this.view.clippingArea = value;\n }\n }\n\n @Prop() constraints: ArcGISSceneView[\"constraints\"];\n\n @Watch(\"constraints\")\n constraintsWatcher(value: ArcGISSceneView[\"constraints\"]): void {\n if (this.view) {\n this.view.constraints = value;\n }\n }\n\n @Prop() destroyDisabled = false;\n\n @Prop({ mutable: true }) environment: ArcGISSceneView[\"environment\"];\n\n @Watch(\"environment\")\n environmentWatcher(value: ArcGISSceneView[\"environment\"]): void {\n if (\n this.view &&\n value &&\n isNotSameEnvironment(this.view.environment as __esri.Environment, value as __esri.Environment)\n ) {\n this.view.environment = value;\n }\n }\n\n @Prop({ mutable: true }) extent: ArcGISSceneView[\"extent\"];\n\n @Watch(\"extent\")\n extentWatcher(value: ArcGISSceneView[\"extent\"]): void {\n if (this.view && value && !this.view.extent.equals(value)) {\n this.view.extent = value;\n }\n }\n\n @Prop({ mutable: true }) fatalError: ArcGISSceneView[\"fatalError\"];\n\n @Prop() floors: ArcGISSceneView[\"floors\"];\n\n @Watch(\"floors\")\n floorsWatcher(value: ArcGISSceneView[\"floors\"]): void {\n if (this.view) {\n this.view.floors = value;\n }\n }\n\n @Prop({ mutable: true }) gamepad: __esri.GamepadSettings;\n\n @Prop({ mutable: true }) graphics: ArcGISSceneView[\"graphics\"];\n\n @Watch(\"graphics\")\n graphicsWatcher(value: ArcGISSceneView[\"graphics\"]): void {\n if (this.view) {\n this.view.graphics = value;\n }\n }\n\n @Prop({ mutable: true }) ground: ArcGISWebScene[\"ground\"];\n\n @Watch(\"ground\")\n groundWatcher(value: string): void {\n if (this.view?.map && isNullOrEmptyString(value)) {\n this.view.map.ground = value as unknown as __esri.Ground;\n }\n }\n\n @Prop({ mutable: true }) groundView: ArcGISSceneView[\"groundView\"];\n\n @Prop() highlightOptions: ArcGISSceneView[\"highlightOptions\"];\n\n @Watch(\"highlightOptions\")\n highlightOptionsWatcher(value: ArcGISSceneView[\"highlightOptions\"]): void {\n if (this.view) {\n this.view.highlightOptions = value;\n }\n }\n\n @Prop({ mutable: true }) interacting = false;\n\n @Prop({ mutable: true, reflect: true }) itemId: string;\n\n @Watch(\"itemId\")\n itemIdWatcher(value: string, old: string): void {\n // NOTE: there is an issue when users set the value to undefined.\n // https://github.com/ionic-team/stencil/issues/2814\n // If user sets `itemid` to `undefined`, Stencil 2 will log the following warning:\n // `The state/prop \"${propName}\" changed during rendering.`\n // `This can potentially lead to infinite-loops and other bugs.`\n //\n // It appears consumer setting the value to null does not cause this warning.\n // In Stencil 4, if a user sets property to undefined, will trigger change, but\n // will not remove attribute from DOM.\n if (value !== old) {\n if (this.view?.map) {\n void this._updateMap();\n } else {\n void this._loadMap();\n }\n }\n }\n\n @Prop({ mutable: true }) layerViews: ArcGISSceneView[\"layerViews\"];\n\n @Prop({ mutable: true }) magnifier: ArcGISSceneView[\"magnifier\"];\n\n @Prop({ mutable: true }) map: ArcGISWebScene;\n\n @Watch(\"map\")\n mapWatcher(value: ArcGISWebScene): void {\n if (this.view) {\n this.view.map = value;\n }\n }\n\n @Prop({ mutable: true }) navigating = false;\n\n @Prop({ mutable: true }) navigation: ArcGISSceneView[\"navigation\"];\n\n @Watch(\"navigation\")\n navigationWatcher(value: ArcGISSceneView[\"navigation\"]): void {\n if (this.view) {\n this.view.navigation = value;\n }\n }\n\n @Prop() padding: ArcGISSceneView[\"padding\"];\n\n @Watch(\"padding\")\n paddingWatcher(value: ArcGISSceneView[\"padding\"]): void {\n if (this.view) {\n this.view.padding = value;\n }\n }\n\n @Prop({ mutable: true }) performanceInfo: ArcGISSceneView[\"performanceInfo\"];\n\n @Prop({ mutable: true }) popup: ArcGISSceneView[\"popup\"];\n\n @Prop() popupEnabled = true;\n\n @Watch(\"popupEnabled\")\n popupEnabledWatcher(value: boolean, old: boolean): void {\n if (value !== old && this.view) {\n this.view.popupEnabled = value;\n }\n }\n\n @Prop({ mutable: true }) qualityProfile: ArcGISSceneView[\"qualityProfile\"];\n\n @Watch(\"qualityProfile\")\n qualityProfileWatcher(value: ArcGISSceneView[\"qualityProfile\"]): void {\n if (this.view && this.view.qualityProfile !== value) {\n this.view.qualityProfile = value;\n }\n }\n\n @Prop({ mutable: true }) ready = false;\n\n @Prop({ mutable: true }) resolution: ArcGISSceneView[\"resolution\"];\n\n @Prop({ mutable: true }) scale: number;\n\n @Watch(\"scale\")\n scaleWatcher(value: number, old: number): void {\n if (this.view && this.view.stationary && !this.view.interacting && value != null && value !== old) {\n this.view.scale = value;\n }\n }\n\n @Prop({ mutable: true }) spatialReference: ArcGISSceneView[\"spatialReference\"];\n\n @Watch(\"spatialReference\")\n spatialReferenceWatcher(value: ArcGISSceneView[\"spatialReference\"]): void {\n if (this.view && value && !this.view.spatialReference.equals(value)) {\n this.view.spatialReference = value;\n }\n }\n\n @Prop({ mutable: true }) stationary: boolean;\n\n @Prop({ mutable: true, reflect: true }) suspended = false;\n\n @Prop() theme: ArcGISSceneView[\"theme\"];\n\n @Watch(\"theme\")\n themeWatcher(value: ArcGISSceneView[\"theme\"]): void {\n if (this.view) {\n this.view.theme = value;\n }\n }\n\n @Prop() timeExtent: ArcGISSceneView[\"timeExtent\"];\n\n @Watch(\"timeExtent\")\n timeExtentWatcher(value: ArcGISSceneView[\"timeExtent\"]): void {\n if (this.view) {\n this.view.timeExtent = value;\n }\n }\n\n // Start functions as properties\n\n @Prop({ mutable: true }) toMap: ArcGISSceneView[\"toMap\"];\n\n @Prop({ mutable: true }) toScreen: ArcGISSceneView[\"toScreen\"];\n\n // End functions as properties\n\n @Prop({ mutable: true, reflect: true }) updating = false;\n\n @Prop() viewingMode: ArcGISSceneView[\"viewingMode\"] = \"global\";\n\n @Watch(\"viewingMode\")\n viewingModeWatcher(value: ArcGISSceneView[\"viewingMode\"]): void {\n if (this.view) {\n this.view.viewingMode = value;\n }\n }\n\n @Prop({ mutable: true }) viewpoint: ArcGISSceneView[\"viewpoint\"];\n\n @Watch(\"viewpoint\")\n viewpointWatcher(value: ArcGISSceneView[\"viewpoint\"]): void {\n if (this.view && isNotSameViewpoint(this.view.viewpoint, value)) {\n this.view.viewpoint = value;\n }\n }\n\n @Prop({ mutable: true, reflect: true }) zoom: number;\n\n @Watch(\"zoom\")\n zoomWatcher(value: number, old: number): void {\n if (this.view && this.view.stationary && !this.view.interacting && value !== old && isValidInteger(value)) {\n this.view.zoom = value;\n }\n }\n\n /**\n * Internal view of the component.\n */\n @Prop({ mutable: true }) view: ArcGISSceneView;\n\n config: __esri.config;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n @Event({ cancelable: true }) arcgisViewReadyChange!: EventEmitter;\n @Event({ cancelable: true }) arcgisViewChange!: EventEmitter;\n\n // proxy view events\n @Event({ cancelable: true }) arcgisViewClick!: EventEmitter<__esri.ViewClickEvent>;\n @Event({ cancelable: true }) arcgisViewDoubleClick!: EventEmitter<__esri.ViewDoubleClickEvent>;\n @Event({ cancelable: true }) arcgisViewDrag!: EventEmitter<__esri.ViewDragEvent>;\n @Event({ cancelable: true }) arcgisViewHold!: EventEmitter<__esri.ViewHoldEvent>;\n @Event({ cancelable: true }) arcgisViewImmediateClick!: EventEmitter<__esri.ViewImmediateClickEvent>;\n @Event({ cancelable: true }) arcgisViewImmediateDoubleClick!: EventEmitter<__esri.ViewImmediateDoubleClickEvent>;\n @Event({ cancelable: true }) arcgisViewKeyDown!: EventEmitter<__esri.ViewKeyDownEvent>;\n @Event({ cancelable: true }) arcgisViewKeyUp!: EventEmitter<__esri.ViewKeyUpEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewCreate!: EventEmitter<__esri.ViewLayerviewCreateEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewCreateError!: EventEmitter<__esri.ViewLayerviewCreateErrorEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewDestroy!: EventEmitter<__esri.ViewLayerviewDestroyEvent>;\n @Event({ cancelable: true }) arcgisViewMouseWheel!: EventEmitter<__esri.ViewMouseWheelEvent>;\n @Event({ cancelable: true }) arcgisViewPointerDown!: EventEmitter<__esri.ViewPointerDownEvent>;\n @Event({ cancelable: true }) arcgisViewPointerEnter!: EventEmitter<__esri.ViewPointerEnterEvent>;\n @Event({ cancelable: true }) arcgisViewPointerLeave!: EventEmitter<__esri.ViewPointerLeaveEvent>;\n @Event({ cancelable: true }) arcgisViewPointerMove!: EventEmitter<__esri.ViewPointerMoveEvent>;\n @Event({ cancelable: true }) arcgisViewPointerUp!: EventEmitter<__esri.ViewPointerUpEvent>;\n\n //--------------------------------------------------------------------------\n //\n // Methods\n //\n //--------------------------------------------------------------------------\n\n @Method()\n async closePopup(): Promise<void> {\n this.view?.closePopup();\n }\n\n @Method()\n async destroy(): Promise<void> {\n if (this.destroyDisabled) {\n this._clearWatchHandles();\n this.view.destroy();\n }\n }\n\n @Method()\n async goTo(target: __esri.GoToTarget3D, options?: __esri.GoToOptions3D): Promise<any> {\n return (await this.view?.goTo(target, options)) as unknown;\n }\n\n @Method()\n async hitTest(screenPoint: __esri.ScreenPoint, options?: Record<string, any>): Promise<__esri.HitTestResult> {\n return await this.view?.hitTest(screenPoint, options);\n }\n\n @Method()\n async openPopup(options?: Record<string, any>): Promise<any> {\n return (await this.view?.openPopup(options)) as unknown;\n }\n\n @Method()\n async takeScreenshot(options?: Record<string, any>): Promise<__esri.Screenshot> {\n return await this.view?.takeScreenshot(options);\n }\n\n @Method()\n async tryFatalErrorRecovery(): Promise<void> {\n this.view?.tryFatalErrorRecovery();\n }\n\n @Method()\n async whenAnalysisView(\n analysis:\n | __esri.AreaMeasurementAnalysis\n | __esri.DimensionAnalysis\n | __esri.DirectLineMeasurementAnalysis\n | __esri.LineOfSightAnalysis\n | __esri.SliceAnalysis\n ): Promise<\n | __esri.AreaMeasurementAnalysisView3D\n | __esri.DimensionAnalysisView\n | __esri.DirectLineMeasurementAnalysisView3D\n | __esri.LineOfSightAnalysisView3D\n | __esri.SliceAnalysisView3D\n > {\n return await this.view?.whenAnalysisView(analysis);\n }\n\n @Method()\n async whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView> {\n return await this.view?.whenLayerView(layer);\n }\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async connectedCallback(): Promise<void> {\n this.view = await newViewsSceneView({});\n }\n\n async componentWillLoad(): Promise<void> {\n await this._loadMap();\n }\n\n componentDidRender(): void {\n if (this.view && !this.view.container) {\n this.view.container = this.el;\n }\n }\n\n componentDidLoad(): void {\n this._proxyEvents();\n }\n\n disconnectedCallback(): void {\n void this.destroy();\n }\n\n render(): VNode {\n return <div class=\"arcgis-scene\" ref={(el) => (this.el = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n\n private _clearWatchHandles(): void {\n this._watchHandles.forEach((handle) => handle.remove());\n this._watchHandles = [];\n }\n\n private async _addWatchers(): Promise<void> {\n const { watch, when } = await importCoreReactiveUtils();\n\n addHandles(this, [\n // watch for ready and emit arcgisViewReadyChange event\n watch(\n () => this.view.ready,\n () => {\n this.ready = this.view.ready;\n this.arcgisViewReadyChange.emit();\n },\n {\n initial: true\n }\n ),\n // watch for stationary and emit arcgisViewChange event\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\n this.interacting = this.view.interacting;\n this.navigating = this.view.navigating;\n this.arcgisViewChange.emit();\n },\n {\n initial: true\n }\n ),\n // when view stationary is true, update these props:\n // zoom, scale, center, rotation, extent, camera, viewpoint\n when(\n () => this.view.stationary,\n () => {\n this.camera = this.view.camera;\n this.center = this.view.center;\n this.extent = this.view.extent;\n this.scale = this.view.scale;\n this.viewpoint = this.view.viewpoint;\n this.zoom = this.view.zoom;\n this.spatialReference = this.view.spatialReference;\n }\n ),\n // watchers for other props to update component\n watch(\n () => this.view.allLayerViews,\n () => {\n this.allLayerViews = this.view.allLayerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.analyses,\n () => {\n this.analyses = this.view.analyses;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map?.basemap,\n () => {\n this.basemap = this.view.map?.basemap as unknown as __esri.Basemap;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.basemapView,\n () => {\n this.basemapView = this.view.basemapView;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.environment,\n () => {\n this.environment = this.view.environment;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.fatalError,\n () => {\n this.fatalError = this.view.fatalError;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.input.gamepad,\n () => {\n this.gamepad = this.view.input.gamepad;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.graphics,\n () => {\n this.graphics = this.view.graphics;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map?.ground,\n () => {\n this.ground = this.view.map?.ground as unknown as __esri.Ground;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.groundView,\n () => {\n this.groundView = this.view.groundView;\n },\n {\n initial: true\n }\n ),\n // Start: arcgisStationaryChange events\n watch(\n () => this.view.interacting,\n () => {\n this.interacting = this.view.interacting;\n }\n ),\n watch(\n () => this.view.navigating,\n () => {\n this.navigating = this.view.navigating;\n }\n ),\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\n }\n ),\n watch(\n () => this.view.layerViews,\n () => {\n this.layerViews = this.view.layerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.navigation,\n () => {\n this.navigation = this.view.navigation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map,\n () => {\n this.map = this.view.map as __esri.WebScene;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.performanceInfo,\n () => {\n this.performanceInfo = this.view.performanceInfo;\n }\n ),\n watch(\n () => this.view.popup,\n () => {\n this.popup = this.view.popup;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.qualityProfile,\n () => {\n this.qualityProfile = this.view.qualityProfile;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.resolution,\n () => {\n this.resolution = this.view.resolution;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.suspended,\n () => {\n this.suspended = this.view.suspended;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.updating,\n () => {\n this.updating = this.view.updating;\n },\n {\n initial: true\n }\n )\n ]);\n }\n\n private async _createMap(): Promise<__esri.WebScene> {\n const mapParams: __esri.WebSceneProperties = {};\n\n if (this.itemId) {\n mapParams.portalItem = await this._createPortalItem();\n }\n\n if (this.basemap) {\n mapParams.basemap = this.basemap as unknown as __esri.Basemap;\n } else if (isNullOrEmptyString(this.itemId)) {\n mapParams.basemap = \"topo-vector\" as unknown as __esri.Basemap;\n }\n\n if (this.ground) {\n mapParams.ground = this.ground as unknown as __esri.Ground;\n } else if (isNullOrEmptyString(this.itemId)) {\n mapParams.ground = \"world-elevation\" as unknown as __esri.Ground;\n }\n\n const map = await newWebScene(mapParams);\n return map;\n }\n\n private async _createPortalItem(): Promise<__esri.PortalItemProperties> {\n const itemProps: Partial<__esri.PortalItemProperties> = {};\n\n if (this.itemId) {\n itemProps.id = this.itemId;\n }\n\n return itemProps;\n }\n\n private _createViewParams(): Partial<__esri.SceneViewProperties> {\n const params: Partial<__esri.SceneViewProperties> = {};\n\n if (this.center) {\n if (typeof this.center === \"string\") {\n params.center = this.center.split(\",\").map((x) => Number(x));\n } else {\n params.center = this.center;\n }\n }\n\n if (this.constraints) {\n params.constraints = this.constraints;\n }\n\n if (this.extent) {\n params.extent = this.extent;\n }\n\n if (this.floors) {\n params.floors = this.floors;\n }\n\n if (this.highlightOptions) {\n params.highlightOptions = this.highlightOptions;\n }\n\n if (this.map) {\n params.map = this.map;\n }\n\n if (this.navigation) {\n params.navigation = this.navigation;\n }\n\n if (this.popupEnabled !== undefined) {\n params.popupEnabled = this.popupEnabled;\n }\n\n if (this.scale !== undefined) {\n params.scale = this.scale;\n }\n\n if (this.spatialReference) {\n params.spatialReference = this.spatialReference;\n }\n\n if (this.theme) {\n params.theme = this.theme;\n }\n\n if (this.timeExtent) {\n params.timeExtent = this.timeExtent;\n }\n\n if (this.viewpoint) {\n params.viewpoint = this.viewpoint;\n }\n\n if (this.zoom !== undefined) {\n params.zoom = this.zoom;\n }\n\n return params;\n }\n\n private async _loadMap(): Promise<void> {\n const map = await this._createMap();\n\n const params = this._createViewParams();\n\n const view = await newViewsSceneView({\n map,\n ...params\n });\n\n this.view = view;\n\n return void view.when(async () => {\n // proxy view functions\n this.toMap = view.toMap.bind(view);\n this.toScreen = view.toScreen.bind(view);\n await this._addWatchers();\n });\n }\n\n private _proxyEvents(): void {\n addHandles(this, [\n this.view.on(\"click\", (event) => {\n this.arcgisViewClick.emit(event);\n }),\n this.view.on(\"double-click\", (event) => {\n this.arcgisViewDoubleClick.emit(event);\n }),\n this.view.on(\"drag\", (event) => {\n this.arcgisViewDrag.emit(event);\n }),\n this.view.on(\"hold\", (event) => {\n this.arcgisViewHold.emit(event);\n }),\n this.view.on(\"immediate-click\", (event) => {\n this.arcgisViewImmediateClick.emit(event);\n }),\n this.view.on(\"immediate-double-click\", (event) => {\n this.arcgisViewImmediateDoubleClick.emit(event);\n }),\n this.view.on(\"key-down\", (event) => {\n this.arcgisViewKeyDown.emit(event);\n }),\n this.view.on(\"key-up\", (event) => {\n this.arcgisViewKeyUp.emit(event);\n }),\n this.view.on(\"layerview-create\", (event) => {\n this.arcgisViewLayerviewCreate.emit(event);\n }),\n this.view.on(\"layerview-create-error\", (event) => {\n this.arcgisViewLayerviewCreateError.emit(event);\n }),\n this.view.on(\"layerview-destroy\", (event) => {\n this.arcgisViewLayerviewDestroy.emit(event);\n }),\n this.view.on(\"mouse-wheel\", (event) => {\n this.arcgisViewMouseWheel.emit(event);\n }),\n this.view.on(\"pointer-down\", (event) => {\n this.arcgisViewPointerDown.emit(event);\n }),\n this.view.on(\"pointer-enter\", (event) => {\n this.arcgisViewPointerEnter.emit(event);\n }),\n this.view.on(\"pointer-leave\", (event) => {\n this.arcgisViewPointerLeave.emit(event);\n }),\n this.view.on(\"pointer-move\", (event) => {\n this.arcgisViewPointerMove.emit(event);\n }),\n this.view.on(\"pointer-up\", (event) => {\n this.arcgisViewPointerUp.emit(event);\n })\n ]);\n }\n\n private async _updateMap(): Promise<void> {\n if (this.view?.map) {\n this.view.map.destroy();\n const map = await this._createMap();\n this.view.map = map;\n }\n }\n}\n"],"version":3}
@@ -321,7 +321,7 @@ const ArcgisScene = class {
321
321
  this.arcgisViewPointerUp = createEvent(this, "arcgisViewPointerUp", 7);
322
322
  this._watchHandles = [];
323
323
  this.allLayerViews = undefined;
324
- this.alphaCompositingEnabled = undefined;
324
+ this.alphaCompositingEnabled = false;
325
325
  this.analyses = undefined;
326
326
  this.basemapView = undefined;
327
327
  this.basemap = undefined;
@@ -334,37 +334,38 @@ const ArcgisScene = class {
334
334
  this.extent = undefined;
335
335
  this.fatalError = undefined;
336
336
  this.floors = undefined;
337
+ this.gamepad = undefined;
337
338
  this.graphics = undefined;
339
+ this.ground = undefined;
338
340
  this.groundView = undefined;
339
341
  this.highlightOptions = undefined;
340
- this.interacting = undefined;
342
+ this.interacting = false;
341
343
  this.itemId = undefined;
342
344
  this.layerViews = undefined;
343
345
  this.magnifier = undefined;
344
346
  this.map = undefined;
345
- this.navigating = undefined;
347
+ this.navigating = false;
346
348
  this.navigation = undefined;
347
349
  this.padding = undefined;
348
350
  this.performanceInfo = undefined;
349
351
  this.popup = undefined;
350
- this.popupEnabled = undefined;
352
+ this.popupEnabled = true;
351
353
  this.qualityProfile = undefined;
352
- this.ready = undefined;
354
+ this.ready = false;
353
355
  this.resolution = undefined;
354
356
  this.scale = undefined;
355
357
  this.spatialReference = undefined;
356
358
  this.stationary = undefined;
357
- this.suspended = undefined;
359
+ this.suspended = false;
358
360
  this.theme = undefined;
359
361
  this.timeExtent = undefined;
360
362
  this.toMap = undefined;
361
363
  this.toScreen = undefined;
362
- this.updating = undefined;
363
- this.viewingMode = undefined;
364
+ this.updating = false;
365
+ this.viewingMode = "global";
364
366
  this.viewpoint = undefined;
365
367
  this.zoom = undefined;
366
368
  this.view = undefined;
367
- this.disableNavigation = false;
368
369
  }
369
370
  alphaCompositingEnabledWatcher(value) {
370
371
  if (value !== undefined && this.view) {
@@ -418,6 +419,11 @@ const ArcgisScene = class {
418
419
  this.view.graphics = value;
419
420
  }
420
421
  }
422
+ groundWatcher(value) {
423
+ if (this.view?.map && isNullOrEmptyString(value)) {
424
+ this.view.map.ground = value;
425
+ }
426
+ }
421
427
  highlightOptionsWatcher(value) {
422
428
  if (this.view) {
423
429
  this.view.highlightOptions = value;
@@ -435,10 +441,10 @@ const ArcgisScene = class {
435
441
  // will not remove attribute from DOM.
436
442
  if (value !== old) {
437
443
  if (this.view?.map) {
438
- this._updateMap();
444
+ void this._updateMap();
439
445
  }
440
446
  else {
441
- this._loadMap();
447
+ void this._loadMap();
442
448
  }
443
449
  }
444
450
  }
@@ -457,8 +463,8 @@ const ArcgisScene = class {
457
463
  this.view.padding = value;
458
464
  }
459
465
  }
460
- popupEnabledWatcher(value) {
461
- if (value !== undefined && this.view) {
466
+ popupEnabledWatcher(value, old) {
467
+ if (value !== old && this.view) {
462
468
  this.view.popupEnabled = value;
463
469
  }
464
470
  }
@@ -517,13 +523,13 @@ const ArcgisScene = class {
517
523
  }
518
524
  }
519
525
  async goTo(target, options) {
520
- return await this.view?.goTo(target, options);
526
+ return (await this.view?.goTo(target, options));
521
527
  }
522
528
  async hitTest(screenPoint, options) {
523
529
  return await this.view?.hitTest(screenPoint, options);
524
530
  }
525
531
  async openPopup(options) {
526
- return await this.view?.openPopup(options);
532
+ return (await this.view?.openPopup(options));
527
533
  }
528
534
  async takeScreenshot(options) {
529
535
  return await this.view?.takeScreenshot(options);
@@ -557,7 +563,7 @@ const ArcgisScene = class {
557
563
  this._proxyEvents();
558
564
  }
559
565
  disconnectedCallback() {
560
- this.destroy();
566
+ void this.destroy();
561
567
  }
562
568
  render() {
563
569
  return h("div", { class: "arcgis-scene", ref: (el) => (this.el = el) });
@@ -632,11 +638,21 @@ const ArcgisScene = class {
632
638
  }, {
633
639
  initial: true
634
640
  }),
641
+ watch(() => this.view.input.gamepad, () => {
642
+ this.gamepad = this.view.input.gamepad;
643
+ }, {
644
+ initial: true
645
+ }),
635
646
  watch(() => this.view.graphics, () => {
636
647
  this.graphics = this.view.graphics;
637
648
  }, {
638
649
  initial: true
639
650
  }),
651
+ watch(() => this.view.map?.ground, () => {
652
+ this.ground = this.view.map?.ground;
653
+ }, {
654
+ initial: true
655
+ }),
640
656
  watch(() => this.view.groundView, () => {
641
657
  this.groundView = this.view.groundView;
642
658
  }, {
@@ -700,7 +716,7 @@ const ArcgisScene = class {
700
716
  async _createMap() {
701
717
  const mapParams = {};
702
718
  if (this.itemId) {
703
- mapParams.portalItem = this._createPortalItem();
719
+ mapParams.portalItem = await this._createPortalItem();
704
720
  }
705
721
  if (this.basemap) {
706
722
  mapParams.basemap = this.basemap;
@@ -708,15 +724,21 @@ const ArcgisScene = class {
708
724
  else if (isNullOrEmptyString(this.itemId)) {
709
725
  mapParams.basemap = "topo-vector";
710
726
  }
727
+ if (this.ground) {
728
+ mapParams.ground = this.ground;
729
+ }
730
+ else if (isNullOrEmptyString(this.itemId)) {
731
+ mapParams.ground = "world-elevation";
732
+ }
711
733
  const map = await newWebScene(mapParams);
712
734
  return map;
713
735
  }
714
- _createPortalItem() {
715
- const item = {};
736
+ async _createPortalItem() {
737
+ const itemProps = {};
716
738
  if (this.itemId) {
717
- item.id = this.itemId;
739
+ itemProps.id = this.itemId;
718
740
  }
719
- return item;
741
+ return itemProps;
720
742
  }
721
743
  _createViewParams() {
722
744
  const params = {};
@@ -777,7 +799,7 @@ const ArcgisScene = class {
777
799
  ...params
778
800
  });
779
801
  this.view = view;
780
- view.when(async () => {
802
+ return void view.when(async () => {
781
803
  // proxy view functions
782
804
  this.toMap = view.toMap.bind(view);
783
805
  this.toScreen = view.toScreen.bind(view);
@@ -858,6 +880,7 @@ const ArcgisScene = class {
858
880
  "extent": ["extentWatcher"],
859
881
  "floors": ["floorsWatcher"],
860
882
  "graphics": ["graphicsWatcher"],
883
+ "ground": ["groundWatcher"],
861
884
  "highlightOptions": ["highlightOptionsWatcher"],
862
885
  "itemId": ["itemIdWatcher"],
863
886
  "map": ["mapWatcher"],