@arcgis/core 4.33.0-next.20250328 → 4.33.0-next.20250330

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 (88) hide show
  1. package/applications/Components/reactiveUtils.d.ts +4 -0
  2. package/applications/Components/reactiveUtils.js +1 -1
  3. package/applications/MapViewer/templateUtils.js +1 -1
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/{5269793822e41dd07fe1.js → 0b6ceb0194a07bbc3433.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{458f4c6c8820c1f62f69.js → 1322096a72e910f23167.js} +1 -1
  7. package/assets/esri/core/workers/chunks/1cd9b5ef62582b25df9b.js +1 -0
  8. package/assets/esri/core/workers/chunks/1cf8a431e5da946c7d27.js +1 -0
  9. package/assets/esri/core/workers/chunks/{add0770399a63b7635b5.js → 1df34b7fd68f5ab55bd3.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{e1b42fc5c1d89333e834.js → 239821543abbd63c5787.js} +2 -2
  11. package/assets/esri/core/workers/chunks/2a654d8de99be40dd0e6.js +1 -0
  12. package/assets/esri/core/workers/chunks/{fdc9bd8f309af610fa62.js → 48ad7beb48dcc2693cc3.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{1e631e34ee495eb0e76e.js → 49ed3ab9bd6d7c52e864.js} +1 -1
  14. package/assets/esri/core/workers/chunks/5e79642851e888eddfe4.js +1 -0
  15. package/assets/esri/core/workers/chunks/738e4f46feb3758456e0.js +1 -0
  16. package/assets/esri/core/workers/chunks/77660e18ea793ae85f83.js +1 -0
  17. package/assets/esri/core/workers/chunks/{4d02e211967384994e5e.js → 82493f51a2182f76dd2f.js} +1 -1
  18. package/assets/esri/core/workers/chunks/879d672d12f9ef2e1b50.js +1 -0
  19. package/assets/esri/core/workers/chunks/921b41b101957cfc1cfd.js +1 -0
  20. package/assets/esri/core/workers/chunks/{f128d3431da86e484117.js → 94292c7afff18694d55e.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{c0400c25c53fd90fc90e.js → 9e156e135f34f9b06032.js} +1 -1
  22. package/assets/esri/core/workers/chunks/9f18de17fbcad0e5c140.js +1 -0
  23. package/assets/esri/core/workers/chunks/{4eb1a2433f675bde12ad.js → a01c86910fe4984eb788.js} +1 -1
  24. package/assets/esri/core/workers/chunks/ba4d91816f6a0bf0d812.js +1 -0
  25. package/assets/esri/core/workers/chunks/da8a002d18544def5383.js +1 -0
  26. package/assets/esri/core/workers/chunks/dde03a893f9cef8e0f45.js +1 -0
  27. package/assets/esri/core/workers/chunks/{fc7ce48c7b31a4665a9b.js → e792603b7cc3ddd133f3.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{0c9e933b392616460e62.js → f0c864425f000ab87a7b.js} +1 -1
  29. package/assets/esri/core/workers/chunks/fc5ca7b08915177c5e33.js +1 -0
  30. package/assets/esri/widgets/BasemapLayerList/t9n/BasemapLayerList.json +1 -1
  31. package/assets/esri/widgets/BasemapLayerList/t9n/BasemapLayerList_en.json +1 -1
  32. package/assets/esri/widgets/CatalogLayerList/t9n/CatalogLayerList.json +1 -1
  33. package/assets/esri/widgets/CatalogLayerList/t9n/CatalogLayerList_en.json +1 -1
  34. package/assets/esri/widgets/LayerList/t9n/LayerList.json +1 -1
  35. package/assets/esri/widgets/LayerList/t9n/LayerList_en.json +1 -1
  36. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  37. package/geometry/operators/polygonOverlayOperator.js +1 -1
  38. package/interfaces.d.ts +114 -13
  39. package/intl/locale.js +1 -1
  40. package/layers/OrientedImageryLayer.js +1 -1
  41. package/layers/SceneLayer.js +1 -1
  42. package/layers/graphics/sources/WFSSourceWorker.js +1 -1
  43. package/layers/support/commonProperties.js +1 -1
  44. package/networks/RulesTable.js +1 -1
  45. package/networks/UtilityNetwork.js +1 -1
  46. package/networks/support/utils.js +1 -1
  47. package/package.json +1 -1
  48. package/portal/schemas/definitions.js +1 -1
  49. package/portal/schemas/sceneLayerItem.js +1 -1
  50. package/support/actions/actionUtils.js +1 -1
  51. package/support/revision.js +1 -1
  52. package/tables/AttributeTableTemplate.js +1 -1
  53. package/tables/elements/AttributeTableAttachmentElement.js +1 -1
  54. package/tables/elements/AttributeTableFieldElement.js +1 -1
  55. package/tables/elements/AttributeTableGroupElement.js +1 -1
  56. package/tables/elements/AttributeTableRelationshipElement.js +1 -1
  57. package/tables/support/FieldOrder.js +5 -0
  58. package/tables/support/tablesUtils.js +1 -1
  59. package/views/3d/terrain/TerrainSurface.js +1 -1
  60. package/views/3d/terrain/Tile.js +1 -1
  61. package/views/3d/terrain/TileRenderer.js +1 -1
  62. package/views/VideoView.js +1 -1
  63. package/views/webgl/Texture.js +1 -1
  64. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  65. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  66. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  67. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  68. package/widgets/FeatureTable.js +1 -1
  69. package/widgets/Features/FeaturesDrillIn.js +1 -1
  70. package/widgets/Features.js +1 -1
  71. package/widgets/LayerList/LayerListItem.js +1 -1
  72. package/widgets/Search.js +1 -1
  73. package/widgets/Widget.js +1 -1
  74. package/widgets/support/tests.js +1 -1
  75. package/assets/esri/core/workers/chunks/08ea652b7896c1da022d.js +0 -1
  76. package/assets/esri/core/workers/chunks/09ca64184bed6abafcd9.js +0 -1
  77. package/assets/esri/core/workers/chunks/18d0fe269531b951e309.js +0 -1
  78. package/assets/esri/core/workers/chunks/2bb508701ad8ccc3d6ab.js +0 -1
  79. package/assets/esri/core/workers/chunks/2ce80c764cca9e6a20cd.js +0 -1
  80. package/assets/esri/core/workers/chunks/2f23fc27d005ffa18f47.js +0 -1
  81. package/assets/esri/core/workers/chunks/2fcfc21ba38d9919730a.js +0 -1
  82. package/assets/esri/core/workers/chunks/74541f1a6d4228275c52.js +0 -1
  83. package/assets/esri/core/workers/chunks/75ec4d2ae9d427a1434f.js +0 -1
  84. package/assets/esri/core/workers/chunks/85a9025c2990a8bbd61b.js +0 -1
  85. package/assets/esri/core/workers/chunks/90afead317186b31b2f9.js +0 -1
  86. package/assets/esri/core/workers/chunks/aa404aaec843a4f46ab6.js +0 -1
  87. package/assets/esri/core/workers/chunks/aff7c4477e1f0c31fffa.js +0 -1
  88. /package/assets/esri/core/workers/chunks/{e1b42fc5c1d89333e834.js.LICENSE.txt → 239821543abbd63c5787.js.LICENSE.txt} +0 -0
package/widgets/Search.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{deprecatedPropertyValue as t}from"../core/deprecate.js";import o from"../core/Logger.js";import{destroyMaybe as s,abortMaybe as r}from"../core/maybe.js";import{ignoreAbortErrors as i,isAbortError as l}from"../core/promiseUtils.js";import{watch as n,initial as a}from"../core/reactiveUtils.js";import{waitAnimationFrame as c}from"../core/scheduling.js";import{property as u}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import d from"./Widget.js";import{css as p}from"./Search/css.js";import g from"./Search/SearchResultRenderer.js";import m from"./Search/SearchViewModel.js";import{loadCalciteComponents as v}from"./support/componentsUtils.js";import{globalCss as _}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as w}from"./support/decorators/messageBundle.js";import{vmEvent as S}from"./support/decorators/vmEvent.js";import{tsx as M}from"./support/jsxFactory.js";import{substitute as b}from"../intl/substitute.js";let y=class extends d{constructor(e,t){super(e,t),this._currentLocationValue=`${this.id}-search-use-current-location`,this._autocompleteNode=null,this._focusAbortController=null,this._searchResultRenderer=new g,this._suggestController=null,this._searchController=null,this._lastSearchTerm="",this._locateFailed=!1,this._showNoResults=!1,this.disabled=!1,this.messages=null,this.messagesCommon=null,this.viewModel=new m,this._renderSearchResultsContent=()=>this._searchResultRenderer,this.addHandles([n((()=>this.viewModel),(e=>this._searchResultRenderer.viewModel=e),a),n((()=>this.viewModel.results),(()=>this._searchResultRenderer.showMoreResultsOpen=!1)),n((()=>this.viewModel?.defaultPopupTemplate),(e=>{e&&(e.content=this._renderSearchResultsContent)}),a)])}loadDependencies(){return v({autocomplete:()=>import("@esri/calcite-components/dist/components/calcite-autocomplete"),"autocomplete-item-group":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item-group"),"autocomplete-item":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}destroy(){this._cancelQueries(),this._searchResultRenderer=s(this._searchResultRenderer),this._focusAbortController?.abort()}get _isDisabled(){const{state:e}=this.viewModel;return"disabled"===e||"loading"===e||this.disabled}get _showCurrentLocation(){return this.locationEnabled&&!this.searchTerm?.trim()}get _effectiveActiveMenu(){const{activeMenu:e}=this;return this._isDisabled?"none":"warning"===e?"suggestion":e}get activeMenu(){return"none"}set activeMenu(e){"warning"===e&&t(o.getLogger(this),"activeMenu","warning",{replacement:"Use the value 'suggestion' instead",version:"4.32",warnOnce:!0}),this._overrideIfSome("activeMenu",e)}get activeSource(){return this.viewModel?.activeSource}get activeSourceIndex(){return this.viewModel.activeSourceIndex}set activeSourceIndex(e){this.viewModel.activeSourceIndex=e}get allPlaceholder(){return this.viewModel.allPlaceholder}set allPlaceholder(e){this.viewModel.allPlaceholder=e}get allSources(){return this.viewModel.allSources}get autoNavigate(){return this.viewModel.autoNavigate}set autoNavigate(e){this.viewModel.autoNavigate=e}get autoSelect(){return this.viewModel.autoSelect}set autoSelect(e){this.viewModel.autoSelect=e}get defaultSources(){return this.viewModel.defaultSources}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return"search"}set icon(e){this._overrideIfSome("icon",e)}get includeDefaultSources(){return this.viewModel.includeDefaultSources}set includeDefaultSources(e){this.viewModel.includeDefaultSources=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get locationEnabled(){return this.viewModel.locationEnabled}set locationEnabled(e){this.viewModel.locationEnabled=e}get maxResults(){return this.viewModel.maxResults}set maxResults(e){this.viewModel.maxResults=e}get maxSuggestions(){return this.viewModel.maxSuggestions}set maxSuggestions(e){this.viewModel.maxSuggestions=e}get minSuggestCharacters(){return this.viewModel.minSuggestCharacters}set minSuggestCharacters(e){this.viewModel.minSuggestCharacters=e}get popupEnabled(){return this.viewModel.popupEnabled}set popupEnabled(e){this.viewModel.popupEnabled=e}get popupTemplate(){return this.viewModel.popupTemplate}set popupTemplate(e){this.viewModel.popupTemplate=e}get portal(){return this.viewModel?.portal}set portal(e){this.viewModel&&(this.viewModel.portal=e)}get resultGraphic(){return this.viewModel.resultGraphic}set resultGraphic(e){this.viewModel.resultGraphic=e}get resultGraphicEnabled(){return this.viewModel.resultGraphicEnabled}set resultGraphicEnabled(e){this.viewModel.resultGraphicEnabled=e}get results(){return this.viewModel.results}get searchAllEnabled(){return this.viewModel.searchAllEnabled}set searchAllEnabled(e){this.viewModel.searchAllEnabled=e}get searchTerm(){return this.viewModel.searchTerm}set searchTerm(e){this.viewModel.searchTerm=e}get selectedResult(){return this.viewModel.selectedResult}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get suggestions(){return this.viewModel.suggestions}get suggestionsEnabled(){return this.viewModel.suggestionsEnabled}set suggestionsEnabled(e){this.viewModel.suggestionsEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}clear(){this._locateFailed=!1,this.viewModel.clear()}focus(){this._handleFocus(),this._emitFocus()}blur(){this._autocompleteNode?.blur(),this._emitBlur()}async search(e){this._cancelQueries();const t=new AbortController,{signal:o}=t;this._searchController=t;try{const s=await this.viewModel.search(e,{signal:o});if(this._searchController!==t)return;return s?.numResults||(this._showNoResults=!0,this.activeMenu="suggestion"),this._searchController=null,s}catch(s){if(this._searchController!==t)return;return void(this._searchController=null)}}async suggest(e){this._cancelSuggest();const t=new AbortController,{signal:o}=t;this._suggestController=t;try{const s=await this.viewModel.suggest(e,null,{signal:o});if(this._suggestController!==t)return;return this._suggestController=null,s?.numResults&&(this.activeMenu="suggestion",this._scrollToTopSuggestion()),s}catch(s){return this._suggestController!==t||(this._suggestController=null),null}}render(){return M("div",{class:this.classes(p.base,_.widget)},M("div",{class:p.container},this._renderSourcesMenu(),this._renderForm()))}_handleInputKeydown(e){"Tab"===e.key&&this._cancelSuggest()}_emitFocus(){this.emit("search-focus")}_emitBlur(){this.emit("search-blur")}async _handleFocus(){this._focusAbortController?.abort(),this._focusAbortController=new AbortController;const e=this._focusAbortController.signal;await i(c(e)),this._autocompleteNode?.setFocus()}_renderSourcesMenu(){const{messages:e,_isDisabled:t,_effectiveActiveMenu:o}=this,{allSources:s,searchAllEnabled:r}=this.viewModel;return s.length>1?M("calcite-dropdown",{bind:this,class:p.dropdown,disabled:t,open:"source"===o,overlayPositioning:"fixed",onCalciteDropdownClose:this._handleSourceClose,onCalciteDropdownOpen:this._handleSourceOpen,onCalciteDropdownSelect:this._handleSourceSelect},M("calcite-button",{appearance:"outline-fill",iconStart:"caret-down",kind:"neutral",label:e.searchIn,slot:"trigger"}),M("calcite-dropdown-group",{groupTitle:e.searchIn},r?this._renderSource(m.ALL_INDEX):null,s.map(((e,t)=>this._renderSource(t))).toArray())):null}_renderUseCurrentLocation(){const{_currentLocationValue:e}=this;return M("calcite-autocomplete-item",{heading:this.messages.useCurrentLocation,iconStart:"gps-on",key:e,value:e})}_handleAutocompleteCreate(e){this._autocompleteNode=e}_handleCalciteAutocompleteTextInput(e){const t=e.target.inputValue;t!==this.viewModel.searchTerm&&(this.viewModel.searchTerm=t,t||this.clear(),this.suggest())}_handleAutocompleteOpen(){this.activeMenu="suggestion"}_handleAutocompleteClose(){"suggestion"===this.activeMenu&&(this.activeMenu="none")}_handleCalciteAutocompleteChange(e){const t=e.target.value;if(t===this._currentLocationValue)return void this._useCurrentLocation();const o=this.viewModel.suggestions?.flatMap((e=>e.results??[])),s=o?.find((e=>`${e.key}`==`${t}`));s&&this.search(s)}_renderAutocomplete(){const{_effectiveActiveMenu:e,messages:t,_isDisabled:o}=this,{maxInputLength:s,placeholder:r,searchTerm:i,state:l}=this.viewModel,n=this.label??t.searchButtonTitle??"";return M("calcite-autocomplete",{afterCreate:this._handleAutocompleteCreate,autocomplete:"off",bind:this,class:p.autocomplete,disabled:o,icon:this.icon,inputValue:i,label:n,loading:"searching"===l,maxLength:s,name:this.id,onblur:this._emitBlur,onfocus:this._emitFocus,onkeydown:this._handleInputKeydown,open:"suggestion"===e,overlayPositioning:"fixed",placeholder:r,title:i?"":r,onCalciteAutocompleteChange:this._handleCalciteAutocompleteChange,onCalciteAutocompleteClose:this._handleAutocompleteClose,onCalciteAutocompleteOpen:this._handleAutocompleteOpen,onCalciteAutocompleteTextChange:this._handleCalciteAutocompleteTextInput,onCalciteAutocompleteTextInput:this._handleCalciteAutocompleteTextInput},this._renderSuggestions(),this._renderNotices())}_renderForm(){return M("form",{bind:this,class:p.form,disabled:this._isDisabled,key:p.form,onsubmit:this._formSubmit,role:"search"},this._renderAutocomplete())}_renderSuggestGroup(e){return e.results?.map((e=>this._renderSuggestion(e)))}_renderSuggestions(){const{suggestions:e}=this.viewModel;return this._showNoResults?null:this._showCurrentLocation?this._renderUseCurrentLocation():e?.map((e=>this._renderSuggestResults(e)))}_renderSuggestResults(e){const{allSources:t,activeSourceIndex:o}=this.viewModel,{sourceIndex:s}=e,r=e.results?.length,i=t.length>1&&o===m.ALL_INDEX,l=this._getSourceName(s);return r&&i?M("calcite-autocomplete-item-group",{heading:l,key:`suggestion-group-${l}-${s}`},this._renderSuggestGroup(e)):this._renderSuggestGroup(e)}_renderSuggestion(e){return M("calcite-autocomplete-item",{heading:e.text??this.messages.untitledResult,key:`suggestion_${e.key}`,value:`${e.key}`})}_renderSource(e){const t=this._getSourceName(e);return M("calcite-dropdown-item",{"data-source-index":`${e}`,key:`source-${t}-${e}`,selected:e===this.viewModel.activeSourceIndex},t)}_renderNoResultsWarning(e){const{messages:t}=this,o=e?b(t.noResultsFoundForValue,{value:`"${e}"`}):t.noResultsFound;return M("calcite-notice",{icon:"exclamation-mark-triangle",key:"no-results-warning",kind:"warning",open:!0,slot:"content-bottom"},M("div",{slot:"title"},t.noResults),M("div",{slot:"message"},o))}_renderLocateError(){return M("calcite-notice",{icon:"exclamation-mark-circle",key:"locate-warning",kind:"danger",open:!0,slot:"content-bottom"},M("div",{slot:"message"},this.messages.locateError))}_renderNotices(){return this._locateFailed?this._renderLocateError():this._showNoResults?this._renderNoResultsWarning(this._lastSearchTerm??this.viewModel.searchTerm):null}async _useCurrentLocation(){this._cancelQueries();const e=new AbortController,{signal:t}=e;this._searchController=e;try{await this.viewModel.searchNearby({signal:t})}catch(o){l(o)||(this._locateFailed=!0)}finally{this._searchController=null}}_handleSourceOpen(){this.activeMenu="source"}_handleSourceClose(){"source"===this.activeMenu&&(this.activeMenu="none")}_handleSourceSelect(e){const t=e.target.selectedItems[0].getAttribute("data-source-index");t&&(this.viewModel.activeSourceIndex=parseInt(t,10))}_cancelSuggest(){this.activeMenu="none",this._locateFailed=!1,this._showNoResults=!1,this._suggestController=r(this._suggestController)}_cancelQueries(){this._cancelSuggest(),this._searchController=r(this._searchController)}_scrollToTopSuggestion(){this._autocompleteNode?.scrollContentTo({top:0})}_formSubmit(e){e.preventDefault(),this.activeMenu="none",this._lastSearchTerm=this.searchTerm,this.searchTerm&&this.search()}_getSourceName(e){const{messages:t}=this,{allSources:o}=this.viewModel,s=o.at(e);return e===m.ALL_INDEX?t.all:s?.name||t.untitledSource}};e([u()],y.prototype,"_locateFailed",void 0),e([u()],y.prototype,"_showNoResults",void 0),e([u()],y.prototype,"_isDisabled",null),e([u()],y.prototype,"_showCurrentLocation",null),e([u()],y.prototype,"_effectiveActiveMenu",null),e([u()],y.prototype,"activeMenu",null),e([u({readOnly:!0})],y.prototype,"activeSource",null),e([u()],y.prototype,"activeSourceIndex",null),e([u()],y.prototype,"allPlaceholder",null),e([u({readOnly:!0})],y.prototype,"allSources",null),e([u()],y.prototype,"autoNavigate",null),e([u()],y.prototype,"autoSelect",null),e([u({readOnly:!0})],y.prototype,"defaultSources",null),e([u()],y.prototype,"disabled",void 0),e([u()],y.prototype,"goToOverride",null),e([u()],y.prototype,"icon",null),e([u()],y.prototype,"includeDefaultSources",null),e([u()],y.prototype,"label",null),e([u()],y.prototype,"locationEnabled",null),e([u()],y.prototype,"maxResults",null),e([u()],y.prototype,"maxSuggestions",null),e([u(),w("esri/widgets/Search/t9n/Search")],y.prototype,"messages",void 0),e([u(),w("esri/t9n/common")],y.prototype,"messagesCommon",void 0),e([u()],y.prototype,"minSuggestCharacters",null),e([u()],y.prototype,"popupEnabled",null),e([u()],y.prototype,"popupTemplate",null),e([u()],y.prototype,"portal",null),e([u()],y.prototype,"resultGraphic",null),e([u()],y.prototype,"resultGraphicEnabled",null),e([u({readOnly:!0})],y.prototype,"results",null),e([u()],y.prototype,"searchAllEnabled",null),e([u()],y.prototype,"searchTerm",null),e([u({readOnly:!0})],y.prototype,"selectedResult",null),e([u()],y.prototype,"sources",null),e([u({readOnly:!0})],y.prototype,"suggestions",null),e([u()],y.prototype,"suggestionsEnabled",null),e([u()],y.prototype,"view",null),e([S(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),u({type:m})],y.prototype,"viewModel",void 0),y=e([h("esri.widgets.Search")],y);const C=y;export{C as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{deprecatedPropertyValue as t}from"../core/deprecate.js";import o from"../core/Logger.js";import{destroyMaybe as s,abortMaybe as r}from"../core/maybe.js";import{ignoreAbortErrors as i,isAbortError as l}from"../core/promiseUtils.js";import{watch as n,initial as a}from"../core/reactiveUtils.js";import{waitAnimationFrame as c}from"../core/scheduling.js";import{property as u}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import d from"./Widget.js";import{css as p}from"./Search/css.js";import g from"./Search/SearchResultRenderer.js";import m from"./Search/SearchViewModel.js";import{loadCalciteComponents as v}from"./support/componentsUtils.js";import{globalCss as _}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as w}from"./support/decorators/messageBundle.js";import{vmEvent as M}from"./support/decorators/vmEvent.js";import{tsx as S}from"./support/jsxFactory.js";import{substitute as b}from"../intl/substitute.js";let y=class extends d{constructor(e,t){super(e,t),this._currentLocationValue=`${this.id}-search-use-current-location`,this._autocompleteNode=null,this._focusAbortController=null,this._searchResultRenderer=new g,this._suggestController=null,this._searchController=null,this._lastSearchTerm="",this._locateFailed=!1,this._showNoResults=!1,this.disabled=!1,this.messages=null,this.messagesCommon=null,this.viewModel=new m,this._renderSearchResultsContent=()=>this._searchResultRenderer,this.addHandles([n((()=>this.viewModel),(e=>this._searchResultRenderer.viewModel=e),a),n((()=>this.viewModel.results),(()=>this._searchResultRenderer.showMoreResultsOpen=!1)),n((()=>this.viewModel?.defaultPopupTemplate),(e=>{e&&(e.content=this._renderSearchResultsContent)}),a)])}loadDependencies(){return v({autocomplete:()=>import("@esri/calcite-components/dist/components/calcite-autocomplete"),"autocomplete-item-group":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item-group"),"autocomplete-item":()=>import("@esri/calcite-components/dist/components/calcite-autocomplete-item"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}destroy(){this._cancelQueries(),this._searchResultRenderer=s(this._searchResultRenderer),this._focusAbortController?.abort()}get _isDisabled(){const{state:e}=this.viewModel;return"disabled"===e||"loading"===e||this.disabled}get _showCurrentLocation(){return this.locationEnabled&&!this.searchTerm?.trim()}get _effectiveActiveMenu(){const{activeMenu:e}=this;return this._isDisabled?"none":"warning"===e?"suggestion":e}get activeMenu(){return"none"}set activeMenu(e){"warning"===e&&t(o.getLogger(this),"activeMenu","warning",{replacement:"Use the value 'suggestion' instead",version:"4.32",warnOnce:!0}),this._overrideIfSome("activeMenu",e)}get activeSource(){return this.viewModel?.activeSource}get activeSourceIndex(){return this.viewModel.activeSourceIndex}set activeSourceIndex(e){this.viewModel.activeSourceIndex=e}get allPlaceholder(){return this.viewModel.allPlaceholder}set allPlaceholder(e){this.viewModel.allPlaceholder=e}get allSources(){return this.viewModel.allSources}get autoNavigate(){return this.viewModel.autoNavigate}set autoNavigate(e){this.viewModel.autoNavigate=e}get autoSelect(){return this.viewModel.autoSelect}set autoSelect(e){this.viewModel.autoSelect=e}get defaultSources(){return this.viewModel.defaultSources}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return"search"}set icon(e){this._overrideIfSome("icon",e)}get includeDefaultSources(){return this.viewModel.includeDefaultSources}set includeDefaultSources(e){this.viewModel.includeDefaultSources=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get locationEnabled(){return this.viewModel.locationEnabled}set locationEnabled(e){this.viewModel.locationEnabled=e}get maxResults(){return this.viewModel.maxResults}set maxResults(e){this.viewModel.maxResults=e}get maxSuggestions(){return this.viewModel.maxSuggestions}set maxSuggestions(e){this.viewModel.maxSuggestions=e}get minSuggestCharacters(){return this.viewModel.minSuggestCharacters}set minSuggestCharacters(e){this.viewModel.minSuggestCharacters=e}get popupEnabled(){return this.viewModel.popupEnabled}set popupEnabled(e){this.viewModel.popupEnabled=e}get popupTemplate(){return this.viewModel.popupTemplate}set popupTemplate(e){this.viewModel.popupTemplate=e}get portal(){return this.viewModel?.portal}set portal(e){this.viewModel&&(this.viewModel.portal=e)}get resultGraphic(){return this.viewModel.resultGraphic}set resultGraphic(e){this.viewModel.resultGraphic=e}get resultGraphicEnabled(){return this.viewModel.resultGraphicEnabled}set resultGraphicEnabled(e){this.viewModel.resultGraphicEnabled=e}get results(){return this.viewModel.results}get searchAllEnabled(){return this.viewModel.searchAllEnabled}set searchAllEnabled(e){this.viewModel.searchAllEnabled=e}get searchTerm(){return this.viewModel.searchTerm}set searchTerm(e){this.viewModel.searchTerm=e}get selectedResult(){return this.viewModel.selectedResult}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get suggestions(){return this.viewModel.suggestions}get suggestionsEnabled(){return this.viewModel.suggestionsEnabled}set suggestionsEnabled(e){this.viewModel.suggestionsEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}clear(){this._locateFailed=!1,this.viewModel.clear()}focus(){this._handleFocus(),this._emitFocus()}blur(){this._autocompleteNode?.blur(),this._emitBlur()}async search(e){this._cancelQueries();const t=new AbortController,{signal:o}=t;this._searchController=t;try{const s=await this.viewModel.search(e,{signal:o});if(this._searchController!==t)return;return s?.numResults||(this._showNoResults=!0,this.activeMenu="suggestion"),this._searchController=null,s}catch(s){if(this._searchController!==t)return;return void(this._searchController=null)}}async suggest(e){this._cancelSuggest();const t=new AbortController,{signal:o}=t;this._suggestController=t;try{const s=await this.viewModel.suggest(e,null,{signal:o});if(this._suggestController!==t)return;return this._suggestController=null,s?.numResults&&(this.activeMenu="suggestion",this._scrollToTopSuggestion()),s}catch(s){return this._suggestController!==t||(this._suggestController=null),null}}render(){return S("div",{class:this.classes(p.base,_.widget)},S("div",{class:p.container},this._renderSourcesMenu(),this._renderForm()))}_handleInputKeydown(e){"Tab"===e.key&&this._cancelSuggest()}_emitFocus(){this.emit("search-focus")}_emitBlur(){this.emit("search-blur")}async _handleFocus(){this._focusAbortController?.abort(),this._focusAbortController=new AbortController;const e=this._focusAbortController.signal;await i(c(e)),this._autocompleteNode?.setFocus()}_renderSourcesMenu(){const{messages:e,_isDisabled:t,_effectiveActiveMenu:o}=this,{allSources:s,searchAllEnabled:r}=this.viewModel;return s.length>1?S("calcite-dropdown",{bind:this,class:p.dropdown,disabled:t,open:"source"===o,overlayPositioning:"fixed",onCalciteDropdownClose:this._handleSourceClose,onCalciteDropdownOpen:this._handleSourceOpen,onCalciteDropdownSelect:this._handleSourceSelect},S("calcite-button",{appearance:"outline-fill",iconStart:"caret-down",kind:"neutral",label:e.searchIn,slot:"trigger"}),S("calcite-dropdown-group",{groupTitle:e.searchIn},r?this._renderSource(m.ALL_INDEX):null,s.map(((e,t)=>this._renderSource(t))).toArray())):null}_renderUseCurrentLocation(){const{_currentLocationValue:e}=this;return S("calcite-autocomplete-item",{heading:this.messages.useCurrentLocation,iconStart:"gps-on",key:e,value:e})}_handleAutocompleteCreate(e){this._autocompleteNode=e}_handleCalciteAutocompleteTextInput(e){const t=e.target.inputValue;t!==this.viewModel.searchTerm&&(this.viewModel.searchTerm=t,t||this.clear(),this.suggest())}_handleAutocompleteOpen(){this.activeMenu="suggestion"}_handleAutocompleteClose(){"suggestion"===this.activeMenu&&(this.activeMenu="none")}_handleCalciteAutocompleteChange(e){const t=e.target.value;if(t===this._currentLocationValue)return void this._useCurrentLocation();const o=this.viewModel.suggestions?.flatMap((e=>e.results??[])),s=o?.find((e=>`${e.key}`==`${t}`));s&&this.search(s)}_renderAutocomplete(){const{_effectiveActiveMenu:e,messages:t,_isDisabled:o}=this,{maxInputLength:s,placeholder:r,searchTerm:i,state:l}=this.viewModel,n=this.label??t.searchButtonTitle??"";return S("calcite-autocomplete",{afterCreate:this._handleAutocompleteCreate,autocomplete:"off",bind:this,class:p.autocomplete,disabled:o,icon:this.icon,inputValue:i,label:n,loading:"searching"===l,maxLength:s,name:this.id,onblur:this._emitBlur,onfocus:this._emitFocus,onkeydown:this._handleInputKeydown,open:"suggestion"===e,overlayPositioning:"fixed",placeholder:r,title:i?"":r,onCalciteAutocompleteChange:this._handleCalciteAutocompleteChange,onCalciteAutocompleteClose:this._handleAutocompleteClose,onCalciteAutocompleteOpen:this._handleAutocompleteOpen,onCalciteAutocompleteTextChange:this._handleCalciteAutocompleteTextInput,onCalciteAutocompleteTextInput:this._handleCalciteAutocompleteTextInput},this._renderSuggestions(),this._renderNotices())}_renderForm(){return S("form",{bind:this,class:p.form,disabled:this._isDisabled,key:p.form,onsubmit:this._formSubmit,role:"search"},this._renderAutocomplete())}_renderSuggestGroup(e){return e.results?.map((e=>this._renderSuggestion(e)))}_renderSuggestions(){const{suggestions:e}=this.viewModel;return this._showNoResults?null:this._showCurrentLocation?this._renderUseCurrentLocation():e?.map((e=>this._renderSuggestResults(e)))}_renderSuggestResults(e){const{allSources:t,activeSourceIndex:o}=this.viewModel,{sourceIndex:s}=e,r=e.results?.length,i=t.length>1&&o===m.ALL_INDEX,l=this._getSourceName(s);return r&&i?S("calcite-autocomplete-item-group",{heading:l,key:`suggestion-group-${l}-${s}`},this._renderSuggestGroup(e)):this._renderSuggestGroup(e)}_renderSuggestion(e){return S("calcite-autocomplete-item",{heading:e.text??this.messages.untitledResult,key:`suggestion_${e.key}`,value:`${e.key}`})}_renderSource(e){const t=this._getSourceName(e);return S("calcite-dropdown-item",{"data-source-index":`${e}`,key:`source-${t}-${e}`,selected:e===this.viewModel.activeSourceIndex},t)}_renderNoResultsWarning(e){const{messages:t}=this,o=e?b(t.noResultsFoundForValue,{value:`"${e}"`}):t.noResultsFound;return S("calcite-notice",{icon:"exclamation-mark-triangle",key:"no-results-warning",kind:"warning",open:!0,slot:"content-bottom"},S("div",{slot:"title"},t.noResults),S("div",{slot:"message"},o))}_renderLocateError(){return S("calcite-notice",{icon:"exclamation-mark-circle",key:"locate-warning",kind:"danger",open:!0,slot:"content-bottom"},S("div",{slot:"message"},this.messages.locateError))}_renderNotices(){return this._locateFailed?this._renderLocateError():this._showNoResults?this._renderNoResultsWarning(this._lastSearchTerm??this.viewModel.searchTerm):null}async _useCurrentLocation(){this._cancelQueries();const e=new AbortController,{signal:t}=e;this._searchController=e;try{await this.viewModel.searchNearby({signal:t})}catch(o){l(o)||(this._locateFailed=!0,this.activeMenu="suggestion")}finally{this._searchController=null}}_handleSourceOpen(){this.activeMenu="source"}_handleSourceClose(){"source"===this.activeMenu&&(this.activeMenu="none")}_handleSourceSelect(e){const t=e.target.selectedItems[0].getAttribute("data-source-index");t&&(this.viewModel.activeSourceIndex=parseInt(t,10))}_cancelSuggest(){this.activeMenu="none",this._locateFailed=!1,this._showNoResults=!1,this._suggestController=r(this._suggestController)}_cancelQueries(){this._cancelSuggest(),this._searchController=r(this._searchController)}_scrollToTopSuggestion(){this._autocompleteNode?.scrollContentTo({top:0})}_formSubmit(e){e.preventDefault(),this.activeMenu="none",this._lastSearchTerm=this.searchTerm,this.searchTerm&&this.search()}_getSourceName(e){const{messages:t}=this,{allSources:o}=this.viewModel,s=o.at(e);return e===m.ALL_INDEX?t.all:s?.name||t.untitledSource}};e([u()],y.prototype,"_locateFailed",void 0),e([u()],y.prototype,"_showNoResults",void 0),e([u()],y.prototype,"_isDisabled",null),e([u()],y.prototype,"_showCurrentLocation",null),e([u()],y.prototype,"_effectiveActiveMenu",null),e([u()],y.prototype,"activeMenu",null),e([u({readOnly:!0})],y.prototype,"activeSource",null),e([u()],y.prototype,"activeSourceIndex",null),e([u()],y.prototype,"allPlaceholder",null),e([u({readOnly:!0})],y.prototype,"allSources",null),e([u()],y.prototype,"autoNavigate",null),e([u()],y.prototype,"autoSelect",null),e([u({readOnly:!0})],y.prototype,"defaultSources",null),e([u()],y.prototype,"disabled",void 0),e([u()],y.prototype,"goToOverride",null),e([u()],y.prototype,"icon",null),e([u()],y.prototype,"includeDefaultSources",null),e([u()],y.prototype,"label",null),e([u()],y.prototype,"locationEnabled",null),e([u()],y.prototype,"maxResults",null),e([u()],y.prototype,"maxSuggestions",null),e([u(),w("esri/widgets/Search/t9n/Search")],y.prototype,"messages",void 0),e([u(),w("esri/t9n/common")],y.prototype,"messagesCommon",void 0),e([u()],y.prototype,"minSuggestCharacters",null),e([u()],y.prototype,"popupEnabled",null),e([u()],y.prototype,"popupTemplate",null),e([u()],y.prototype,"portal",null),e([u()],y.prototype,"resultGraphic",null),e([u()],y.prototype,"resultGraphicEnabled",null),e([u({readOnly:!0})],y.prototype,"results",null),e([u()],y.prototype,"searchAllEnabled",null),e([u()],y.prototype,"searchTerm",null),e([u({readOnly:!0})],y.prototype,"selectedResult",null),e([u()],y.prototype,"sources",null),e([u({readOnly:!0})],y.prototype,"suggestions",null),e([u()],y.prototype,"suggestionsEnabled",null),e([u()],y.prototype,"view",null),e([M(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),u({type:m})],y.prototype,"viewModel",void 0),y=e([h("esri.widgets.Search")],y);const C=y;export{C as default};
package/widgets/Widget.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{byId as t}from"../core/domUtils.js";import r from"../core/Evented.js";import{isEventedOrEventTarget as s,on as o}from"../core/events.js";import"../core/has.js";import{clone as i}from"../core/lang.js";import n from"../core/Logger.js";import{destroyMaybe as a}from"../core/maybe.js";import l from"../core/Promise.js";import{debounce as c,throwIfNotAbortError as d}from"../core/promiseUtils.js";import{watch as p,when as h,syncAndInitial as u}from"../core/reactiveUtils.js";import{generateUUID as m}from"../core/uuid.js";import{property as g}from"../core/accessorSupport/decorators/property.js";import{cast as y}from"../core/accessorSupport/decorators/cast.js";import{subclass as v}from"../core/accessorSupport/decorators/subclass.js";import{runTracked as f}from"../core/accessorSupport/tracking.js";import{SimpleTrackingTarget as _}from"../core/accessorSupport/tracking/SimpleTrackingTarget.js";import{createAdvancedProjector as j}from"../libs/maquette-advanced-projector/projector.js";import{commitAssetPath as b}from"./support/componentsUtils.js";import{isWidgetConstructor as w,processWidgets as S}from"./support/jsxWidgetSupport.js";import{widgetSymbol as R,widgetTestDataSymbol as P}from"./support/symbols.js";import{registerLoading as k}from"./support/tests.js";import{getVNodeCache as E,setVNodeCache as C,deleteVNodeCache as F,clearVNodeCache as L}from"./support/vnodeCache.js";import{classes as T}from"./support/widgetUtils.js";import{onLocaleChange as I}from"../intl/locale.js";import{fetchMessageBundle as N}from"../intl/messages.js";var $;const U="esri.widgets.Widget";let H=0;function z(e,t){const r=Object.prototype.hasOwnProperty;for(const s in t)r.call(t,s)&&r.call(e,s)&&(null!=e[s]&&null!=t[s]&&"object"==typeof e[s]&&"object"==typeof t[s]?z(e[s],t[s]):e[s]=t[s]);return e}const x=j({postProcessProjectionOptions(e){const t=e.eventHandlerInterceptor,r=/capture$/i;e.eventHandlerInterceptor=(e,s,o,i)=>{const n=t?.(e,s,o,i),a=r.test(e);if(!((e=e.replace(r,"")).toLowerCase()in o)||a){const t=e[2].toLowerCase()+e.slice(3),r=e=>n?.call(o,e);o.addEventListener(t,r,a);const s=()=>o.removeEventListener(t,r,a),l=i.afterRemoved;i.afterRemoved=e=>{l?.(e),s()}}return n}},handleInterceptedEvent(e,t,r,s){const{eventPhase:o,type:i}=s,n=o===Event.CAPTURING_PHASE;let a=`on${i}${n?"capture":""}`;const l=t.properties;(l&&a in l||(a=`on${i[0].toUpperCase()}${i.slice(1)}${n?"Capture":""}`,l&&a in l))&&(L(),e.scheduleRender(),l[a].call(l.bind||r,s))}});let A=!1,M=class extends(l.EsriPromiseMixin(r.EventedAccessor)){static{this[$]=!0}constructor(e,t){super(e,t),this._attached=!1,this._projector=x,this._readyForTrueRender=!1,this.key=this,this.autoRenderingEnabled=!0,this._loadLocale=c((async()=>{if(this._messageBundleProps?.length){const e=await Promise.allSettled(this._messageBundleProps.map((async({bundlePath:e,propertyName:t})=>{if(this.destroyed)return;let r=await N(e);this.uiStrings&&Object.keys(this.uiStrings)&&(r=z(i(r),this.uiStrings)),this[t]=r})));if(this.destroyed)return;for(const t of e)"rejected"===t.status&&n.getLogger(this).error("widget-intl:locale-error",this.declaredClass,t.reason)}await this.loadLocale()})),b();const r="esri-widget-uid-"+m(),s=this.render.bind(this);this._trackingTarget=new _((()=>{this.autoRenderingEnabled&&this.scheduleRender()}));const o=()=>({vnodeSelector:"div",properties:{key:`${r}-hidden`,class:"",styles:{display:"none"}},domNode:null,children:void 0,text:void 0}),a=()=>{if(!this._readyForTrueRender||this.destroyed)return null;const e=s()??o(),t=e.properties??={};if(t.key??=r,w(e.vnodeSelector)){if(!this.visible)return o()}else this.visible?t.styles||(t.styles={}):(t.class="",t.styles={display:"none"}),t.styles.display??="";let i=0;return e.children?.forEach((e=>{w(e.vnodeSelector)||(e.properties??={},e.properties.key??=`${this.id}--${i++}`)})),S(this,e)};this.render=()=>{if(A)return a();let e=E(this)??null;if(e)return e;this._trackingTarget.clear(),A=!0;try{e=f(this._trackingTarget,a)}catch(t){throw n.getLogger(this).error(t),t}finally{A=!1}return e&&C(this,e),e};const l=this.beforeFirstRender();l?this._resourcesFetch=l.then((()=>{this._readyForTrueRender=!0,this._postInitialize()})):(this._resourcesFetch=Promise.resolve().then((()=>{this._postInitialize()})),this._readyForTrueRender=!0),this.addResolvingPromise(this._resourcesFetch),k(this._resourcesFetch)}normalizeCtorArgs(e,t){const r={...e};return t&&(r.container=t),r}postInitialize(){}beforeFirstRender(){const e=this.loadDependencies();return this._messageBundleProps?.length||e?Promise.all([e,this._loadLocale()]).then((()=>{})).catch(d):null}loadDependencies(){return null}loadLocale(){return null}destroy(){this.destroyed||(a(this._trackingTarget),a(this.viewModel),this._detach(this.container),this._set("container",null),this._emitter.clear(),this.render=()=>null,this._projector=null,F(this))}set container(e){this._get("container")||this._set("container",e)}castContainer(e){return t(e)}get domNode(){return this.container}set domNode(e){this.container=e}get icon(){return null}set icon(e){this._overrideIfSome("icon",e)}get id(){return this._get("id")||this.container?.id||Date.now().toString(16)+"-widget-"+H++}set id(e){e&&this._set("id",e)}get label(){return this.declaredClass.split(".").pop()}set label(e){this._overrideIfSome("label",e)}get renderable(){return this._resourcesFetch}get visible(){return this._get("visible")}set visible(e){this._set("visible",e)}get[($=R,P)](){return{projector:this._projector}}static{this.vnodeSelector="div"}render(){throw new Error("not implemented")}scheduleRender(){this.destroyed||(F(this),this._projector.scheduleRender())}classes(...e){return T.apply(this,e)}renderNow(){F(this),this._projector.renderNow()}_postInitialize(){if(this.destroyed)return;this.scheduleRender(),this._delegatedEventNames?.length&&this.addHandles(p((()=>this.viewModel),((e,t)=>{t&&this.removeHandles("delegated-events"),e&&s(e)&&this.addHandles(this._delegatedEventNames.map((t=>o(e,t,(e=>{this.emit(t,e)})))),"delegated-events")}),u)),this.postInitialize();const e=async()=>{await this._loadLocale().catch(d),this.scheduleRender()};this.addHandles([I(e),p((()=>this.uiStrings),e),h((()=>this.container),(e=>{this.destroyed||this._attach(e)}),{initial:!0,once:!0})])}_attach(e){e&&(this._projector.merge(e,this.render),this._attached=!0)}_detach(e){this._attached&&(this._projector.detach(this.render),this._attached=!1),e?.parentNode?.removeChild(e)}};e([g()],M.prototype,"_readyForTrueRender",void 0),e([g({value:null})],M.prototype,"container",null),e([y("container")],M.prototype,"castContainer",null),e([g()],M.prototype,"icon",null),e([g()],M.prototype,"id",null),e([g()],M.prototype,"label",null),e([g()],M.prototype,"renderable",null),e([g()],M.prototype,"uiStrings",void 0),e([g()],M.prototype,"viewModel",void 0),e([g({value:!0})],M.prototype,"visible",null),e([g()],M.prototype,"key",void 0),e([g()],M.prototype,"children",void 0),e([g()],M.prototype,"afterCreate",void 0),e([g()],M.prototype,"afterUpdate",void 0),e([g()],M.prototype,"afterRemoved",void 0),M=e([v(U)],M);const O=M;export{O as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{byId as t}from"../core/domUtils.js";import r from"../core/Evented.js";import{isEventedOrEventTarget as s,on as o}from"../core/events.js";import"../core/has.js";import{clone as i}from"../core/lang.js";import n from"../core/Logger.js";import{destroyMaybe as a}from"../core/maybe.js";import l from"../core/Promise.js";import{debounce as d,throwIfNotAbortError as c}from"../core/promiseUtils.js";import{watch as h,when as p,syncAndInitial as u}from"../core/reactiveUtils.js";import{generateUUID as m}from"../core/uuid.js";import{property as g}from"../core/accessorSupport/decorators/property.js";import{cast as y}from"../core/accessorSupport/decorators/cast.js";import{subclass as v}from"../core/accessorSupport/decorators/subclass.js";import{runTracked as f}from"../core/accessorSupport/tracking.js";import{SimpleTrackingTarget as _}from"../core/accessorSupport/tracking/SimpleTrackingTarget.js";import{createAdvancedProjector as j}from"../libs/maquette-advanced-projector/projector.js";import{commitAssetPath as b}from"./support/componentsUtils.js";import{isWidgetConstructor as w,processWidgets as S}from"./support/jsxWidgetSupport.js";import{widgetSymbol as R,widgetTestDataSymbol as P}from"./support/symbols.js";import{registerAlive as k,registerLoading as E}from"./support/tests.js";import{getVNodeCache as C,setVNodeCache as F,deleteVNodeCache as L,clearVNodeCache as T}from"./support/vnodeCache.js";import{classes as I}from"./support/widgetUtils.js";import{onLocaleChange as N}from"../intl/locale.js";import{fetchMessageBundle as H}from"../intl/messages.js";var $;const U="esri.widgets.Widget";let z=0;function x(e,t){const r=Object.prototype.hasOwnProperty;for(const s in t)r.call(t,s)&&r.call(e,s)&&(null!=e[s]&&null!=t[s]&&"object"==typeof e[s]&&"object"==typeof t[s]?x(e[s],t[s]):e[s]=t[s]);return e}const A=j({postProcessProjectionOptions(e){const t=e.eventHandlerInterceptor,r=/capture$/i;e.eventHandlerInterceptor=(e,s,o,i)=>{const n=t?.(e,s,o,i),a=r.test(e);if(!((e=e.replace(r,"")).toLowerCase()in o)||a){const t=e[2].toLowerCase()+e.slice(3),r=e=>n?.call(o,e);o.addEventListener(t,r,a);const s=()=>o.removeEventListener(t,r,a),l=i.afterRemoved;i.afterRemoved=e=>{l?.(e),s()}}return n}},handleInterceptedEvent(e,t,r,s){const{eventPhase:o,type:i}=s,n=o===Event.CAPTURING_PHASE;let a=`on${i}${n?"capture":""}`;const l=t.properties;(l&&a in l||(a=`on${i[0].toUpperCase()}${i.slice(1)}${n?"Capture":""}`,l&&a in l))&&(T(),e.scheduleRender(),l[a].call(l.bind||r,s))}});let M=!1,O=class extends(l.EsriPromiseMixin(r.EventedAccessor)){static{this[$]=!0}constructor(e,t){super(e,t),this._attached=!1,this._projector=A,this._readyForTrueRender=!1,this.key=this,this.autoRenderingEnabled=!0,this._loadLocale=d((async()=>{if(this._messageBundleProps?.length){const e=await Promise.allSettled(this._messageBundleProps.map((async({bundlePath:e,propertyName:t})=>{if(this.destroyed)return;let r=await H(e);this.uiStrings&&Object.keys(this.uiStrings)&&(r=x(i(r),this.uiStrings)),this[t]=r})));if(this.destroyed)return;for(const t of e)"rejected"===t.status&&n.getLogger(this).error("widget-intl:locale-error",this.declaredClass,t.reason)}await this.loadLocale()})),this.addHandles(k()),b();const r="esri-widget-uid-"+m(),s=this.render.bind(this);this._trackingTarget=new _((()=>{this.autoRenderingEnabled&&this.scheduleRender()}));const o=()=>({vnodeSelector:"div",properties:{key:`${r}-hidden`,class:"",styles:{display:"none"}},domNode:null,children:void 0,text:void 0}),a=()=>{if(!this._readyForTrueRender||this.destroyed)return null;const e=s()??o(),t=e.properties??={};if(t.key??=r,w(e.vnodeSelector)){if(!this.visible)return o()}else this.visible?t.styles||(t.styles={}):(t.class="",t.styles={display:"none"}),t.styles.display??="";let i=0;return e.children?.forEach((e=>{w(e.vnodeSelector)||(e.properties??={},e.properties.key??=`${this.id}--${i++}`)})),S(this,e)};this.render=()=>{if(M)return a();let e=C(this)??null;if(e)return e;this._trackingTarget.clear(),M=!0;try{e=f(this._trackingTarget,a)}catch(t){throw n.getLogger(this).error(t),t}finally{M=!1}return e&&F(this,e),e};const l=this.beforeFirstRender();l?this._resourcesFetch=l.then((()=>{this._readyForTrueRender=!0,this._postInitialize()})):(this._resourcesFetch=Promise.resolve().then((()=>{this._postInitialize()})),this._readyForTrueRender=!0),this.addResolvingPromise(this._resourcesFetch),E(this._resourcesFetch)}normalizeCtorArgs(e,t){const r={...e};return t&&(r.container=t),r}postInitialize(){}beforeFirstRender(){const e=this.loadDependencies();return this._messageBundleProps?.length||e?Promise.all([e,this._loadLocale()]).then((()=>{})).catch(c):null}loadDependencies(){return null}loadLocale(){return null}destroy(){this.destroyed||(a(this._trackingTarget),a(this.viewModel),this._detach(this.container),this._set("container",null),this._emitter.clear(),this.render=()=>null,this._projector=null,L(this))}set container(e){this._get("container")||this._set("container",e)}castContainer(e){return t(e)}get domNode(){return this.container}set domNode(e){this.container=e}get icon(){return null}set icon(e){this._overrideIfSome("icon",e)}get id(){return this._get("id")||this.container?.id||Date.now().toString(16)+"-widget-"+z++}set id(e){e&&this._set("id",e)}get label(){return this.declaredClass.split(".").pop()}set label(e){this._overrideIfSome("label",e)}get renderable(){return this._resourcesFetch}get visible(){return this._get("visible")}set visible(e){this._set("visible",e)}get[($=R,P)](){return{projector:this._projector}}static{this.vnodeSelector="div"}render(){throw new Error("not implemented")}scheduleRender(){this.destroyed||(L(this),this._projector.scheduleRender())}classes(...e){return I.apply(this,e)}renderNow(){L(this),this._projector.renderNow()}_postInitialize(){if(this.destroyed)return;this.scheduleRender(),this._delegatedEventNames?.length&&this.addHandles(h((()=>this.viewModel),((e,t)=>{t&&this.removeHandles("delegated-events"),e&&s(e)&&this.addHandles(this._delegatedEventNames.map((t=>o(e,t,(e=>{this.emit(t,e)})))),"delegated-events")}),u)),this.postInitialize();const e=async()=>{await this._loadLocale().catch(c),this.scheduleRender()};this.addHandles([N(e),h((()=>this.uiStrings),e)]),this.addHandles(p((()=>this.container),(e=>{this.destroyed||this._attach(e)}),{initial:!0,once:!0}))}_attach(e){e&&(this._projector.merge(e,this.render),this._attached=!0)}_detach(e){this._attached&&(this._projector.detach(this.render),this._attached=!1),e?.parentNode?.removeChild(e)}};e([g()],O.prototype,"_readyForTrueRender",void 0),e([g({value:null})],O.prototype,"container",null),e([y("container")],O.prototype,"castContainer",null),e([g()],O.prototype,"icon",null),e([g()],O.prototype,"id",null),e([g()],O.prototype,"label",null),e([g()],O.prototype,"renderable",null),e([g()],O.prototype,"uiStrings",void 0),e([g()],O.prototype,"viewModel",void 0),e([g({value:!0})],O.prototype,"visible",null),e([g()],O.prototype,"key",void 0),e([g()],O.prototype,"children",void 0),e([g()],O.prototype,"afterCreate",void 0),e([g()],O.prototype,"afterUpdate",void 0),e([g()],O.prototype,"afterRemoved",void 0),O=e([v(U)],O);const B=O;export{B as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- const e=new Set;function n(n){e.add(n),n.finally((()=>e.delete(n)))}function t(){return e.size>0}export{t as hasPendingLoading,n as registerLoading};
5
+ import{makeHandle as e}from"../../core/handleUtils.js";import"../../core/has.js";const t=new Set;function n(e){t.add(e),e.finally((()=>t.delete(e)))}function r(){return t.size>0}const i=new Map;function o(t){return e()}function s(){const e=Array.from(i.values())[0];i.clear();const t=i.size;if(0!==t)throw new Error(`Still ${t} alive widget instances.${e?` For example:\n${e}`:" Set enableLiveTracing in esri/widgets/support/tests.ts to include a stack trace."}`)}export{s as assertNoAlive,r as hasPendingLoading,o as registerAlive,n as registerLoading};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7982],{4513:(e,a,r)=>{r.d(a,{S:()=>t});const t={BingMapsLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(1319)]).then(r.bind(r,17029))).default,BuildingSceneLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(690),r.e(2944),r.e(958),r.e(4654),r.e(6298),r.e(1961)]).then(r.bind(r,88303))).default,CSVLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(9070)]).then(r.bind(r,72256))).default,CatalogLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(4796),r.e(4111),r.e(8506),r.e(364),r.e(8628),r.e(2593),r.e(2696),r.e(4178)]).then(r.bind(r,79003))).default,DimensionLayer:async()=>(await Promise.all([r.e(6131),r.e(3813)]).then(r.bind(r,71493))).default,ElevationLayer:async()=>(await Promise.all([r.e(6131),r.e(9953),r.e(9186),r.e(3816)]).then(r.bind(r,68611))).default,FeatureLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(5483)]).then(r.bind(r,13600))).default,GeoJSONLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4927)]).then(r.bind(r,17625))).default,GeoRSSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(4995)]).then(r.bind(r,63201))).default,GroupLayer:async()=>(await Promise.all([r.e(6131),r.e(2165),r.e(8256)]).then(r.bind(r,85989))).default,ImageryLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1956),r.e(9953),r.e(364),r.e(984),r.e(2439),r.e(272)]).then(r.bind(r,58434))).default,ImageryTileLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(9953),r.e(984),r.e(6049),r.e(2439),r.e(7677),r.e(5943)]).then(r.bind(r,35943))).default,IntegratedMesh3DTilesLayer:async()=>(await Promise.all([r.e(6131),r.e(6126)]).then(r.bind(r,61528))).default,IntegratedMeshLayer:async()=>(await Promise.all([r.e(6131),r.e(6298),r.e(9655)]).then(r.bind(r,84453))).default,KMLLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(5026)]).then(r.bind(r,79465))).default,KnowledgeGraphLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(7339),r.e(8613),r.e(7475),r.e(2083),r.e(8692)]).then(r.bind(r,28692))).default,LineOfSightLayer:async()=>(await Promise.all([r.e(6131),r.e(690),r.e(1056),r.e(9695)]).then(r.bind(r,49695))).default,LinkChartLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(7339),r.e(8613),r.e(7475),r.e(2083),r.e(1728)]).then(r.bind(r,71728))).default,MapImageLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(4796),r.e(4111),r.e(364),r.e(4341),r.e(7656),r.e(6928)]).then(r.bind(r,7656))).default,MapNotesLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(7475),r.e(2936)]).then(r.bind(r,96953))).default,MediaLayer:async()=>(await Promise.all([r.e(6131),r.e(2763)]).then(r.bind(r,19647))).default,OGCFeatureLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(4796),r.e(3029),r.e(2905),r.e(4934)]).then(r.bind(r,87152))).default,OpenStreetMapLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(5920),r.e(349)]).then(r.bind(r,40349))).default,OrientedImageryLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(4111),r.e(8506),r.e(3600),r.e(9835)]).then(r.bind(r,97927))).default,PointCloudLayer:async()=>(await Promise.all([r.e(6131),r.e(8948),r.e(7984),r.e(6742)]).then(r.bind(r,76742))).default,RouteLayer:async()=>(await Promise.all([r.e(6131),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(7634)]).then(r.bind(r,64185))).default,SceneLayer:async()=>(await Promise.all([r.e(6131),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(4796),r.e(690),r.e(2944),r.e(958),r.e(4654),r.e(6298),r.e(6462)]).then(r.bind(r,13899))).default,StreamLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(4796),r.e(3029),r.e(505)]).then(r.bind(r,60683))).default,SubtypeGroupLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1956),r.e(4796),r.e(4111),r.e(8506),r.e(1162)]).then(r.bind(r,59929))).default,TileLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(4796),r.e(4111),r.e(364),r.e(9186),r.e(4341),r.e(8535)]).then(r.bind(r,71756))).default,UnknownLayer:async()=>(await r.e(146).then(r.bind(r,146))).default,UnsupportedLayer:async()=>(await r.e(5165).then(r.bind(r,45165))).default,VectorTileLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(9186),r.e(9949),r.e(5013),r.e(4060)]).then(r.bind(r,48757))).default,VideoLayer:async()=>(await r.e(6875).then(r.bind(r,86875))).default,ViewshedLayer:async()=>(await Promise.all([r.e(6131),r.e(690),r.e(1056),r.e(6650)]).then(r.bind(r,96650))).default,VoxelLayer:async()=>(await Promise.all([r.e(6131),r.e(8948),r.e(6183)]).then(r.bind(r,16183))).default,WCSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(9953),r.e(984),r.e(6049),r.e(2439),r.e(7677),r.e(9547)]).then(r.bind(r,19547))).default,WFSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(13),r.e(5055),r.e(1214),r.e(1956),r.e(9953),r.e(4796),r.e(3029),r.e(7396)]).then(r.bind(r,16350))).default,WMSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(8948),r.e(2106),r.e(5721),r.e(1904)]).then(r.bind(r,51904))).default,WMTSLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(5920),r.e(309)]).then(r.bind(r,20309))).default,WebTileLayer:async()=>(await Promise.all([r.e(6131),r.e(8219),r.e(5920)]).then(r.bind(r,47314))).default}},23154:(e,a,r)=>{r.d(a,{K:()=>d,Q:()=>l});var t=r(24183);const n=new Set(["Catalog Layer","Feature Layer","Oriented Imagery Layer"]);async function l(e,a){const{loadContext:r,...n}=a||{},l=r?await r.fetchServiceMetadata(e,n):await(0,t.V)(e,n);y(l),o(l);const s={serviceJSON:l};if((l.currentVersion??0)<10.5)return s;const i=`${e}/layers`,c=r?await r.fetchServiceMetadata(i,n):await(0,t.V)(i,n);return y(c),o(c),s.layersJSON={layers:c.layers,tables:c.tables},s}function s(e){const{type:a}=e;return!!a&&n.has(a)}function i(e){return"Table"===e.type}function o(e){e.layers=e.layers?.filter(s),e.tables=e.tables?.filter(i)}function c(e){e.type||="Feature Layer"}function u(e){e.type||="Table"}function y(e){e.layers?.forEach(c),e.tables?.forEach(u)}function d(e){switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer"}return"FeatureLayer"}},24183:(e,a,r)=>{r.d(a,{V:()=>n});var t=r(78888);async function n(e,a){const{data:r}=await(0,t.A)(e,{responseType:"json",query:{f:"json",...a?.customParameters,token:a?.apiKey}});return r}},27982:(e,a,r)=>{r.r(a),r.d(a,{fromUrl:()=>d});var t=r(49186),n=r(84952),l=r(60694),s=r(92009),i=r(23154),o=r(83531),c=r(4513),u=r(24183);const y={FeatureLayer:!0,SceneLayer:!0};async function d(e){const{properties:a,url:t}=e,n={...a,url:t},l=await m(t,a?.customParameters),{Constructor:s,layerId:i,sourceJSON:o,parsedUrl:c,layers:u,tables:y}=l;if(u.length+y.length===0)return null!=i&&(n.layerId=i),null!=o&&(n.sourceJSON=o),new s(n);const d=new(0,(await Promise.all([r.e(6131),r.e(2165)]).then(r.bind(r,85989))).default)({title:c.title});return await async function(e,a,r){const t=a.sublayerConstructorProvider;for(const{id:n,serverUrl:l}of a.layers){const s=f(a.sublayerInfos,n),i=w(l,n,s,(s&&t?.(s))??a.Constructor,r);e.add(i)}if(a.tables.length){const t=await p("FeatureLayer");a.tables.forEach((({id:n,serverUrl:l})=>{const s=w(l,n,f(a.tableInfos,n),t,r);e.tables.add(s)}))}}(d,l,n),d}function f(e,a){return e?e.find((({id:e})=>e===a)):null}function w(e,a,r,t,n){const l={...n,layerId:a};return null!=e&&(l.url=e),null!=r&&(l.sourceJSON=r),"sublayerTitleMode"in t.prototype&&(l.sublayerTitleMode="service-name"),new t(l)}async function m(e,a){let r=(0,l.qg)(e);if(null==r&&(r=await async function(e,a){const r=await(0,u.V)(e,{customParameters:a});let t=null,s=null;const i=r.type;if("Feature Layer"===i||"Table"===i?(t="FeatureServer",s=r.id??null):"indexedVector"===i?t="VectorTileServer":r.hasOwnProperty("mapName")?t="MapServer":r.hasOwnProperty("bandCount")&&r.hasOwnProperty("pixelSizeX")?t="ImageServer":r.hasOwnProperty("maxRecordCount")&&r.hasOwnProperty("allowGeometryUpdates")?t="FeatureServer":r.hasOwnProperty("streamUrls")?t="StreamServer":h(r)?(t="SceneServer",s=r.id):r.hasOwnProperty("layers")&&h(r.layers?.[0])&&(t="SceneServer"),!t)return null;const o=null!=s?(0,l.iz)(e):null;return{title:null!=o&&r.name||(0,n.e7)(e),serverType:t,sublayer:s,url:{path:null!=o?o.serviceUrl:(0,n.An)(e).path}}}(e,a)),null==r)throw new t.A("arcgis-layers:url-mismatch","The url '${url}' is not a valid arcgis resource",{url:e});const{serverType:c,sublayer:d}=r;let f;const w={FeatureServer:"FeatureLayer",KnowledgeGraphServer:"KnowledgeGraphLayer",StreamServer:"StreamLayer",VectorTileServer:"VectorTileLayer",VideoServer:"VideoLayer"},m="FeatureServer"===c,b="SceneServer"===c,v={parsedUrl:r,Constructor:null,layerId:m||b?d??void 0:void 0,layers:[],tables:[]};switch(c){case"MapServer":if(null!=d){const{type:r}=await(0,u.V)(e,{customParameters:a});switch(f="FeatureLayer",r){case"Catalog Layer":f="CatalogLayer";break;case"Catalog Dynamic Group Layer":throw new t.A("arcgis-layers:unsupported",`fromUrl() not supported for "${r}" layers`)}}else f=await async function(e,a){return(await(0,u.V)(e,{customParameters:a})).tileInfo}(e,a)?"TileLayer":"MapImageLayer";break;case"ImageServer":{const r=await(0,u.V)(e,{customParameters:a}),{tileInfo:t,cacheType:n}=r;f=t?"LERC"!==t?.format?.toUpperCase()||n&&"elevation"!==n.toLowerCase()?"ImageryTileLayer":"ElevationLayer":"ImageryLayer";break}case"SceneServer":{const e=await(0,u.V)(r.url.path,{customParameters:a});if(f="SceneLayer",e){const a=e?.layers;if("Voxel"===e?.layerType)f="VoxelLayer";else if(a?.length){const e=a[0]?.layerType;null!=e&&null!=o.XX[e]&&(f=o.XX[e])}}break}case"3DTilesServer":throw new t.A("arcgis-layers:unsupported","fromUrl() not supported for 3DTiles layers");case"FeatureServer":if(f="FeatureLayer",null!=d){const r=await(0,u.V)(e,{customParameters:a});v.sourceJSON=r,f=(0,i.K)(r.type)}break;default:f=w[c]}if(y[f]&&null==d){const r=await async function(e,a,r){let t,n,l=!1;switch(a){case"FeatureServer":{const a=await(0,i.Q)(e,{customParameters:r});l=!!a.layersJSON,t=a.layersJSON||a.serviceJSON;break}case"SceneServer":{const a=await async function(e,a){const r=await(0,u.V)(e,{customParameters:a}),t=r.layers?.[0];if(!t)return{serviceInfo:r};try{const{serverUrl:t}=await(0,s.L)(e),n=await(0,u.V)(t,{customParameters:a}).catch((()=>null));return n&&(r.tables=n.tables),{serviceInfo:r,tableServerUrl:t}}catch{return{serviceInfo:r}}}(e,r);t=a.serviceInfo,n=a.tableServerUrl;break}default:t=await(0,u.V)(e,{customParameters:r})}const o=t?.layers,c=t?.tables;return{layers:o?.map((e=>({id:e.id}))).reverse()||[],tables:c?.map((e=>({serverUrl:n,id:e.id}))).reverse()||[],layerInfos:l?o:[],tableInfos:l?c:[]}}(e,c,a);if(m&&(v.sublayerInfos=r.layerInfos,v.tableInfos=r.tableInfos),1!==r.layers.length+r.tables.length)v.layers=r.layers,v.tables=r.tables,m&&r.layerInfos?.length&&(v.sublayerConstructorProvider=await async function(e){if(!e.length)return;const a=new Set,r=[];for(const{type:t}of e)a.has(t)||(a.add(t),r.push(p((0,i.K)(t))));const t=await Promise.all(r),n=new Map;return Array.from(a).forEach(((e,a)=>{n.set(e,t[a])})),e=>n.get(e.type)}(r.layerInfos));else if(m||b){const e=r.layerInfos?.[0]??r.tableInfos?.[0];if(v.layerId=r.layers[0]?.id??r.tables[0]?.id,v.sourceJSON=e,m){const a=e?.type;f=(0,i.K)(a)}}}return v.Constructor=await p(f),v}function h(e){return null!=e&&e.hasOwnProperty("store")&&e.hasOwnProperty("id")&&"number"==typeof e.id}async function p(e){return(0,c.S[e])()}},92009:(e,a,r)=>{r.d(a,{L:()=>u});var t=r(70333),n=r(78888),l=r(49186),s=r(74887),i=r(60694),o=r(20655),c=r(80812);async function u(e,a){const r=(0,i.qg)(e);if(!r)throw new l.A("invalid-url","Invalid scene service url");const u={...a,sceneServerUrl:r.url.path,layerId:r.sublayer??void 0};if(u.sceneLayerItem??=await async function(e){const a=(await y(e)).serviceItemId;if(!a)return null;const r=new c.default({id:a,apiKey:e.apiKey}),l=await async function(e){const a=t.id?.findServerInfo(e.sceneServerUrl);if(a?.owningSystemUrl)return a.owningSystemUrl;const r=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const a=(await(0,n.A)(r,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(a)return a}catch(e){(0,s.QP)(e)}return null}(e);null!=l&&(r.portal=new o.A({url:l}));try{return await r.load({signal:e.signal})}catch(e){return(0,s.QP)(e),null}}(u),null==u.sceneLayerItem)return d(u.sceneServerUrl.replace("/SceneServer","/FeatureServer"),u);const f=await async function({sceneLayerItem:e,signal:a}){if(!e)return null;try{const r=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:a})).find((e=>"Feature Service"===e.type))||null;if(!r)return null;const t=new c.default({portal:r.portal,id:r.id});return await t.load(),t}catch(e){return(0,s.QP)(e),null}}(u);if(!f?.url)throw new l.A("related-service-not-found","Could not find feature service through portal item relationship");u.featureServiceItem=f;const w=await d(f.url,u);return w.portalItem=f,w}async function y(e){if(e.rootDocument)return e.rootDocument;const a={query:{f:"json",...e.customParameters,token:e.apiKey},responseType:"json",signal:e.signal};try{const r=await(0,n.A)(e.sceneServerUrl,a);e.rootDocument=r.data}catch{e.rootDocument={}}return e.rootDocument}async function d(e,a){const r=(0,i.qg)(e);if(!r)throw new l.A("invalid-feature-service-url","Invalid feature service url");const t=r.url.path,s=a.layerId;if(null==s)return{serverUrl:t};const o=y(a),c=a.featureServiceItem?await a.featureServiceItem.fetchData("json"):null,u=(c?.layers?.[0]||c?.tables?.[0])?.customParameters,d=e=>{const r={query:{f:"json",...u},responseType:"json",authMode:e,signal:a.signal};return(0,n.A)(t,r)},f=d("anonymous").catch((()=>d("no-prompt"))),[w,m]=await Promise.all([f,o]),h=m?.layers,p=w.data&&w.data.layers;if(!Array.isArray(p))throw new Error("expected layers array");if(Array.isArray(h)){for(let e=0;e<Math.min(h.length,p.length);e++)if(h[e].id===s)return{serverUrl:t,layerId:p[e].id}}else if(null!=s&&s<p.length)return{serverUrl:t,layerId:p[s].id};throw new Error("could not find matching associated sublayer")}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5613],{4513:(e,a,t)=>{t.d(a,{S:()=>r});const r={BingMapsLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(1319)]).then(t.bind(t,17029))).default,BuildingSceneLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(9953),t.e(4796),t.e(3029),t.e(4111),t.e(8506),t.e(3600),t.e(690),t.e(2944),t.e(958),t.e(4654),t.e(6298),t.e(1961)]).then(t.bind(t,88303))).default,CSVLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(9953),t.e(4796),t.e(3029),t.e(4111),t.e(8506),t.e(3600),t.e(9070)]).then(t.bind(t,72256))).default,CatalogLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(4796),t.e(4111),t.e(8506),t.e(364),t.e(8628),t.e(2593),t.e(2696),t.e(4178)]).then(t.bind(t,79003))).default,DimensionLayer:async()=>(await Promise.all([t.e(6131),t.e(3813)]).then(t.bind(t,71493))).default,ElevationLayer:async()=>(await Promise.all([t.e(6131),t.e(9953),t.e(9186),t.e(3816)]).then(t.bind(t,68611))).default,FeatureLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(9953),t.e(4796),t.e(3029),t.e(4111),t.e(8506),t.e(3600),t.e(5483)]).then(t.bind(t,13600))).default,GeoJSONLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(9953),t.e(4796),t.e(3029),t.e(4927)]).then(t.bind(t,17625))).default,GeoRSSLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(4995)]).then(t.bind(t,63201))).default,GroupLayer:async()=>(await Promise.all([t.e(6131),t.e(2165),t.e(8256)]).then(t.bind(t,85989))).default,ImageryLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1956),t.e(9953),t.e(364),t.e(984),t.e(2439),t.e(272)]).then(t.bind(t,58434))).default,ImageryTileLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(9953),t.e(984),t.e(6049),t.e(2439),t.e(7677),t.e(5943)]).then(t.bind(t,35943))).default,IntegratedMesh3DTilesLayer:async()=>(await Promise.all([t.e(6131),t.e(6126)]).then(t.bind(t,61528))).default,IntegratedMeshLayer:async()=>(await Promise.all([t.e(6131),t.e(6298),t.e(9655)]).then(t.bind(t,84453))).default,KMLLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(5026)]).then(t.bind(t,79465))).default,KnowledgeGraphLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(9953),t.e(4796),t.e(3029),t.e(7339),t.e(8613),t.e(7475),t.e(2083),t.e(8692)]).then(t.bind(t,28692))).default,LineOfSightLayer:async()=>(await Promise.all([t.e(6131),t.e(690),t.e(1056),t.e(9695)]).then(t.bind(t,49695))).default,LinkChartLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(9953),t.e(4796),t.e(3029),t.e(7339),t.e(8613),t.e(7475),t.e(2083),t.e(1728)]).then(t.bind(t,71728))).default,MapImageLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(4796),t.e(4111),t.e(364),t.e(4341),t.e(7656),t.e(6928)]).then(t.bind(t,7656))).default,MapNotesLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(9953),t.e(4796),t.e(3029),t.e(4111),t.e(8506),t.e(3600),t.e(7475),t.e(2936)]).then(t.bind(t,96953))).default,MediaLayer:async()=>(await Promise.all([t.e(6131),t.e(2763)]).then(t.bind(t,19647))).default,OGCFeatureLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(4796),t.e(3029),t.e(2905),t.e(4934)]).then(t.bind(t,87152))).default,OpenStreetMapLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(5920),t.e(349)]).then(t.bind(t,40349))).default,OrientedImageryLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(9953),t.e(4796),t.e(3029),t.e(4111),t.e(8506),t.e(3600),t.e(9835)]).then(t.bind(t,97927))).default,PointCloudLayer:async()=>(await Promise.all([t.e(6131),t.e(8948),t.e(7984),t.e(6742)]).then(t.bind(t,76742))).default,RouteLayer:async()=>(await Promise.all([t.e(6131),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(7634)]).then(t.bind(t,64185))).default,SceneLayer:async()=>(await Promise.all([t.e(6131),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(4796),t.e(690),t.e(2944),t.e(958),t.e(4654),t.e(6298),t.e(6462)]).then(t.bind(t,13899))).default,StreamLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(4796),t.e(3029),t.e(505)]).then(t.bind(t,60683))).default,SubtypeGroupLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1956),t.e(4796),t.e(4111),t.e(8506),t.e(1162)]).then(t.bind(t,59929))).default,TileLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(4796),t.e(4111),t.e(364),t.e(9186),t.e(4341),t.e(8535)]).then(t.bind(t,71756))).default,UnknownLayer:async()=>(await t.e(146).then(t.bind(t,146))).default,UnsupportedLayer:async()=>(await t.e(5165).then(t.bind(t,45165))).default,VectorTileLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(9186),t.e(9949),t.e(5013),t.e(4060)]).then(t.bind(t,48757))).default,VideoLayer:async()=>(await t.e(6875).then(t.bind(t,86875))).default,ViewshedLayer:async()=>(await Promise.all([t.e(6131),t.e(690),t.e(1056),t.e(6650)]).then(t.bind(t,96650))).default,VoxelLayer:async()=>(await Promise.all([t.e(6131),t.e(8948),t.e(6183)]).then(t.bind(t,16183))).default,WCSLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(9953),t.e(984),t.e(6049),t.e(2439),t.e(7677),t.e(9547)]).then(t.bind(t,19547))).default,WFSLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(13),t.e(5055),t.e(1214),t.e(1956),t.e(9953),t.e(4796),t.e(3029),t.e(7396)]).then(t.bind(t,16350))).default,WMSLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(8948),t.e(2106),t.e(5721),t.e(1904)]).then(t.bind(t,51904))).default,WMTSLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(5920),t.e(309)]).then(t.bind(t,20309))).default,WebTileLayer:async()=>(await Promise.all([t.e(6131),t.e(8219),t.e(5920)]).then(t.bind(t,47314))).default}},22429:(e,a,t)=>{t.d(a,{v:()=>n});var r=t(24183);class n{constructor(){this._serviceMetadatas=new Map,this._itemDatas=new Map}async fetchServiceMetadata(e,a){const t=this._serviceMetadatas.get(e);if(t)return t;const n=await(0,r.V)(e,a);return this._serviceMetadatas.set(e,n),n}async fetchItemData(e){const{id:a}=e;if(!a)return null;const{_itemDatas:t}=this;if(t.has(a))return t.get(a);const r=await e.fetchData();return t.set(a,r),r}async fetchCustomParameters(e,a){const t=await this.fetchItemData(e);return t&&"object"==typeof t&&(a?a(t):t.customParameters)||null}}},23154:(e,a,t)=>{t.d(a,{K:()=>d,Q:()=>s});var r=t(24183);const n=new Set(["Catalog Layer","Feature Layer","Oriented Imagery Layer"]);async function s(e,a){const{loadContext:t,...n}=a||{},s=t?await t.fetchServiceMetadata(e,n):await(0,r.V)(e,n);y(s),c(s);const i={serviceJSON:s};if((s.currentVersion??0)<10.5)return i;const l=`${e}/layers`,u=t?await t.fetchServiceMetadata(l,n):await(0,r.V)(l,n);return y(u),c(u),i.layersJSON={layers:u.layers,tables:u.tables},i}function i(e){const{type:a}=e;return!!a&&n.has(a)}function l(e){return"Table"===e.type}function c(e){e.layers=e.layers?.filter(i),e.tables=e.tables?.filter(l)}function u(e){e.type||="Feature Layer"}function o(e){e.type||="Table"}function y(e){e.layers?.forEach(u),e.tables?.forEach(o)}function d(e){switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer"}return"FeatureLayer"}},24183:(e,a,t)=>{t.d(a,{V:()=>n});var r=t(78888);async function n(e,a){const{data:t}=await(0,r.A)(e,{responseType:"json",query:{f:"json",...a?.customParameters,token:a?.apiKey}});return t}},45613:(e,a,t)=>{t.d(a,{fromItem:()=>d,n:()=>f});var r=t(49186),n=t(92009),s=t(23154),i=t(22429),l=t(83531),c=t(4513),u=t(80812),o=t(66964),y=t(10407);async function d(e){let{portalItem:a}=e;!a||a instanceof u.default||(a=new u.default(a));const t=await async function(e){await e.load();const a=new i.v;return async function(e){const a=e.className,t=c.S[a];return{constructor:await t(),properties:e.properties}}(await f(e,a))}(a);return new(0,t.constructor)({portalItem:a,...t.properties})}async function f(e,a){switch(e.type){case"3DTiles Service":return e.typeKeywords.includes("3DObject")?{className:"UnsupportedLayer"}:{className:"IntegratedMesh3DTilesLayer"};case"CSV":return{className:"CSVLayer"};case"Feature Collection":return async function(e){await e.load();const a=(0,y.Y)(e,"Map Notes"),t=(0,y.Y)(e,"Markup");if(a||t)return{className:"MapNotesLayer"};if((0,y.Y)(e,"Route Layer"))return{className:"RouteLayer"};const r=await e.fetchData();return 1===(0,o.XH)(r)?{className:"FeatureLayer"}:{className:"GroupLayer"}}(e);case"Feature Service":return async function(e,a){const t=await m(e,a);if("object"==typeof t){const{sourceJSON:e,className:a}=t,r={sourceJSON:e};return null!=t.id&&(r.layerId=t.id),{className:a||"FeatureLayer",properties:r}}return{className:"GroupLayer"}}(e,a);case"Feed":case"Stream Service":return{className:"StreamLayer"};case"GeoJson":return{className:"GeoJSONLayer"};case"Group Layer":return{className:"GroupLayer"};case"Image Service":return async function(e,a){await e.load();const t=e.typeKeywords?.map((e=>e.toLowerCase()))??[];if(t.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(t.includes("tiled imagery"))return{className:"ImageryTileLayer"};const r=await a.fetchItemData(e),n=r?.layerType;if("ArcGISTiledImageServiceLayer"===n)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===n)return{className:"ImageryLayer"};const s=await a.fetchServiceMetadata(e.url,{customParameters:await a.fetchCustomParameters(e)}),i=s.cacheType?.toLowerCase(),l=s.capabilities?.toLowerCase().includes("tilesonly"),c=s.tileInfo?.format?.toLowerCase()??"",u=null==i&&["jpg","jpeg","png","png8","png24","png32","mixed"].includes(c);return"map"===i||u||l?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}(e,a);case"KML":return{className:"KMLLayer"};case"Knowledge Graph Layer":return{className:"KnowledgeGraphLayer"};case"Map Service":return async function(e,a){return await async function(e,a){const{tileInfo:t}=await a.fetchServiceMetadata(e.url,{customParameters:await a.fetchCustomParameters(e)});return t}(e,a)?{className:"TileLayer"}:{className:"MapImageLayer"}}(e,a);case"Media Layer":return{className:"MediaLayer"};case"Scene Service":return async function(e,a){const t=await m(e,a,(async()=>{try{if(!e.url)return[];const{serverUrl:t}=await(0,n.L)(e.url,{sceneLayerItem:e}),r=await a.fetchServiceMetadata(t);return r?.tables??[]}catch{return[]}}));if("object"==typeof t){const r={};let n;if(null!=t.id?(r.layerId=t.id,n=`${e.url}/layers/${t.id}`):n=e.url,e.typeKeywords?.length)for(const a of Object.keys(l.XX))if(e.typeKeywords.includes(a))return{className:l.XX[a]};const s=await a.fetchServiceMetadata(n,{customParameters:await a.fetchCustomParameters(e,(e=>(0,o.pJ)(e)?.customParameters))});return{className:l.XX[s?.layerType]||"SceneLayer",properties:r}}if(!1===t){const t=await a.fetchServiceMetadata(e.url);if("Voxel"===t?.layerType)return{className:"VoxelLayer"}}return{className:"GroupLayer"}}(e,a);case"Vector Tile Service":return{className:"VectorTileLayer"};case"WCS":return{className:"WCSLayer"};case"WFS":return{className:"WFSLayer"};case"WMS":return{className:"WMSLayer"};case"WMTS":return{className:"WMTSLayer"};default:throw new r.A("portal:unknown-item-type","Unknown item type '${type}'",{type:e.type})}}async function m(e,a,t){const{url:r,type:n}=e,i="Feature Service"===n;if(!r)return{};if(/\/\d+$/.test(r)){if(i){const t=await a.fetchServiceMetadata(r,{customParameters:await a.fetchCustomParameters(e,(e=>(0,o.pJ)(e)?.customParameters))});return{id:t.id,className:(0,s.K)(t.type),sourceJSON:t}}return{}}await e.load();let l=await a.fetchItemData(e);if(i){const e=await(0,o.bO)(l,r,a),t=w(e);if("object"==typeof t){const a=(0,o.rc)(e,t.id);t.className=(0,o.K8)(a?.layerType)}return t}if("Scene Service"===n&&(l=await(0,o.nu)(e,l,a)),(0,o.XH)(l)>0)return w(l);const c=await a.fetchServiceMetadata(r);return t&&(c.tables=await t()),w(c)}function w(e){return 1===(0,o.XH)(e)&&{id:(0,o.pJ)(e)?.id}}},66964:(e,a,t)=>{t.d(a,{Ju:()=>u,K8:()=>d,XH:()=>o,_r:()=>s,bO:()=>i,l:()=>y,nu:()=>f,pJ:()=>l,rc:()=>c});var r=t(92009),n=t(23154);function s(e){const a={id:e.id,name:e.name},t=(0,n.K)(e.type);return"FeatureLayer"!==t&&(a.layerType=t),a}async function i(e,a,t){if(null==e?.layers||null==e?.tables){const r=await t.fetchServiceMetadata(a,{customParameters:l(e)?.customParameters});(e=e||{}).layers=e.layers||r?.layers?.map(s),e.tables=e.tables||r?.tables?.map(s)}return e}function l(e){if(!e)return null;const{layers:a,tables:t}=e;return a?.length?a[0]:t?.length?t[0]:null}function c(e,a){return null==a?null:[...e.layers||[],...e.tables||[]].find((e=>e.id===a))}function u(e,a){return[...e.layers||[],...e.tables||[]].filter((({layerType:e})=>e?a.includes(e):a.includes("ArcGISFeatureLayer")))}function o(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}function y(e){switch(e){case"catalog":return["CatalogLayer"];case"feature":return["ArcGISFeatureLayer"];case"oriented-imagery":return["OrientedImageryLayer"];case"subtype-group":return["SubtypeGroupLayer","SubtypeGroupTable"]}return null}function d(e){switch(e){case"CatalogLayer":return"CatalogLayer";case"OrientedImageryLayer":return"OrientedImageryLayer";case"SubtypeGroupLayer":case"SubtypeGroupTable":return"SubtypeGroupLayer"}return"FeatureLayer"}async function f(e,a,t){if(!e?.url)return a??{};if(a??={},!a.layers){const r=await t.fetchServiceMetadata(e.url);a.layers=r.layers?.map(s)}const{serverUrl:n,portalItem:i}=await(0,r.L)(e.url,{sceneLayerItem:e,customParameters:l(a)?.customParameters}).catch((()=>({serverUrl:null,portalItem:null})));if(null==n)return a.tables=[],a;if(!a.tables&&i){const e=await i.fetchData().catch((()=>null));if(e?.tables)a.tables=e.tables.map(s);else{const r=await t.fetchServiceMetadata(n,{customParameters:l(e)?.customParameters}).catch((()=>null));a.tables=r?.tables?.map(s)}}if(a.tables)for(const e of a.tables)e.url=`${n}/${e.id}`;return a}},92009:(e,a,t)=>{t.d(a,{L:()=>o});var r=t(70333),n=t(78888),s=t(49186),i=t(74887),l=t(60694),c=t(20655),u=t(80812);async function o(e,a){const t=(0,l.qg)(e);if(!t)throw new s.A("invalid-url","Invalid scene service url");const o={...a,sceneServerUrl:t.url.path,layerId:t.sublayer??void 0};if(o.sceneLayerItem??=await async function(e){const a=(await y(e)).serviceItemId;if(!a)return null;const t=new u.default({id:a,apiKey:e.apiKey}),s=await async function(e){const a=r.id?.findServerInfo(e.sceneServerUrl);if(a?.owningSystemUrl)return a.owningSystemUrl;const t=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const a=(await(0,n.A)(t,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(a)return a}catch(e){(0,i.QP)(e)}return null}(e);null!=s&&(t.portal=new c.A({url:s}));try{return await t.load({signal:e.signal})}catch(e){return(0,i.QP)(e),null}}(o),null==o.sceneLayerItem)return d(o.sceneServerUrl.replace("/SceneServer","/FeatureServer"),o);const f=await async function({sceneLayerItem:e,signal:a}){if(!e)return null;try{const t=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:a})).find((e=>"Feature Service"===e.type))||null;if(!t)return null;const r=new u.default({portal:t.portal,id:t.id});return await r.load(),r}catch(e){return(0,i.QP)(e),null}}(o);if(!f?.url)throw new s.A("related-service-not-found","Could not find feature service through portal item relationship");o.featureServiceItem=f;const m=await d(f.url,o);return m.portalItem=f,m}async function y(e){if(e.rootDocument)return e.rootDocument;const a={query:{f:"json",...e.customParameters,token:e.apiKey},responseType:"json",signal:e.signal};try{const t=await(0,n.A)(e.sceneServerUrl,a);e.rootDocument=t.data}catch{e.rootDocument={}}return e.rootDocument}async function d(e,a){const t=(0,l.qg)(e);if(!t)throw new s.A("invalid-feature-service-url","Invalid feature service url");const r=t.url.path,i=a.layerId;if(null==i)return{serverUrl:r};const c=y(a),u=a.featureServiceItem?await a.featureServiceItem.fetchData("json"):null,o=(u?.layers?.[0]||u?.tables?.[0])?.customParameters,d=e=>{const t={query:{f:"json",...o},responseType:"json",authMode:e,signal:a.signal};return(0,n.A)(r,t)},f=d("anonymous").catch((()=>d("no-prompt"))),[m,w]=await Promise.all([f,c]),p=w?.layers,h=m.data&&m.data.layers;if(!Array.isArray(h))throw new Error("expected layers array");if(Array.isArray(p)){for(let e=0;e<Math.min(p.length,h.length);e++)if(p[e].id===i)return{serverUrl:r,layerId:h[e].id}}else if(null!=i&&i<h.length)return{serverUrl:r,layerId:h[i].id};throw new Error("could not find matching associated sublayer")}}}]);