@arcgis/core 5.1.0-next.60 → 5.1.0-next.61

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 (101) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{ab223c508f3dd562e7d3.js → 32e9e92bbbd000fbbaf7.js} +2 -2
  3. package/assets/esri/core/workers/chunks/{68475eba323b4aa892a3.js → 354351ab3fc79dedf9a8.js} +1 -1
  4. package/assets/esri/core/workers/chunks/45f1e682668cffc00b44.js +1 -0
  5. package/assets/esri/core/workers/chunks/{6172715b2b2853819d8a.js → 5eeb6d3a7b815d41621e.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{2f74147597805828cb38.js → 5ff41f43e57be0557541.js} +22 -29
  7. package/assets/esri/core/workers/chunks/{6355de3ee89916b74dae.js → 6b32b3f98872771ff81e.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{8083dface1ca2dbd12b2.js → 811b378fa5bf8a4d3d66.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{8432ffc33843e898bab7.js → 8166ad6bbd7d7a8f91cf.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{58614f12796dbba013f4.js → 9d289cee96e7c7fe1029.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{c4da2ca1dee0c44051d0.js → 9d7ffd83f69d6e639f09.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{0622e238693c257abacb.js → 9eef3cd5f519c8ae88c0.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{2541ac6e0ed1184edc9b.js → af3bd661b355eed3da21.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{e4144ccc85ad4c76a9b7.js → af40e2e6eaf3d2226812.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{0fd191f9c10b3b7c83f4.js → c319c3b85cdec73a9f45.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{7e1ef2a55f8d123f31e2.js → cbb50415f7de8746ee1a.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{48d289db3145ce6c02bb.js → d4368e281c12fa7c17c5.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{266933f1139ed0e8919f.js → e645f992ec6f935ee3a5.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{bf4bad2c9a541cd425f5.js → e9dd60d0220036545ebb.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{a226ba96d9a3ecc14e3e.js → f550fc8c078ebd47d7a3.js} +1 -1
  21. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  22. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable.json +1 -1
  23. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_en.json +1 -1
  24. package/chunks/GlowComposition.glsl.js +4 -5
  25. package/chunks/ShadowHighlight.glsl.js +5 -5
  26. package/config.js +1 -1
  27. package/geometry/libtess.js +1 -1
  28. package/geometry/support/curves/bezierCurveUtils.js +1 -1
  29. package/geometry/support/curves/circularArcUtils.js +1 -1
  30. package/geometry/support/curves/ellipticArc4Utils.js +1 -1
  31. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  32. package/kernel.js +1 -1
  33. package/layers/CSVLayer.d.ts +38 -6
  34. package/layers/CatalogLayer.d.ts +39 -8
  35. package/layers/FeatureLayer.d.ts +25 -23
  36. package/layers/GeoJSONLayer.d.ts +36 -6
  37. package/layers/ParquetLayer.d.ts +58 -0
  38. package/layers/SubtypeGroupLayer.d.ts +27 -25
  39. package/layers/WFSLayer.d.ts +51 -8
  40. package/layers/catalog/CatalogFootprintLayer.d.ts +37 -7
  41. package/layers/graphics/sources/csv/csv.js +1 -1
  42. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +41 -17
  43. package/layers/mixins/ArcGISImageService.d.ts +58 -0
  44. package/layers/support/csvUtils.js +1 -1
  45. package/package.json +3 -3
  46. package/popup/Feature.d.ts +25 -32
  47. package/support/revision.js +1 -1
  48. package/views/2d/analysis/analysisViewModuleImportUtils.js +1 -1
  49. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  50. package/views/2d/layerViewModuleImportUtils.js +1 -1
  51. package/views/3d/FocusAreasView.js +1 -1
  52. package/views/3d/analysis/analysisViewModuleImportUtils.js +1 -1
  53. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  54. package/views/3d/layerViewModuleImportUtils.js +1 -1
  55. package/views/3d/layers/I3SMeshView3D.js +1 -1
  56. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  57. package/views/3d/layers/graphics/tessellationUtils.js +1 -1
  58. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  59. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +6 -11
  60. package/views/3d/webgl-engine/effects/focusArea/FocusAreaOutlineItem.js +1 -1
  61. package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
  62. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  63. package/views/3d/webgl-engine/effects/highlight/{ScreenSpaceShadowHighlight.glsl.js → ShadowHighlightBuffer.glsl.js} +1 -1
  64. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.js +2 -0
  65. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBufferTechnique.js +2 -0
  66. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  67. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  68. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  69. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  70. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  71. package/views/3d/webgl-engine/materials/PolygonOffset.js +1 -1
  72. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  73. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  74. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  75. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +11 -11
  76. package/views/3d/webgl-engine/shaders/ReceiveShadowsConfiguration.js +1 -1
  77. package/views/3d/webgl-engine/shaders/ditherNoise.glsl.js +2 -0
  78. package/views/3d/webgl.js +1 -1
  79. package/views/SceneView.js +1 -1
  80. package/views/draw/plugins/TangentArcSegmentPlugin.js +1 -1
  81. package/views/support/AnalysisViewManager.js +1 -1
  82. package/widgets/ElevationProfile/support/ElevationProfileView.js +1 -1
  83. package/widgets/ElevationProfile/support/ElevationProfileView3D.js +1 -1
  84. package/widgets/FeatureTable/ColumnVisibilityMenuVisibleElements.d.ts +27 -0
  85. package/widgets/FeatureTable/ColumnVisibilityMenuVisibleElements.js +2 -0
  86. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +10 -1
  87. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  88. package/widgets/FeatureTable/TableMenuVisibleElements.d.ts +0 -1
  89. package/widgets/FeatureTable/TableMenuVisibleElements.js +1 -1
  90. package/widgets/FeatureTable/VisibleElements.d.ts +23 -1
  91. package/widgets/FeatureTable/VisibleElements.js +1 -1
  92. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  93. package/widgets/FeatureTable.d.ts +10 -1
  94. package/widgets/FeatureTable.js +1 -1
  95. package/widgets/Widget.js +1 -1
  96. package/assets/esri/core/workers/chunks/16806f5044a9da553b66.js +0 -1
  97. package/views/3d/webgl-engine/effects/highlight/ScreenSpaceShadowHighlightRenderNode.js +0 -2
  98. package/views/3d/webgl-engine/effects/highlight/ScreenSpaceShadowHighlightTechnique.js +0 -2
  99. package/views/3d/webgl-engine/shaders/Dithering.glsl.js +0 -4
  100. /package/assets/esri/core/workers/chunks/{ab223c508f3dd562e7d3.js.LICENSE.txt → 32e9e92bbbd000fbbaf7.js.LICENSE.txt} +0 -0
  101. /package/chunks/{ScreenSpaceShadowHighlight.glsl.js → ShadowHighlightBuffer.glsl.js} +0 -0
@@ -621,16 +621,59 @@ export default class WFSLayer extends WFSLayerSuperclass {
621
621
  */
622
622
  createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
623
623
  /**
624
- * Creates query parameter object that can be used to fetch features that satisfy the layer's configurations.
625
- *
626
- * @returns The query object representing the layer's definition
627
- * expression and other configurations.
624
+ * Creates query parameter object that can be used to fetch features from feature-based layers or
625
+ * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#definitionExpression).
626
+ * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#capabilities).
627
+ * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
628
+ * The results will include feature geometries and values for all [available fields](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#availableFields) in
629
+ * [queries](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#queryFeatures) against the layer views of feature-based layers, or all fields in the layer for
630
+ * [queries against the layer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#queryFeatures).
631
+ *
632
+ * @returns The query object representing the layer's definition expression and other configurations.
628
633
  * @see [Sample - Query features from a FeatureLayer](https://developers.arcgis.com/javascript/latest/sample-code/featurelayer-query/)
629
634
  * @example
630
- * const query = wfsLayer.createQuery(); // create query from the layer
631
- * wfsLayer.queryFeatures(query).then((results) => {
632
- * // do something with the query results
633
- * })
635
+ * // Get a query object for the layer's current configuration
636
+ * queryParams.outFields will be set to ["*"] to get values for all available fields.
637
+ * const queryParams = layer.createQuery();
638
+ * // set a geometry for filtering features by a region of interest
639
+ * queryParams.geometry = extentForRegionOfInterest;
640
+ * // Add to the layer's current definitionExpression
641
+ * queryParams.where = queryParams.where + " AND TYPE = 'Extreme'";
642
+ *
643
+ * // query the layer with the modified params object
644
+ * layer.queryFeatures(queryParams).then(function(results){
645
+ * // prints the array of result graphics to the console
646
+ * console.log(results.features);
647
+ * });
648
+ * @example
649
+ * // this snippet shows the query parameter object that is returned
650
+ * // from FeatureLayer.createQuery().
651
+ * const queryParams = new Query();
652
+ * const dataCapabilities = layer.get<DataCapabilities>("capabilities.data");
653
+ *
654
+ * queryParams.gdbVersion = layer.gdbVersion;
655
+ * queryParams.historicMoment = layer.historicMoment;
656
+ * queryParams.returnGeometry = true;
657
+ *
658
+ * if (dataCapabilities) {
659
+ * if (dataCapabilities.supportsZ && layer.returnZ != null) {
660
+ * queryParams.returnZ = layer.returnZ;
661
+ * }
662
+ *
663
+ * if (dataCapabilities.supportsM && layer.returnM != null) {
664
+ * queryParams.returnM = layer.returnM;
665
+ * }
666
+ * }
667
+ *
668
+ * queryParams.outFields = ["*"];
669
+ * queryParams.where = layer.definitionExpression || "1=1";
670
+ * queryParams.multipatchOption = layer.geometryType === "multipatch" ? "xyFootprint" : null;
671
+ * @example
672
+ * // this snippet shows query image footprints from imagery layer
673
+ * // that honors the layer's definitionExpression and other configurations.
674
+ * if (imageryLayer.capabilities.operations.supportsQuery) {
675
+ * const query = imageryLayer.createQuery();
676
+ * const rasters = await imageryLayer.queryRasters(query);
634
677
  */
635
678
  createQuery(): Query;
636
679
  /**
@@ -493,29 +493,59 @@ export default class CatalogFootprintLayer extends CatalogFootprintLayerSupercla
493
493
  */
494
494
  createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
495
495
  /**
496
- * Creates query parameter object that can be used to fetch features that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#definitionExpression).
496
+ * Creates query parameter object that can be used to fetch features from feature-based layers or
497
+ * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#definitionExpression).
497
498
  * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#capabilities).
498
499
  * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
499
- * The results will include geometries of features and values for all [available fields](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#availableFields) for
500
- * [client-side queries](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#queryFeatures) or all fields in the layer for [server side queries](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#queryFeatures).
500
+ * The results will include feature geometries and values for all [available fields](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#availableFields) in
501
+ * [queries](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#queryFeatures) against the layer views of feature-based layers, or all fields in the layer for
502
+ * [queries against the layer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#queryFeatures).
501
503
  *
502
504
  * @returns The query object representing the layer's definition expression and other configurations.
503
505
  * @see [Sample - Query features from a FeatureLayer](https://developers.arcgis.com/javascript/latest/sample-code/featurelayer-query/)
504
506
  * @example
505
507
  * // Get a query object for the layer's current configuration
506
- * // set a geometry for filtering features by a region of interest
507
- * // definitionExpression is set to only return features with a TYPE of 'Extreme'
508
- * const queryParams = footprintLayer.createQuery();
508
+ * queryParams.outFields will be set to ["*"] to get values for all available fields.
509
+ * const queryParams = layer.createQuery();
509
510
  * // set a geometry for filtering features by a region of interest
510
511
  * queryParams.geometry = extentForRegionOfInterest;
511
512
  * // Add to the layer's current definitionExpression
512
513
  * queryParams.where = queryParams.where + " AND TYPE = 'Extreme'";
513
514
  *
514
515
  * // query the layer with the modified params object
515
- * footprintLayer.queryFeatures(queryParams).then((results) =>{
516
+ * layer.queryFeatures(queryParams).then(function(results){
516
517
  * // prints the array of result graphics to the console
517
518
  * console.log(results.features);
518
519
  * });
520
+ * @example
521
+ * // this snippet shows the query parameter object that is returned
522
+ * // from FeatureLayer.createQuery().
523
+ * const queryParams = new Query();
524
+ * const dataCapabilities = layer.get<DataCapabilities>("capabilities.data");
525
+ *
526
+ * queryParams.gdbVersion = layer.gdbVersion;
527
+ * queryParams.historicMoment = layer.historicMoment;
528
+ * queryParams.returnGeometry = true;
529
+ *
530
+ * if (dataCapabilities) {
531
+ * if (dataCapabilities.supportsZ && layer.returnZ != null) {
532
+ * queryParams.returnZ = layer.returnZ;
533
+ * }
534
+ *
535
+ * if (dataCapabilities.supportsM && layer.returnM != null) {
536
+ * queryParams.returnM = layer.returnM;
537
+ * }
538
+ * }
539
+ *
540
+ * queryParams.outFields = ["*"];
541
+ * queryParams.where = layer.definitionExpression || "1=1";
542
+ * queryParams.multipatchOption = layer.geometryType === "multipatch" ? "xyFootprint" : null;
543
+ * @example
544
+ * // this snippet shows query image footprints from imagery layer
545
+ * // that honors the layer's definitionExpression and other configurations.
546
+ * if (imageryLayer.capabilities.operations.supportsQuery) {
547
+ * const query = imageryLayer.createQuery();
548
+ * const rasters = await imageryLayer.queryRasters(query);
519
549
  */
520
550
  createQuery(): Query;
521
551
  /**
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{isDateString as e}from"../../../../core/date.js";import{_parseInfo as t}from"../../../../core/number.js";import{normalizeFieldName as n,getFieldDefaultLength as r}from"../../../support/fieldUtils.js";import{inferLocationInfo as i}from"../../../support/locationUtils.js";const o=/^\s*"([\S\s]*)"\s*$/,l=/""/g,s="\n",u=[","," ",";","|","\t"];function*c(e,t,n){let r=0;for(;r<=e.length;){const i=e.indexOf(t,r),o=e.slice(r,i>-1?i:void 0);r+=o.length+t.length,n&&!o.trim()||(yield o)}}function f(e){const t=e.includes("\r\n")?"\r\n":s;return c(e,t,!0)}function a(e,t){return c(e,t,!1)}function d(e,t,n){e=e.trim(),t=t?.trim();const r=[],o=Array.from(new Set([n?.delimiter,...u])).filter(e=>null!=e);for(const i of o){const n=g(e,i).length,o=g(t,i).length??n;n>1&&r.push({weight:Math.min(n,o),delimiter:i})}const l=r.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const s of l){const t=m(e,s).names,r=i(t,n?.longitudeField,n?.latitudeField);if(r.longitudeFieldName&&r.latitudeFieldName)return{delimiter:s,locationInfo:r}}return{delimiter:l[0],locationInfo:null}}function*p(e,t,n,r=()=>Object.create(null)){const i=f(e);i.next();let u="",c="",d=0,p=r(),m=0;e:for(const f of i){const e=a(f,n);for(const i of e)if(u+=c+i,c="",d+=h(i),d%2==0){if(d>0){const e=o.exec(u);if(!e){p=r(),m=0,u="",d=0;continue e}p[t[m]]=e[1].replaceAll(l,'"'),m++}else p[t[m]]=u,m++;u="",d=0}else c=n;0===d?(yield p,p=r(),m=0):c=s}}function m(e,t){const r=g(e,t).filter(e=>null!=e),i=r.map(e=>n(e));for(let n=i.length-1;n>=0;n--)i[n]||(i.splice(n,1),r.splice(n,1));return{names:i,aliases:r}}function g(e,t){if(!e?.length)return[];const n=[];let r="",i="",s=0;const u=a(e,t);for(const c of u)if(r+=i+c,i="",s+=h(c),s%2==0){if(s>0){const e=o.exec(r);e&&n.push(e[1].replaceAll(l,'"'))}else n.push(r);r="",s=0}else i=t;return n}function h(e){let t=0,n=0;for(n=e.indexOf('"',n);n>=0;)t++,n=e.indexOf('"',n+1);return t}function N(e,t,n,i,o){const l=[],s=p(e,n,t),u=[];for(const r of s){if(10===u.length)break;u.push(r)}for(let c=0;c<n.length;c++){const e=n[c],t=i[c];if(e===o.longitudeFieldName||e===o.latitudeFieldName)l.push({name:e,type:"esriFieldTypeDouble",alias:t});else{let n;switch(b(u.map(t=>t[e]))){case"integer":n="esriFieldTypeInteger";break;case"double":n="esriFieldTypeDouble";break;case"date":n="esriFieldTypeDate";break;default:n="esriFieldTypeString"}l.push({name:e,type:n,alias:t,length:r(n)})}}return l}function b(t){if(!t.length)return"string";const n=/[^+\-.,0-9]/;return t.map(t=>{if(""!==t){if(!n.test(t)){let e=x(t);if(!isNaN(e))return/[.,]/.test(t)||!Number.isInteger(e)||e>214783647||e<-214783648?"double":"integer";if(t.includes("E")){if(e=Number(t),!Number.isNaN(e))return"double";if(t.includes(",")&&(t=t.replace(",","."),e=Number(t),!Number.isNaN(e)))return"double"}}return e(t)?"date":"string"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"string"===e||"string"===t?"string":"double"===e||"double"===t?"double":void 0)}const x=function(){const e=t(),n=new RegExp("^"+e.regexp+"$"),r=new RegExp("["+e.group+"\\s\\xa0]","g"),i=e.factor;return t=>{const o=n.exec(t);if(e.factor=i,!o)return NaN;let l=o[1];if(!o[1]){if(!o[2])return NaN;l=o[2],e.factor*=-1}return l=l.replace(r,"").replace(e.decimal,"."),+l*e.factor}}();function y(e){return JSON.parse(JSON.stringify(e))}export{m as extractFieldNamesAndAliasesFromRow,d as inferDelimiterAndLocationInfo,b as inferFieldType,N as inferFields,x as parseNumber,p as parseRows,a as readRowParts,f as readRows,y as severSlicedString,g as splitSingleRow};
2
+ import{isDateString as e}from"../../../../core/date.js";import{_parseInfo as t}from"../../../../core/number.js";import{normalizeFieldName as n,getFieldDefaultLength as r}from"../../../support/fieldUtils.js";import{inferLocationInfo as i}from"../../../support/locationUtils.js";const o=/^\s*"([\S\s]*)"\s*$/,l=/""/g,s="\n",u=[",",";","|","\t"];function*c(e,t,n){let r=0;for(;r<=e.length;){const i=e.indexOf(t,r),o=e.slice(r,i>-1?i:void 0);r+=o.length+t.length,n&&!o.trim()||(yield o)}}function f(e){const t=e.includes("\r\n")?"\r\n":s;return c(e,t,!0)}function a(e,t){return c(e,t,!1)}function d(e,t,n){e=e.trim(),t=t?.trim();const r=[],o=Array.from(new Set([n?.delimiter,...u])).filter(e=>null!=e);for(const i of o){const n=g(e,i).length,o=g(t,i).length??n;n>1&&r.push({weight:Math.min(n,o),delimiter:i})}const l=r.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const s of l){const t=m(e,s).names,r=i(t,n?.longitudeField,n?.latitudeField);if(r.longitudeFieldName&&r.latitudeFieldName)return{delimiter:s,locationInfo:r}}return{delimiter:l[0],locationInfo:null}}function*p(e,t,n,r=()=>Object.create(null)){const i=f(e);i.next();let u="",c="",d=0,p=r(),m=0;e:for(const f of i){const e=a(f,n);for(const i of e)if(u+=c+i,c="",d+=h(i),d%2==0){if(d>0){const e=o.exec(u);if(!e){p=r(),m=0,u="",d=0;continue e}p[t[m]]=e[1].replaceAll(l,'"'),m++}else p[t[m]]=u,m++;u="",d=0}else c=n;0===d?(yield p,p=r(),m=0):c=s}}function m(e,t){const r=g(e,t).filter(e=>null!=e),i=r.map(e=>n(e));for(let n=i.length-1;n>=0;n--)i[n]||(i.splice(n,1),r.splice(n,1));return{names:i,aliases:r}}function g(e,t){if(!e?.length)return[];const n=[];let r="",i="",s=0;const u=a(e,t);for(const c of u)if(r+=i+c,i="",s+=h(c),s%2==0){if(s>0){const e=o.exec(r);e&&n.push(e[1].replaceAll(l,'"'))}else n.push(r);r="",s=0}else i=t;return n}function h(e){let t=0,n=0;for(n=e.indexOf('"',n);n>=0;)t++,n=e.indexOf('"',n+1);return t}function N(e,t,n,i,o){const l=[],s=p(e,n,t),u=[];for(const r of s){if(10===u.length)break;u.push(r)}for(let c=0;c<n.length;c++){const e=n[c],t=i[c];if(e===o.longitudeFieldName||e===o.latitudeFieldName)l.push({name:e,type:"esriFieldTypeDouble",alias:t});else{let n;switch(b(u.map(t=>t[e]))){case"integer":n="esriFieldTypeInteger";break;case"double":n="esriFieldTypeDouble";break;case"date":n="esriFieldTypeDate";break;default:n="esriFieldTypeString"}l.push({name:e,type:n,alias:t,length:r(n)})}}return l}function b(t){if(!t.length)return"string";const n=/[^+\-.,0-9]/;return t.map(t=>{if(""!==t){if(!n.test(t)){let e=x(t);if(!isNaN(e))return/[.,]/.test(t)||!Number.isInteger(e)||e>214783647||e<-214783648?"double":"integer";if(t.includes("E")){if(e=Number(t),!Number.isNaN(e))return"double";if(t.includes(",")&&(t=t.replace(",","."),e=Number(t),!Number.isNaN(e)))return"double"}}return e(t)?"date":"string"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"string"===e||"string"===t?"string":"double"===e||"double"===t?"double":void 0)}const x=function(){const e=t(),n=new RegExp("^"+e.regexp+"$"),r=new RegExp("["+e.group+"\\s\\xa0]","g"),i=e.factor;return t=>{const o=n.exec(t);if(e.factor=i,!o)return NaN;let l=o[1];if(!o[1]){if(!o[2])return NaN;l=o[2],e.factor*=-1}return l=l.replace(r,"").replace(e.decimal,"."),+l*e.factor}}();function y(e){return JSON.parse(JSON.stringify(e))}export{m as extractFieldNamesAndAliasesFromRow,d as inferDelimiterAndLocationInfo,b as inferFieldType,N as inferFields,x as parseNumber,p as parseRows,a as readRowParts,f as readRows,y as severSlicedString,g as splitSingleRow};
@@ -547,35 +547,59 @@ export default class KnowledgeGraphSublayer extends KnowledgeGraphSublayerSuperc
547
547
  */
548
548
  createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
549
549
  /**
550
- * Creates query parameter object that can be used to fetch features that
551
- * satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/knowledgeGraph/KnowledgeGraphSublayer/#definitionExpression),.
550
+ * Creates query parameter object that can be used to fetch features from feature-based layers or
551
+ * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/knowledgeGraph/KnowledgeGraphSublayer/#definitionExpression).
552
552
  * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/knowledgeGraph/KnowledgeGraphSublayer/#capabilities).
553
553
  * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
554
- * The results will include geometries of features and values for all
555
- * [available fields](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#availableFields) for
556
- * [client-side queries](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#queryFeatures)
557
- * or all fields in the layer for [server side queries](https://developers.arcgis.com/javascript/latest/references/core/layers/knowledgeGraph/KnowledgeGraphSublayer/#queryFeatures).
554
+ * The results will include feature geometries and values for all [available fields](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#availableFields) in
555
+ * [queries](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#queryFeatures) against the layer views of feature-based layers, or all fields in the layer for
556
+ * [queries against the layer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#queryFeatures).
558
557
  *
559
- * @returns The query object representing the sublayer's definition expression
560
- * and other configurations.
558
+ * @returns The query object representing the layer's definition expression and other configurations.
559
+ * @see [Sample - Query features from a FeatureLayer](https://developers.arcgis.com/javascript/latest/sample-code/featurelayer-query/)
561
560
  * @example
562
561
  * // Get a query object for the layer's current configuration
563
- * // queryParams.outFields will be set to ["*"] to get values
564
- * // for all available fields.
565
- *
566
- * //get the first sublayer from the parent KnowledgeGraphLayer
567
- * const sublayer = knowledgeGraphLayer.layers.items[0];
568
- * const queryParams = sublayer.createQuery();
562
+ * queryParams.outFields will be set to ["*"] to get values for all available fields.
563
+ * const queryParams = layer.createQuery();
569
564
  * // set a geometry for filtering features by a region of interest
570
565
  * queryParams.geometry = extentForRegionOfInterest;
571
- * // Add to the sublayer's current definitionExpression
566
+ * // Add to the layer's current definitionExpression
572
567
  * queryParams.where = queryParams.where + " AND TYPE = 'Extreme'";
573
568
  *
574
- * // query the sublayer with the modified params object
575
- * sublayer.queryFeatures(queryParams).then(function(results){
569
+ * // query the layer with the modified params object
570
+ * layer.queryFeatures(queryParams).then(function(results){
576
571
  * // prints the array of result graphics to the console
577
572
  * console.log(results.features);
578
573
  * });
574
+ * @example
575
+ * // this snippet shows the query parameter object that is returned
576
+ * // from FeatureLayer.createQuery().
577
+ * const queryParams = new Query();
578
+ * const dataCapabilities = layer.get<DataCapabilities>("capabilities.data");
579
+ *
580
+ * queryParams.gdbVersion = layer.gdbVersion;
581
+ * queryParams.historicMoment = layer.historicMoment;
582
+ * queryParams.returnGeometry = true;
583
+ *
584
+ * if (dataCapabilities) {
585
+ * if (dataCapabilities.supportsZ && layer.returnZ != null) {
586
+ * queryParams.returnZ = layer.returnZ;
587
+ * }
588
+ *
589
+ * if (dataCapabilities.supportsM && layer.returnM != null) {
590
+ * queryParams.returnM = layer.returnM;
591
+ * }
592
+ * }
593
+ *
594
+ * queryParams.outFields = ["*"];
595
+ * queryParams.where = layer.definitionExpression || "1=1";
596
+ * queryParams.multipatchOption = layer.geometryType === "multipatch" ? "xyFootprint" : null;
597
+ * @example
598
+ * // this snippet shows query image footprints from imagery layer
599
+ * // that honors the layer's definitionExpression and other configurations.
600
+ * if (imageryLayer.capabilities.operations.supportsQuery) {
601
+ * const query = imageryLayer.createQuery();
602
+ * const rasters = await imageryLayer.queryRasters(query);
579
603
  */
580
604
  createQuery(): Query;
581
605
  /**
@@ -39,6 +39,7 @@ import type MapToImageParameters from "../../rest/support/MapToImageParameters.j
39
39
  import type MeasureAreaFromImageResult from "../../rest/support/MeasureAreaFromImageResult.js";
40
40
  import type MeasureFromImageParameters from "../../rest/support/MeasureFromImageParameters.js";
41
41
  import type MeasureLengthFromImageResult from "../../rest/support/MeasureLengthFromImageResult.js";
42
+ import type Query from "../../rest/support/Query.js";
42
43
  import type { AbortOptions } from "../../core/promiseUtils.js";
43
44
  import type { GeometryUnion } from "../../geometry/types.js";
44
45
  import type { OperationCapabilities, QueryCapabilities } from "../types.js";
@@ -834,6 +835,63 @@ export abstract class ArcGISImageService {
834
835
  * });
835
836
  */
836
837
  computeStatisticsHistograms(parameters: ImageHistogramParameters | ImageHistogramParametersProperties, requestOptions?: RequestOptions): Promise<ImageServiceStatisticsHistogramsResult>;
838
+ /**
839
+ * Creates query parameter object that can be used to fetch features from feature-based layers or
840
+ * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ArcGISImageService/#definitionExpression).
841
+ * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ArcGISImageService/#capabilities).
842
+ * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
843
+ * The results will include feature geometries and values for all [available fields](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#availableFields) in
844
+ * [queries](https://developers.arcgis.com/javascript/latest/references/core/views/layers/FeatureLayerView/#queryFeatures) against the layer views of feature-based layers, or all fields in the layer for
845
+ * [queries against the layer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#queryFeatures).
846
+ *
847
+ * @since 5.1
848
+ * @returns The query object representing the layer's definition expression and other configurations.
849
+ * @see [Sample - Query features from a FeatureLayer](https://developers.arcgis.com/javascript/latest/sample-code/featurelayer-query/)
850
+ * @example
851
+ * // Get a query object for the layer's current configuration
852
+ * queryParams.outFields will be set to ["*"] to get values for all available fields.
853
+ * const queryParams = layer.createQuery();
854
+ * // set a geometry for filtering features by a region of interest
855
+ * queryParams.geometry = extentForRegionOfInterest;
856
+ * // Add to the layer's current definitionExpression
857
+ * queryParams.where = queryParams.where + " AND TYPE = 'Extreme'";
858
+ *
859
+ * // query the layer with the modified params object
860
+ * layer.queryFeatures(queryParams).then(function(results){
861
+ * // prints the array of result graphics to the console
862
+ * console.log(results.features);
863
+ * });
864
+ * @example
865
+ * // this snippet shows the query parameter object that is returned
866
+ * // from FeatureLayer.createQuery().
867
+ * const queryParams = new Query();
868
+ * const dataCapabilities = layer.get<DataCapabilities>("capabilities.data");
869
+ *
870
+ * queryParams.gdbVersion = layer.gdbVersion;
871
+ * queryParams.historicMoment = layer.historicMoment;
872
+ * queryParams.returnGeometry = true;
873
+ *
874
+ * if (dataCapabilities) {
875
+ * if (dataCapabilities.supportsZ && layer.returnZ != null) {
876
+ * queryParams.returnZ = layer.returnZ;
877
+ * }
878
+ *
879
+ * if (dataCapabilities.supportsM && layer.returnM != null) {
880
+ * queryParams.returnM = layer.returnM;
881
+ * }
882
+ * }
883
+ *
884
+ * queryParams.outFields = ["*"];
885
+ * queryParams.where = layer.definitionExpression || "1=1";
886
+ * queryParams.multipatchOption = layer.geometryType === "multipatch" ? "xyFootprint" : null;
887
+ * @example
888
+ * // this snippet shows query image footprints from imagery layer
889
+ * // that honors the layer's definitionExpression and other configurations.
890
+ * if (imageryLayer.capabilities.operations.supportsQuery) {
891
+ * const query = imageryLayer.createQuery();
892
+ * const rasters = await imageryLayer.queryRasters(query);
893
+ */
894
+ createQuery(): Query;
837
895
  /**
838
896
  * Fetches raw pixel data for a specified extent, width, and height, preserving full pixel depth and including all bands without applying renderer to the layer.
839
897
  * The operation uses the following layer properties: [mosaicRule](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ArcGISImageService/#mosaicRule), [rasterFunction](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ArcGISImageService/#rasterFunction), [compressionTolerance](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ArcGISImageService/#compressionTolerance),
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../request.js";import{isSome as t}from"../../core/arrayUtils.js";import{isDateString as i}from"../../core/date.js";import r from"../../core/Error.js";import{cacheAsync as n,getYieldedValue as o}from"../../core/iteratorUtils.js";import{_parseInfo as l}from"../../core/number.js";import{urlToObject as s}from"../../core/urlUtils.js";import a from"./Field.js";import{normalizeFieldName as c,getFieldDefaultLength as f}from"./fieldUtils.js";import{inferLocationInfo as u}from"./locationUtils.js";async function d(t,i={}){const{customParameters:n,signal:o}=i,l=s(t),a=await e(l.path,{query:{...l.query,...n},responseType:"native",signal:o});if(!a.data.body)throw new r("csv-utils:empty-csv","CSV is empty");const[c]=await Promise.allSettled([m(a.data.body)]);if(await a.data.body.cancel(),"rejected"===c.status)throw c.reason;return{url:t,customParameters:n,...c.value}}async function m(e){const t=e.getReader(),i=n(w(t)),l=i(),s=o(await l.next())?.trim(),c=o(await l.next())?.trim();if(!s)throw new r("csv-utils:empty-csv","CSV is empty");const{delimiter:f,locationInfo:u}=N(s,c);if(!f)throw new r("csv-utils:invalid-delimiter","Unable to detect the delimiter from CSV",{firstLine:s,secondLine:c});const{names:d,aliases:m}=S(s,f),p=i();await p.next();const y=await j(p,f,d,m,u);return t.releaseLock(),e.cancel().catch(()=>{}),{delimiter:f,fields:y.map(e=>a.fromJSON(e)),latitudeField:u?.latitudeFieldName,longitudeField:u?.longitudeFieldName}}const p=/^\s*"([\S\s]*)"\s*$/,y=/""/g,g="\n",h=[","," ",";","|","\t"];async function*w(e){const t=/\r?\n/gm,i=new TextDecoder;let r="";for await(const n of F(e)){const e=`${r}${i.decode(n)}`.split(t).filter(Boolean);r=e.pop()||"",yield*e}}async function*F(e){let t=await e.read();for(;!t.done;)yield t.value,t=await e.read();e.releaseLock()}function N(e,t,i){e=e.trim(),t=t?.trim();const r=[],n=Array.from(new Set([i?.delimiter,...h])).filter(e=>null!=e);for(const l of n){const i=v(e,l).length,n=v(t,l).length??i;i>1&&r.push({weight:Math.min(i,n),delimiter:l})}const o=r.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const l of o){const t=S(e,l).names,r=u(t,i?.longitudeField,i?.latitudeField);if(r.longitudeFieldName&&r.latitudeFieldName)return{delimiter:l,locationInfo:r}}return{delimiter:o[0],locationInfo:null}}async function*b(e,t,i,r=()=>Object.create(null)){let n="",o="",l=0,s=r(),a=0;for await(const c of e){const e=T(c,i);for(const c of e)if(n+=o+c,o="",l+=I(c),l%2==0){if(l>0){const e=p.exec(n);if(!e)return s=r(),a=0,n="",void(l=0);s[t[a]]=U(e[1]).replaceAll(y,'"'),a++}else s[t[a]]=U(n),a++;n="",l=0}else o=i;0===l?(yield s,s=r(),a=0):o=g}}function T(e,t){return x(e,t)}function*x(e,t){let i=0;for(;i<=e.length;){const r=e.indexOf(t,i),n=e.slice(i,r>-1?r:void 0);i+=n.length+t.length,yield n}}function S(e,i){const r=v(e,i).filter(t),n=r.map(e=>c(e));for(let t=n.length-1;t>=0;t--)n[t]||(n.splice(t,1),r.splice(t,1));return{names:n,aliases:r}}function v(e,t){if(!e?.length)return[];const i=[];let r="",n="",o=0;const l=T(e,t);for(const s of l)if(r+=n+s,n="",o+=I(s),o%2==0){if(o>0){const e=p.exec(r);e&&i.push(e[1].replaceAll(y,'"'))}else i.push(r);r="",o=0}else n=t;return i}async function j(e,t,i,r,n){const o=[],l=[];for await(const s of b(e,i,t)){if(10===l.length)break;l.push(s)}for(let s=0;s<i.length;s++){const e=i[s],t=r[s];if(e===n?.longitudeFieldName||e===n?.latitudeFieldName)o.push({name:e,type:"esriFieldTypeDouble",alias:t});else{const i=D(l.map(t=>t[e]))??"esriFieldTypeString";o.push({name:e,type:i,alias:t,length:f(i)})}}return o}function D(e){if(!e.length)return"esriFieldTypeString";const t=/[^+\-.,0-9]/;return e.map(e=>{if(""!==e){if(!t.test(e)){let t=O(e);if(!isNaN(t))return/[.,]/.test(e)||!Number.isInteger(t)||t>214783647||t<-214783648?"esriFieldTypeDouble":"esriFieldTypeInteger";if(e.includes("E")){if(t=Number(e),!Number.isNaN(t))return"esriFieldTypeDouble";if(e.includes(",")&&(e=e.replace(",","."),t=Number(e),!Number.isNaN(t)))return"esriFieldTypeDouble"}}return i(e)?"esriFieldTypeDate":"esriFieldTypeString"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"esriFieldTypeString"===e||"esriFieldTypeString"===t?"esriFieldTypeString":"esriFieldTypeDouble"===e||"esriFieldTypeDouble"===t?"esriFieldTypeDouble":void 0)}const O=function(){const e=l(),t=new RegExp("^"+e.regexp+"$"),i=new RegExp("["+e.group+"\\s\\xa0]","g"),r=e.factor;return n=>{const o=t.exec(n);if(e.factor=r,!o)return NaN;let l=o[1];if(!o[1]){if(!o[2])return NaN;l=o[2],e.factor*=-1}return l=l.replace(i,"").replace(e.decimal,"."),+l*e.factor}}();function U(e){return JSON.parse(JSON.stringify(e))}function I(e){let t=0,i=0;for(i=e.indexOf('"',i);i>=0;)t++,i=e.indexOf('"',i+1);return t}export{d as getCSVLayerInfo};
2
+ import e from"../../request.js";import{isSome as t}from"../../core/arrayUtils.js";import{isDateString as i}from"../../core/date.js";import r from"../../core/Error.js";import{cacheAsync as n,getYieldedValue as o}from"../../core/iteratorUtils.js";import{_parseInfo as l}from"../../core/number.js";import{urlToObject as s}from"../../core/urlUtils.js";import a from"./Field.js";import{normalizeFieldName as c,getFieldDefaultLength as f}from"./fieldUtils.js";import{inferLocationInfo as u}from"./locationUtils.js";async function d(t,i={}){const{customParameters:n,signal:o}=i,l=s(t),a=await e(l.path,{query:{...l.query,...n},responseType:"native",signal:o});if(!a.data.body)throw new r("csv-utils:empty-csv","CSV is empty");const[c]=await Promise.allSettled([m(a.data.body)]);if(await a.data.body.cancel(),"rejected"===c.status)throw c.reason;return{url:t,customParameters:n,...c.value}}async function m(e){const t=e.getReader(),i=n(w(t)),l=i(),s=o(await l.next())?.trim(),c=o(await l.next())?.trim();if(!s)throw new r("csv-utils:empty-csv","CSV is empty");const{delimiter:f,locationInfo:u}=N(s,c);if(!f)throw new r("csv-utils:invalid-delimiter","Unable to detect the delimiter from CSV",{firstLine:s,secondLine:c});const{names:d,aliases:m}=S(s,f),p=i();await p.next();const y=await j(p,f,d,m,u);return t.releaseLock(),e.cancel().catch(()=>{}),{delimiter:f,fields:y.map(e=>a.fromJSON(e)),latitudeField:u?.latitudeFieldName,longitudeField:u?.longitudeFieldName}}const p=/^\s*"([\S\s]*)"\s*$/,y=/""/g,g="\n",h=[",",";","|","\t"];async function*w(e){const t=/\r?\n/gm,i=new TextDecoder;let r="";for await(const n of F(e)){const e=`${r}${i.decode(n)}`.split(t).filter(Boolean);r=e.pop()||"",yield*e}}async function*F(e){let t=await e.read();for(;!t.done;)yield t.value,t=await e.read();e.releaseLock()}function N(e,t,i){e=e.trim(),t=t?.trim();const r=[],n=Array.from(new Set([i?.delimiter,...h])).filter(e=>null!=e);for(const l of n){const i=v(e,l).length,n=v(t,l).length??i;i>1&&r.push({weight:Math.min(i,n),delimiter:l})}const o=r.sort(({weight:e},{weight:t})=>t-e).map(({delimiter:e})=>e);for(const l of o){const t=S(e,l).names,r=u(t,i?.longitudeField,i?.latitudeField);if(r.longitudeFieldName&&r.latitudeFieldName)return{delimiter:l,locationInfo:r}}return{delimiter:o[0],locationInfo:null}}async function*b(e,t,i,r=()=>Object.create(null)){let n="",o="",l=0,s=r(),a=0;for await(const c of e){const e=T(c,i);for(const c of e)if(n+=o+c,o="",l+=I(c),l%2==0){if(l>0){const e=p.exec(n);if(!e)return s=r(),a=0,n="",void(l=0);s[t[a]]=U(e[1]).replaceAll(y,'"'),a++}else s[t[a]]=U(n),a++;n="",l=0}else o=i;0===l?(yield s,s=r(),a=0):o=g}}function T(e,t){return x(e,t)}function*x(e,t){let i=0;for(;i<=e.length;){const r=e.indexOf(t,i),n=e.slice(i,r>-1?r:void 0);i+=n.length+t.length,yield n}}function S(e,i){const r=v(e,i).filter(t),n=r.map(e=>c(e));for(let t=n.length-1;t>=0;t--)n[t]||(n.splice(t,1),r.splice(t,1));return{names:n,aliases:r}}function v(e,t){if(!e?.length)return[];const i=[];let r="",n="",o=0;const l=T(e,t);for(const s of l)if(r+=n+s,n="",o+=I(s),o%2==0){if(o>0){const e=p.exec(r);e&&i.push(e[1].replaceAll(y,'"'))}else i.push(r);r="",o=0}else n=t;return i}async function j(e,t,i,r,n){const o=[],l=[];for await(const s of b(e,i,t)){if(10===l.length)break;l.push(s)}for(let s=0;s<i.length;s++){const e=i[s],t=r[s];if(e===n?.longitudeFieldName||e===n?.latitudeFieldName)o.push({name:e,type:"esriFieldTypeDouble",alias:t});else{const i=D(l.map(t=>t[e]))??"esriFieldTypeString";o.push({name:e,type:i,alias:t,length:f(i)})}}return o}function D(e){if(!e.length)return"esriFieldTypeString";const t=/[^+\-.,0-9]/;return e.map(e=>{if(""!==e){if(!t.test(e)){let t=O(e);if(!isNaN(t))return/[.,]/.test(e)||!Number.isInteger(t)||t>214783647||t<-214783648?"esriFieldTypeDouble":"esriFieldTypeInteger";if(e.includes("E")){if(t=Number(e),!Number.isNaN(t))return"esriFieldTypeDouble";if(e.includes(",")&&(e=e.replace(",","."),t=Number(e),!Number.isNaN(t)))return"esriFieldTypeDouble"}}return i(e)?"esriFieldTypeDate":"esriFieldTypeString"}}).reduce((e,t)=>void 0===e?t:void 0===t?e:e===t?t:"esriFieldTypeString"===e||"esriFieldTypeString"===t?"esriFieldTypeString":"esriFieldTypeDouble"===e||"esriFieldTypeDouble"===t?"esriFieldTypeDouble":void 0)}const O=function(){const e=l(),t=new RegExp("^"+e.regexp+"$"),i=new RegExp("["+e.group+"\\s\\xa0]","g"),r=e.factor;return n=>{const o=t.exec(n);if(e.factor=r,!o)return NaN;let l=o[1];if(!o[1]){if(!o[2])return NaN;l=o[2],e.factor*=-1}return l=l.replace(i,"").replace(e.decimal,"."),+l*e.factor}}();function U(e){return JSON.parse(JSON.stringify(e))}function I(e){let t=0,i=0;for(i=e.indexOf('"',i);i>=0;)t++,i=e.indexOf('"',i+1);return t}export{d as getCSVLayerInfo};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "5.1.0-next.60",
3
+ "version": "5.1.0-next.61",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [
@@ -19,11 +19,11 @@
19
19
  "license": "SEE LICENSE IN LICENSE.md",
20
20
  "dependencies": {
21
21
  "@amcharts/amcharts5": "~5.16.2",
22
- "@arcgis/toolkit": "^5.1.0-next.61",
22
+ "@arcgis/toolkit": "^5.1.0-next.62",
23
23
  "@esri/arcgis-html-sanitizer": "~4.1.0",
24
24
  "@esri/calcite-components": "^5.0.2",
25
25
  "@vaadin/grid": "~25.1.0",
26
- "@zip.js/zip.js": "~2.8.23",
26
+ "@zip.js/zip.js": "~2.8.26",
27
27
  "luxon": "~3.7.2",
28
28
  "marked": "~17.0.5",
29
29
  "tslib": "^2.8.1"
@@ -41,18 +41,13 @@ export interface FeatureProperties extends IdentifiableMixinProperties, Partial<
41
41
  graphic?: GraphicProperties | null;
42
42
  /**
43
43
  * The [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/) representing the location of the
44
- * [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) interaction used to trigger the opening of the widget.
44
+ * [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) interaction used to trigger the opening of the component.
45
45
  *
46
- * This value should be set when executing Arcade expressions in the Feature widget that
46
+ * This value should be set when executing Arcade expressions in the Feature component that
47
47
  * expect the `$userInput` profile variable to have a value.
48
48
  *
49
49
  * @see [PopupTemplate.content](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#content)
50
50
  * @see [Arcade Profiles: Popup](https://developers.arcgis.com/arcade/profiles/popup/)
51
- * @example
52
- * view.on("click", (event) => {
53
- * const { mapPoint } = event;
54
- * feature.viewModel.location = mapPoint;
55
- * });
56
51
  */
57
52
  location?: PointProperties | null;
58
53
  /**
@@ -64,9 +59,8 @@ export interface FeatureProperties extends IdentifiableMixinProperties, Partial<
64
59
  */
65
60
  spatialReference?: SpatialReferenceProperties | null;
66
61
  /**
67
- * Dates and times displayed in the widget will be displayed in this time zone. By default this time zone is
68
- * inherited from [MapView.timeZone](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone). When a MapView is not associated with the widget
69
- * then the property will fallback to the `system` time zone.
62
+ * Dates and times will be displayed in this time zone. By default this time zone is
63
+ * inherited from [MapView.timeZone](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone). When a MapView is not associated with this property then the property will fallback to the `system` time zone.
70
64
  *
71
65
  * **Possible Values**
72
66
  *
@@ -82,14 +76,19 @@ export interface FeatureProperties extends IdentifiableMixinProperties, Partial<
82
76
  export type PopupViewModelContent = PopupTemplateContentResolved;
83
77
 
84
78
  /**
79
+ * Provides reactive state and logic for populating the [Feature](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-feature/) component.
80
+ *
81
+ * The class resolves popup template content for the current [Graphic](https://developers.arcgis.com/javascript/latest/references/core/Graphic/), including evaluating Arcade expressions, formatting attribute values, and fetching related feature information.
82
+ *
85
83
  * @see [Feature component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-feature/)
86
84
  * @see [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/)
87
85
  * @see [Arcade Profiles: Popup](https://developers.arcgis.com/arcade/profiles/popup/)
88
86
  * @see [Arcade - expression language](https://developers.arcgis.com/javascript/latest/arcade/)
87
+ * @since 5.1
89
88
  */
90
89
  export default class Feature extends FeatureSuperclass {
91
90
  constructor(properties?: FeatureProperties);
92
- /** Defines the specific [Abilities](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/types/#Abilities) that the [Feature](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/) and [Popup](https://developers.arcgis.com/javascript/latest/references/core/widgets/Popup/) widgets should use when querying and displaying its content. */
91
+ /** Defines the specific [Abilities](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/types/#Abilities) that the [Feature](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-feature/) component should use when querying and displaying its content. */
93
92
  accessor abilities: Abilities;
94
93
  /** The [PopupTemplate.content](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#content) of the feature. */
95
94
  get content(): PopupViewModelContent | null | undefined;
@@ -111,7 +110,7 @@ export default class Feature extends FeatureSuperclass {
111
110
  accessor defaultPopupTemplateEnabled: boolean;
112
111
  /**
113
112
  * The formatted attributes calculated from `fieldInfo` [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/)
114
- * content. They are obtained from the feature's [FeatureViewModel.graphic](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/FeatureViewModel/#graphic) attribute values
113
+ * content. They are obtained from the feature's [graphic](#graphic) attribute values
115
114
  * and can be read:
116
115
  * * globally using the [PopupTemplate.fieldInfos](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#fieldInfos) property
117
116
  * directly at the root level of the [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/), or
@@ -147,7 +146,7 @@ export default class Feature extends FeatureSuperclass {
147
146
  */
148
147
  get graphic(): Graphic | null | undefined;
149
148
  set graphic(value: GraphicProperties | null | undefined);
150
- /** Indicates whether the current FeatureViewModel's [FeatureViewModel.graphic](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/FeatureViewModel/#graphic) resides in a non-spatial table. */
149
+ /** Indicates whether the current [graphic](#graphic) resides in a non-spatial table. */
151
150
  get isFeatureFromTable(): boolean;
152
151
  /**
153
152
  * A read-only property containing metadata regarding the last edit performed on a feature.
@@ -156,25 +155,20 @@ export default class Feature extends FeatureSuperclass {
156
155
  get lastEditInfo(): LastEditInfo | null | undefined;
157
156
  /**
158
157
  * The [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/) representing the location of the
159
- * [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) interaction used to trigger the opening of the widget.
158
+ * [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) interaction used to trigger the opening of the component.
160
159
  *
161
- * This value should be set when executing Arcade expressions in the Feature widget that
160
+ * This value should be set when executing Arcade expressions in the Feature component that
162
161
  * expect the `$userInput` profile variable to have a value.
163
162
  *
164
163
  * @see [PopupTemplate.content](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#content)
165
164
  * @see [Arcade Profiles: Popup](https://developers.arcgis.com/arcade/profiles/popup/)
166
- * @example
167
- * view.on("click", (event) => {
168
- * const { mapPoint } = event;
169
- * feature.viewModel.location = mapPoint;
170
- * });
171
165
  */
172
166
  get location(): Point | null | undefined;
173
167
  set location(value: PointProperties | null | undefined);
174
168
  /**
175
- * A map is required when the input [FeatureViewModel.graphic](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/FeatureViewModel/#graphic) has a popupTemplate that contains [Arcade](https://developers.arcgis.com/arcade) expressions in [ExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/ExpressionInfo/) or [ExpressionContent](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ExpressionContent/) that may use the `$map` profile variable to access data from layers within a map. Without a map, expressions that use `$map` will throw an error.
169
+ * A map is required when the input [graphic](#graphic) has a popupTemplate that contains [Arcade](https://developers.arcgis.com/arcade) expressions in [ExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/ExpressionInfo/) or [ExpressionContent](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ExpressionContent/) that may use the `$map` profile variable to access data from layers within a map. Without a map, expressions that use `$map` will throw an error.
176
170
  *
177
- * Alternatively, the [FeatureViewModel.view](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/FeatureViewModel/#view) property can be used to provide the map instance for this property.
171
+ * Alternatively, the [view](#view) property can be used to provide the map instance for this property.
178
172
  *
179
173
  * @see [Type system](https://developers.arcgis.com/arcade/guide/types/#featuresetcollection)
180
174
  * @see [Arcade Profiles: Popup](https://developers.arcgis.com/arcade/profiles/popup/)
@@ -186,7 +180,7 @@ export default class Feature extends FeatureSuperclass {
186
180
  /**
187
181
  * A read-only map containing information about related features for the current feature.
188
182
  * The keys are related layer IDs as strings, and the values are [RelatedInfo](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/types/#RelatedInfo) objects.
189
- * This property is populated when the feature has related fields and is used to manage and display related feature information in the widget.
183
+ * This property is populated when the feature has related fields and is used to manage and display related feature information.
190
184
  */
191
185
  get relatedInfos(): Map<string, RelatedInfo>;
192
186
  /**
@@ -199,15 +193,14 @@ export default class Feature extends FeatureSuperclass {
199
193
  get spatialReference(): SpatialReference | null | undefined;
200
194
  set spatialReference(value: SpatialReferenceProperties | null | undefined);
201
195
  /**
202
- * The view model's state.
196
+ * The current state of the Feature component.
203
197
  *
204
198
  * @default "disabled"
205
199
  */
206
200
  get state(): State;
207
201
  /**
208
- * Dates and times displayed in the widget will be displayed in this time zone. By default this time zone is
209
- * inherited from [MapView.timeZone](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone). When a MapView is not associated with the widget
210
- * then the property will fallback to the `system` time zone.
202
+ * Dates and times will be displayed in this time zone. By default this time zone is
203
+ * inherited from [MapView.timeZone](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone). When a MapView is not associated with this property then the property will fallback to the `system` time zone.
211
204
  *
212
205
  * **Possible Values**
213
206
  *
@@ -226,12 +219,12 @@ export default class Feature extends FeatureSuperclass {
226
219
  */
227
220
  get title(): string;
228
221
  /**
229
- * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) or [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). Set this to link the widget to a specific view.
222
+ * A reference to the [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) or [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
230
223
  *
231
224
  * > [!WARNING]
232
225
  * >
233
- * > The FeatureViewModel requires a view if the user expects it to display content in any of the following situations:
234
- * > - The [FeatureViewModel.graphic](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/FeatureViewModel/#graphic) has a popupTemplate containing Arcade expressions in [ExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/ExpressionInfo/) or [ExpressionContent](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ExpressionContent/) that may use [geometry functions](https://developers.arcgis.com/arcade/function-reference/geometry_functions/) or reference the `$map` profile variable (i.e. access data from layers within a map).
226
+ * > A view is required if the user expects to display content in any of the following situations:
227
+ * > - The [graphic](#graphic) has a popupTemplate containing Arcade expressions in [ExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/ExpressionInfo/) or [ExpressionContent](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ExpressionContent/) that may use [geometry functions](https://developers.arcgis.com/arcade/function-reference/geometry_functions/) or reference the `$map` profile variable (i.e. access data from layers within a map).
235
228
  * > - Content is displayed from the popup template of an [aggregate feature](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#isAggregate) (i.e. a [cluster](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/) or [bin](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/)).
236
229
  * > - Values from `date` and `timestamp-offset` [fields](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Field/#type) should respect the view's [time zone](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone).
237
230
  */
@@ -239,8 +232,8 @@ export default class Feature extends FeatureSuperclass {
239
232
  /** Indicates whether the feature is currently waiting for all of its content to finish loading. */
240
233
  get waitingForContent(): boolean;
241
234
  /**
242
- * Fetches the geometry of the [FeatureViewModel.graphic](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/FeatureViewModel/#graphic) if the geometry does not exist.
243
- * This method can be called to ensure the [graphic's](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/FeatureViewModel/#graphic) geometry is available when the geometry is necessary
235
+ * Fetches the geometry of the [graphic](#graphic) if the geometry does not exist.
236
+ * This method can be called to ensure the [graphic](#graphic)'s geometry is available when the geometry is necessary
244
237
  * to take action such as calling [View2D.goTo()](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#goTo) with the graphic as the `target`.
245
238
  *
246
239
  * @returns A promise that resolves when the geometry has been updated.
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- const d="20260402",e="4dbcfd2cdba5e60069da28860df2e5eb82e58cdf";export{d as buildDate,e as commitHash};
2
+ const f="20260403",a="8e4ae301da22bff59f7788937bf168c2a651f48b";export{f as buildDate,a as commitHash};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../../core/Error.js";const s={"area-measurement":()=>import("./AreaMeasurementAnalysisView2D.js"),dimension:null,"direct-line-measurement":null,"distance-measurement":()=>import("./DistanceMeasurementAnalysisView2D.js"),"elevation-profile":()=>import("./ElevationProfileAnalysisView2D.js"),"line-of-sight":null,"shadow-cast":null,slice:null,viewshed:null,"volume-measurement":null};function n(n){const i=s[n.type];if(!i)throw new e("analysis-view-module-import-utils:analysis-not-supported",`Analysis "${n.type}" is not supported`);return i()}export{s as analysisModules,n as importAnalysisViewModule};
2
+ import e from"../../../core/Error.js";const n={"area-measurement":()=>import("./AreaMeasurementAnalysisView2D.js"),dimension:null,"direct-line-measurement":null,"distance-measurement":()=>import("./DistanceMeasurementAnalysisView2D.js"),"elevation-profile":()=>import("./ElevationProfileAnalysisView2D.js"),"line-of-sight":null,"shadow-cast":null,slice:null,viewshed:null,"volume-measurement":null},s=new Map;function t(t){const i=s.get(t.type);if(i)return i;const l=n[t.type];if(!l)throw new e("analysis-view-module-import-utils:analysis-not-supported",`Analysis "${t.type}" is not supported`);const r=l();return s.set(t.type,r),r}export{n as analysisModules,t as importAnalysisViewModule};