@geoscene/core 4.23.9 → 4.23.12

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 (229) hide show
  1. package/assets/geoscene/core/workers/chunks/6f827a32646bab0a8777.js +1 -1
  2. package/assets/geoscene/core/workers/chunks/7f91f70ef69a7e24f8e2.js +1 -1
  3. package/assets/geoscene/core/workers/chunks/85fde4b92b0c212f5ff6.js +1 -1
  4. package/assets/geoscene/core/workers/chunks/9f458f10dc65b185f66e.js +1 -1
  5. package/assets/geoscene/themes/base/_Overlay.scss +2 -2
  6. package/assets/geoscene/themes/base/_OverlayItem.scss +12 -12
  7. package/assets/geoscene/themes/base/_Ui.scss +32 -32
  8. package/assets/geoscene/themes/base/_View.scss +31 -31
  9. package/assets/geoscene/themes/base/_animation.scss +6 -6
  10. package/assets/geoscene/themes/base/_core.scss +2 -2
  11. package/assets/geoscene/themes/base/_mixins.scss +43 -43
  12. package/assets/geoscene/themes/base/icons/style.css +190 -190
  13. package/assets/geoscene/themes/base/icons/style.scss +376 -376
  14. package/assets/geoscene/themes/base/icons/variables.scss +187 -187
  15. package/assets/geoscene/themes/base/widgets/_AreaMeasurement2D.scss +4 -4
  16. package/assets/geoscene/themes/base/widgets/_AreaMeasurement3D.scss +4 -4
  17. package/assets/geoscene/themes/base/widgets/_Attachments.scss +48 -48
  18. package/assets/geoscene/themes/base/widgets/_Attribution.scss +9 -9
  19. package/assets/geoscene/themes/base/widgets/_BasemapGallery.scss +39 -39
  20. package/assets/geoscene/themes/base/widgets/_BasemapLayerList.scss +100 -100
  21. package/assets/geoscene/themes/base/widgets/_BasemapToggle.scss +22 -22
  22. package/assets/geoscene/themes/base/widgets/_BinaryColorSizeSlider.scss +2 -2
  23. package/assets/geoscene/themes/base/widgets/_Bookmarks.scss +48 -48
  24. package/assets/geoscene/themes/base/widgets/_BuildingDisciplinesTree.scss +3 -3
  25. package/assets/geoscene/themes/base/widgets/_BuildingExplorer.scss +4 -4
  26. package/assets/geoscene/themes/base/widgets/_BuildingLevelPicker.scss +4 -4
  27. package/assets/geoscene/themes/base/widgets/_BuildingPhasePicker.scss +4 -4
  28. package/assets/geoscene/themes/base/widgets/_ButtonMenu.scss +21 -21
  29. package/assets/geoscene/themes/base/widgets/_ClassedColorSlider.scss +2 -2
  30. package/assets/geoscene/themes/base/widgets/_ClassedSizeSlider.scss +2 -2
  31. package/assets/geoscene/themes/base/widgets/_ColorPicker.scss +3 -3
  32. package/assets/geoscene/themes/base/widgets/_ColorSizeSlider.scss +2 -2
  33. package/assets/geoscene/themes/base/widgets/_ColorSlider.scss +2 -2
  34. package/assets/geoscene/themes/base/widgets/_Compass.scss +3 -3
  35. package/assets/geoscene/themes/base/widgets/_CoordinateConversion.scss +51 -51
  36. package/assets/geoscene/themes/base/widgets/_DatePicker.scss +34 -34
  37. package/assets/geoscene/themes/base/widgets/_Daylight.scss +63 -63
  38. package/assets/geoscene/themes/base/widgets/_DirectLineMeasurement3D.scss +2 -2
  39. package/assets/geoscene/themes/base/widgets/_Directions.scss +98 -98
  40. package/assets/geoscene/themes/base/widgets/_DistanceMeasurement2D.scss +2 -2
  41. package/assets/geoscene/themes/base/widgets/_Editor.scss +56 -56
  42. package/assets/geoscene/themes/base/widgets/_ElevationProfile.scss +19 -19
  43. package/assets/geoscene/themes/base/widgets/_Expand.scss +58 -58
  44. package/assets/geoscene/themes/base/widgets/_Feature.scss +13 -13
  45. package/assets/geoscene/themes/base/widgets/_FeatureContent.scss +24 -24
  46. package/assets/geoscene/themes/base/widgets/_FeatureForm.scss +36 -36
  47. package/assets/geoscene/themes/base/widgets/_FeatureMedia.scss +17 -17
  48. package/assets/geoscene/themes/base/widgets/_FeatureTable.scss +26 -26
  49. package/assets/geoscene/themes/base/widgets/_FeatureTemplates.scss +9 -9
  50. package/assets/geoscene/themes/base/widgets/_FloorFilter.scss +93 -93
  51. package/assets/geoscene/themes/base/widgets/_Grid.scss +6 -6
  52. package/assets/geoscene/themes/base/widgets/_HeatmapSlider.scss +2 -2
  53. package/assets/geoscene/themes/base/widgets/_Histogram.scss +10 -10
  54. package/assets/geoscene/themes/base/widgets/_HistogramRangeSlider.scss +27 -27
  55. package/assets/geoscene/themes/base/widgets/_IdentityForm.scss +5 -5
  56. package/assets/geoscene/themes/base/widgets/_IdentityModal.scss +13 -13
  57. package/assets/geoscene/themes/base/widgets/_ItemList.scss +18 -18
  58. package/assets/geoscene/themes/base/widgets/_LayerList.scss +89 -89
  59. package/assets/geoscene/themes/base/widgets/_Legend.scss +95 -95
  60. package/assets/geoscene/themes/base/widgets/_LineOfSight.scss +9 -9
  61. package/assets/geoscene/themes/base/widgets/_NavigationToggle.scss +14 -14
  62. package/assets/geoscene/themes/base/widgets/_OpacitySlider.scss +2 -2
  63. package/assets/geoscene/themes/base/widgets/_Popup.scss +167 -167
  64. package/assets/geoscene/themes/base/widgets/_Print.scss +52 -52
  65. package/assets/geoscene/themes/base/widgets/_ScaleBar.scss +28 -28
  66. package/assets/geoscene/themes/base/widgets/_ScaleRangeSlider.scss +29 -29
  67. package/assets/geoscene/themes/base/widgets/_Search.scss +50 -50
  68. package/assets/geoscene/themes/base/widgets/_SearchResultRenderer.scss +7 -7
  69. package/assets/geoscene/themes/base/widgets/_SelectionToolbar.scss +3 -3
  70. package/assets/geoscene/themes/base/widgets/_ShadowCast.scss +17 -17
  71. package/assets/geoscene/themes/base/widgets/_SizeSlider.scss +2 -2
  72. package/assets/geoscene/themes/base/widgets/_Sketch.scss +24 -24
  73. package/assets/geoscene/themes/base/widgets/_Slice.scss +5 -5
  74. package/assets/geoscene/themes/base/widgets/_Slider.scss +70 -70
  75. package/assets/geoscene/themes/base/widgets/_SnappingControls.scss +16 -16
  76. package/assets/geoscene/themes/base/widgets/_Spinner.scss +12 -12
  77. package/assets/geoscene/themes/base/widgets/_Swipe.scss +15 -15
  78. package/assets/geoscene/themes/base/widgets/_TableList.scss +57 -57
  79. package/assets/geoscene/themes/base/widgets/_TimePicker.scss +3 -3
  80. package/assets/geoscene/themes/base/widgets/_TimeSlider.scss +28 -28
  81. package/assets/geoscene/themes/base/widgets/_UtilityNetworkTrace.scss +8 -8
  82. package/assets/geoscene/themes/base/widgets/_Weather.scss +2 -2
  83. package/assets/geoscene/themes/base/widgets/_Widget.scss +95 -95
  84. package/assets/geoscene/themes/base/widgets/_Zoom.scss +8 -8
  85. package/assets/geoscene/themes/dark/main.css +1 -1
  86. package/assets/geoscene/themes/dark/main.scss +3 -3
  87. package/assets/geoscene/themes/dark-blue/main.css +1 -1
  88. package/assets/geoscene/themes/dark-blue/main.scss +3 -3
  89. package/assets/geoscene/themes/dark-green/main.css +1 -1
  90. package/assets/geoscene/themes/dark-green/main.scss +3 -3
  91. package/assets/geoscene/themes/dark-purple/main.css +1 -1
  92. package/assets/geoscene/themes/dark-purple/main.scss +3 -3
  93. package/assets/geoscene/themes/dark-red/main.css +1 -1
  94. package/assets/geoscene/themes/dark-red/main.scss +3 -3
  95. package/assets/geoscene/themes/light/main.css +1 -1
  96. package/assets/geoscene/themes/light/main.scss +2 -2
  97. package/assets/geoscene/themes/light/view.css +1 -1
  98. package/assets/geoscene/themes/light-blue/main.css +1 -1
  99. package/assets/geoscene/themes/light-blue/main.scss +3 -3
  100. package/assets/geoscene/themes/light-green/main.css +1 -1
  101. package/assets/geoscene/themes/light-green/main.scss +3 -3
  102. package/assets/geoscene/themes/light-purple/main.css +1 -1
  103. package/assets/geoscene/themes/light-purple/main.scss +3 -3
  104. package/assets/geoscene/themes/light-red/main.css +1 -1
  105. package/assets/geoscene/themes/light-red/main.scss +3 -3
  106. package/identity/IdentityForm.js +1 -1
  107. package/identity/IdentityManagerBase.js +1 -1
  108. package/identity/IdentityModal.js +1 -1
  109. package/interfaces.d.ts +1 -1
  110. package/package.json +1 -1
  111. package/portal/schemas/definitions.js +1 -1
  112. package/portal/schemas/sceneLayerItem.js +1 -1
  113. package/support/basemapDefinitions.js +1 -1
  114. package/support/groundUtils.js +1 -1
  115. package/symbols/support/styleUtils.js +1 -1
  116. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  117. package/views/2d/layers/support/clusterUtils.js +1 -1
  118. package/views/2d/navigation/ZoomBox.js +1 -1
  119. package/views/3d/externalRenderers.js +1 -1
  120. package/views/3d/layers/I3SMeshView3D.js +1 -1
  121. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  122. package/views/BreakpointsOwner.js +1 -1
  123. package/views/DOMContainer.js +1 -1
  124. package/views/input/BrowserEventSource.js +1 -1
  125. package/views/overlay/LineOverlayItem.js +1 -1
  126. package/views/overlay/TextOverlayItem.js +1 -1
  127. package/views/overlay/ViewOverlay.js +1 -1
  128. package/views/ui/Component.js +1 -1
  129. package/views/ui/UI.js +1 -1
  130. package/views/webgl/context-util.js +1 -1
  131. package/widgets/AreaMeasurement2D.js +1 -1
  132. package/widgets/AreaMeasurement3D.js +1 -1
  133. package/widgets/Attachments.js +1 -1
  134. package/widgets/Attribution.js +1 -1
  135. package/widgets/BasemapGallery.js +1 -1
  136. package/widgets/BasemapLayerList.js +1 -1
  137. package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
  138. package/widgets/BasemapToggle.js +1 -1
  139. package/widgets/Bookmarks.js +1 -1
  140. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
  141. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js +1 -1
  142. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  143. package/widgets/BuildingExplorer/BuildingLevelPicker/Label.js +1 -1
  144. package/widgets/BuildingExplorer/BuildingLevelPicker/LevelItem.js +1 -1
  145. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  146. package/widgets/BuildingExplorer.js +1 -1
  147. package/widgets/Compass.js +1 -1
  148. package/widgets/CoordinateConversion.js +1 -1
  149. package/widgets/Daylight/support/SliderWithDropdown.js +1 -1
  150. package/widgets/Daylight.js +1 -1
  151. package/widgets/DirectLineMeasurement3D.js +1 -1
  152. package/widgets/Directions/support/resources.js +1 -1
  153. package/widgets/Directions.js +1 -1
  154. package/widgets/DistanceMeasurement2D.js +1 -1
  155. package/widgets/Editor/deprecationUtils.js +1 -1
  156. package/widgets/Editor.js +1 -1
  157. package/widgets/ElevationProfile/css.js +1 -1
  158. package/widgets/Expand.js +1 -1
  159. package/widgets/Feature/FeatureAttachments.js +1 -1
  160. package/widgets/Feature/FeatureContent.js +1 -1
  161. package/widgets/Feature/FeatureExpression.js +1 -1
  162. package/widgets/Feature/FeatureFields.js +1 -1
  163. package/widgets/Feature/FeatureMedia.js +1 -1
  164. package/widgets/Feature/support/FeatureElementInfo.js +1 -1
  165. package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
  166. package/widgets/Feature/support/featureUtils.js +1 -1
  167. package/widgets/Feature.js +1 -1
  168. package/widgets/FeatureForm.js +1 -1
  169. package/widgets/FeatureTable/AttachmentsColumn.js +1 -1
  170. package/widgets/FeatureTable/FieldColumn.js +1 -1
  171. package/widgets/FeatureTable/Grid/Column.js +1 -1
  172. package/widgets/FeatureTable/Grid/EditorColumn.js +1 -1
  173. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  174. package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
  175. package/widgets/FeatureTable.js +1 -1
  176. package/widgets/FeatureTemplates/ItemList.js +1 -1
  177. package/widgets/FeatureTemplates.js +1 -1
  178. package/widgets/FloorFilter.js +1 -1
  179. package/widgets/Fullscreen.js +1 -1
  180. package/widgets/Histogram.js +1 -1
  181. package/widgets/HistogramRangeSlider.js +1 -1
  182. package/widgets/Home.js +1 -1
  183. package/widgets/LayerList/ListItemPanel.js +1 -1
  184. package/widgets/LayerList.js +1 -1
  185. package/widgets/Legend/styles/Card.js +1 -1
  186. package/widgets/Legend/styles/Classic.js +1 -1
  187. package/widgets/Legend/styles/support/relationshipUtils.js +1 -1
  188. package/widgets/Legend/styles/support/univariateUtils.js +1 -1
  189. package/widgets/Legend.js +1 -1
  190. package/widgets/LineOfSight.js +1 -1
  191. package/widgets/Locate.js +1 -1
  192. package/widgets/Measurement.js +1 -1
  193. package/widgets/NavigationToggle.js +1 -1
  194. package/widgets/Popup.js +1 -1
  195. package/widgets/Print.js +1 -1
  196. package/widgets/ScaleBar.js +1 -1
  197. package/widgets/ScaleRangeSlider.js +1 -1
  198. package/widgets/Search/SearchResultRenderer.js +1 -1
  199. package/widgets/Search.js +1 -1
  200. package/widgets/ShadowCast/css.js +1 -1
  201. package/widgets/Sketch.js +1 -1
  202. package/widgets/Slice.js +1 -1
  203. package/widgets/Slider.js +1 -1
  204. package/widgets/Spinner.js +1 -1
  205. package/widgets/Swipe.js +1 -1
  206. package/widgets/TableList.js +1 -1
  207. package/widgets/TimeSlider.js +1 -1
  208. package/widgets/Track.js +1 -1
  209. package/widgets/UtilityNetworkTrace.js +1 -1
  210. package/widgets/Weather/css.js +1 -1
  211. package/widgets/Widget.js +1 -1
  212. package/widgets/Zoom/IconButton.js +1 -1
  213. package/widgets/Zoom.js +1 -1
  214. package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
  215. package/widgets/smartMapping/ClassedColorSlider.js +1 -1
  216. package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
  217. package/widgets/smartMapping/ColorSizeSlider.js +1 -1
  218. package/widgets/smartMapping/ColorSlider.js +1 -1
  219. package/widgets/smartMapping/HeatmapSlider.js +1 -1
  220. package/widgets/smartMapping/OpacitySlider.js +1 -1
  221. package/widgets/smartMapping/SizeSlider.js +1 -1
  222. package/widgets/support/ColorPicker.js +1 -1
  223. package/widgets/support/DatePicker.js +1 -1
  224. package/widgets/support/Heading.js +1 -1
  225. package/widgets/support/Popover.js +1 -1
  226. package/widgets/support/SelectionToolbar.js +1 -1
  227. package/widgets/support/SnappingControls.js +1 -1
  228. package/widgets/support/TimePicker.js +1 -1
  229. package/widgets/support/widgetThemeUtils.js +1 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import s from"../../Color.js";import{isSome as r}from"../../core/maybe.js";import{aliasOf as t}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as i}from"../../core/accessorSupport/decorators/cast.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import l from"../../renderers/support/ClassBreakInfo.js";import{SmartMappingSliderBase as n}from"./SmartMappingSliderBase.js";import d from"./ClassedSizeSlider/ClassedSizeSliderViewModel.js";import{getFillFromColor as m}from"./support/utils.js";import{storeNode as c}from"../support/widgetUtils.js";import{messageBundle as p}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as h}from"../support/jsxFactory.js";var u;const b={base:"esri-classed-size-slider",rampElement:"esri-classed-size-slider__ramp",sliderContainer:"esri-classed-size-slider__slider-container",histogramContainer:"esri-classed-size-slider__histogram-container",track:"esri-classed-size-slider--interactive-track",geosceneWidget:"esri-widget",geosceneWidgetPanel:"esri-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"esri-disabled"},g={trackFillColor:new s([149,149,149]),trackBackgroundColor:new s([224,224,224])};let f=u=class extends n{constructor(e,s){super(e,s),this._rampNode=null,this.breaks=null,this.label=void 0,this.messages=null,this.style={...g},this.viewModel=new d}castStyle(e){return{...g,...e}}static fromRendererResult(e,s){const{renderer:{classBreakInfos:r}}=e,t=r.map((e=>{const s=e.symbol;let r;switch(s.type){case"simple-line":r=s.width;break;case"simple-marker":r=s.size;break;case"picture-marker":r=s.height}return{min:e.minValue,max:e.maxValue,size:r}}));return new u({breaks:t,histogramConfig:{bins:s?s.bins:[]}})}updateClassBreakInfos(e){const s=this.breaks;if(s.length===e.length)return e.map(((e,r)=>{const t=e.symbol;switch(t.type){case"simple-line":t.width=s[r].size;break;case"simple-marker":t.size=s[r].size;break;case"picture-marker":{const e=s[r].size,i=t.width,a=t.height;t.height=e,t.width=e/a*i;break}}return new l({minValue:s[r].min,maxValue:s[r].max,symbol:t})}));console.error(`Number of input breakInfos must match number of slider breaks: ${s.length}`)}updateFromRendererResult(e,s){const{renderer:{classBreakInfos:r}}=e,t=r.map((e=>{const s=e.symbol;let r;switch(s.type){case"simple-line":r=s.width;break;case"simple-marker":r=s.size;break;case"picture-marker":r=s.height}return{min:e.minValue,max:e.maxValue,size:r}}));this.set({breaks:t}),null!=s&&s.bins&&(this.histogramConfig.bins=s.bins)}render(){const{state:e,label:s,visibleElements:r}=this,t="disabled"===e,i=this.classes(b.base,b.geosceneWidget,b.geosceneWidgetPanel,{[b.disabled]:t,[b.track]:r.interactiveTrack});return h("div",{"aria-label":s,class:i},t?null:this.renderContent(this.renderRamp(),b.sliderContainer,b.histogramContainer))}renderRamp(){const{style:{trackBackgroundColor:e}}=this;return h("div",{afterCreate:c,bind:this,class:b.rampElement,"data-node-ref":"_rampNode"},h("svg",{xmlns:"http://www.w3.org/2000/svg"},h("rect",{x:"0",y:"0",fill:m(e),height:"100%",width:"100%"}),this.renderPath()))}renderPath(){if(!this._rampNode)return;const{offsetHeight:e=0,offsetWidth:s=0}=this._rampNode;if(!r(e)||!r(s))return;const{breaks:t,viewModel:{max:i,min:a},style:{trackFillColor:o}}=this,l=i-a,n=s/t.length,d=t.map((s=>e-Math.round((s.min-a)/l*e)+1)).reverse(),c=t[0].size>t[t.length-1].size||!1;let p=c?n:s,u=`M${p} 0 `;return d.forEach(((e,r)=>{const t=n*(r+1);u+=`L${p} ${e} `,p=c?n+t:s-t,u+=`L${p} ${e} `})),u+=`L0 ${e} L0 ${e} L0 0 Z`,h("path",{d:u,fill:m(o)})}};e([t("viewModel.breaks")],f.prototype,"breaks",void 0),e([a({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],f.prototype,"label",void 0),e([a(),p("geoscene/widgets/smartMapping/ClassedSizeSlider/t9n/ClassedSizeSlider")],f.prototype,"messages",void 0),e([a()],f.prototype,"style",void 0),e([i("style")],f.prototype,"castStyle",null),e([a()],f.prototype,"viewModel",void 0),f=u=e([o("geoscene.widgets.smartMapping.ClassedSizeSlider")],f);const k=f;export{k as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import s from"../../Color.js";import{isSome as r}from"../../core/maybe.js";import{aliasOf as t}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as i}from"../../core/accessorSupport/decorators/cast.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import l from"../../renderers/support/ClassBreakInfo.js";import{SmartMappingSliderBase as n}from"./SmartMappingSliderBase.js";import d from"./ClassedSizeSlider/ClassedSizeSliderViewModel.js";import{getFillFromColor as m}from"./support/utils.js";import{storeNode as c}from"../support/widgetUtils.js";import{messageBundle as p}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as h}from"../support/jsxFactory.js";var u;const b={base:"geoscene-classed-size-slider",rampElement:"geoscene-classed-size-slider__ramp",sliderContainer:"geoscene-classed-size-slider__slider-container",histogramContainer:"geoscene-classed-size-slider__histogram-container",track:"geoscene-classed-size-slider--interactive-track",geosceneWidget:"geoscene-widget",geosceneWidgetPanel:"geoscene-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"geoscene-disabled"},g={trackFillColor:new s([149,149,149]),trackBackgroundColor:new s([224,224,224])};let f=u=class extends n{constructor(e,s){super(e,s),this._rampNode=null,this.breaks=null,this.label=void 0,this.messages=null,this.style={...g},this.viewModel=new d}castStyle(e){return{...g,...e}}static fromRendererResult(e,s){const{renderer:{classBreakInfos:r}}=e,t=r.map((e=>{const s=e.symbol;let r;switch(s.type){case"simple-line":r=s.width;break;case"simple-marker":r=s.size;break;case"picture-marker":r=s.height}return{min:e.minValue,max:e.maxValue,size:r}}));return new u({breaks:t,histogramConfig:{bins:s?s.bins:[]}})}updateClassBreakInfos(e){const s=this.breaks;if(s.length===e.length)return e.map(((e,r)=>{const t=e.symbol;switch(t.type){case"simple-line":t.width=s[r].size;break;case"simple-marker":t.size=s[r].size;break;case"picture-marker":{const e=s[r].size,i=t.width,a=t.height;t.height=e,t.width=e/a*i;break}}return new l({minValue:s[r].min,maxValue:s[r].max,symbol:t})}));console.error(`Number of input breakInfos must match number of slider breaks: ${s.length}`)}updateFromRendererResult(e,s){const{renderer:{classBreakInfos:r}}=e,t=r.map((e=>{const s=e.symbol;let r;switch(s.type){case"simple-line":r=s.width;break;case"simple-marker":r=s.size;break;case"picture-marker":r=s.height}return{min:e.minValue,max:e.maxValue,size:r}}));this.set({breaks:t}),null!=s&&s.bins&&(this.histogramConfig.bins=s.bins)}render(){const{state:e,label:s,visibleElements:r}=this,t="disabled"===e,i=this.classes(b.base,b.geosceneWidget,b.geosceneWidgetPanel,{[b.disabled]:t,[b.track]:r.interactiveTrack});return h("div",{"aria-label":s,class:i},t?null:this.renderContent(this.renderRamp(),b.sliderContainer,b.histogramContainer))}renderRamp(){const{style:{trackBackgroundColor:e}}=this;return h("div",{afterCreate:c,bind:this,class:b.rampElement,"data-node-ref":"_rampNode"},h("svg",{xmlns:"http://www.w3.org/2000/svg"},h("rect",{x:"0",y:"0",fill:m(e),height:"100%",width:"100%"}),this.renderPath()))}renderPath(){if(!this._rampNode)return;const{offsetHeight:e=0,offsetWidth:s=0}=this._rampNode;if(!r(e)||!r(s))return;const{breaks:t,viewModel:{max:i,min:a},style:{trackFillColor:o}}=this,l=i-a,n=s/t.length,d=t.map((s=>e-Math.round((s.min-a)/l*e)+1)).reverse(),c=t[0].size>t[t.length-1].size||!1;let p=c?n:s,u=`M${p} 0 `;return d.forEach(((e,r)=>{const t=n*(r+1);u+=`L${p} ${e} `,p=c?n+t:s-t,u+=`L${p} ${e} `})),u+=`L0 ${e} L0 ${e} L0 0 Z`,h("path",{d:u,fill:m(o)})}};e([t("viewModel.breaks")],f.prototype,"breaks",void 0),e([a({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],f.prototype,"label",void 0),e([a(),p("geoscene/widgets/smartMapping/ClassedSizeSlider/t9n/ClassedSizeSlider")],f.prototype,"messages",void 0),e([a()],f.prototype,"style",void 0),e([i("style")],f.prototype,"castStyle",null),e([a()],f.prototype,"viewModel",void 0),f=u=e([o("geoscene.widgets.smartMapping.ClassedSizeSlider")],f);const k=f;export{k as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import i from"../../core/Error.js";import{isSome as r}from"../../core/maybe.js";import{aliasOf as l}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import a from"../../renderers/visualVariables/support/ColorSizeStop.js";import o from"../../renderers/visualVariables/support/ColorStop.js";import n from"../../renderers/visualVariables/support/SizeStop.js";import{SmartMappingSliderBase as d}from"./SmartMappingSliderBase.js";import p from"./ColorSizeSlider/ColorSizeSliderViewModel.js";import{getDynamicPathForSizeStops as u,getPathForSizeStops as m}from"./support/utils.js";import{storeNode as c}from"../support/widgetUtils.js";import{messageBundle as h}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as v}from"../support/jsxFactory.js";var b;const g={base:"esri-color-size-slider",rampElement:"esri-color-size-slider__ramp",sliderContainer:"esri-color-size-slider__slider-container",histogramContainer:"esri-color-size-slider__histogram-container",primaryHandle:"esri-color-size-slider--primary-handle",track:"esri-color-size-slider--interactive-track",geosceneWidget:"esri-widget",geosceneWidgetPanel:"esri-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"esri-disabled"};let f=b=class extends d{constructor(e,i){super(e,i),this._bgFillId=null,this._backgroundFillColor="#e0e0e0",this._minRampFillWidth=.2,this._rampFillId=null,this._rampNode=null,this._maxRampFillWidth=1,this.handlesSyncedToPrimary=null,this.label=void 0,this.messages=null,this.persistSizeRangeEnabled=null,this.primaryHandleEnabled=null,this.stops=null,this.viewModel=new p,this.zoomOptions=null,this._bgFillId=`${this.id}-bg-fill`,this._rampFillId=`${this.id}-linear-gradient`}static fromRendererResult(e,r){const{renderer:{authoringInfo:{univariateTheme:l}},color:{visualVariable:{stops:s}},size:{visualVariables:t},statistics:o}=e,{avg:n,stddev:d}=o;if(!s)throw new i("ColorSizeSlider-fromRendererResult:invalid-renderer-result","'result' must include 'color' variable.");const p="above-and-below"===l,u=e.renderer.authoringInfo.visualVariables[0],m=u.minSliderValue,c=u.maxSliderValue,h=t.find((e=>"outline"!==(null==e?void 0:e.target)&&!(null!=e&&e.axis&&(null==e||!e.field)&&(null==e||!e.valueExpression))&&((null==e?void 0:e.field)||(null==e?void 0:e.valueExpression)))),v=h.stops,g=s.map(((e,i)=>{const{color:r,label:l,value:t}=e;let o;return o=v&&v.length>0?v[i].size:0===i?h.minSize:i===s.length-1?h.maxSize:null,new a({color:r,label:l,value:t,size:o})}));return new b({max:c,min:m,stops:g,primaryHandleEnabled:p,handlesSyncedToPrimary:p,persistSizeRangeEnabled:p,histogramConfig:{average:n,standardDeviation:d,bins:r?r.bins:[]}})}updateFromRendererResult(e,r){const{renderer:{authoringInfo:{univariateTheme:l}},color:{visualVariable:{stops:s}},size:{visualVariables:t},statistics:o}=e,{avg:n,stddev:d}=o;if(!s)throw new i("ColorSizeSlider-fromRendererResult:invalid-renderer-result","'result' must include 'color' variable.");const p="above-and-below"===l,u=e.renderer.authoringInfo.visualVariables[0],m=u.minSliderValue,c=u.maxSliderValue,h=t.find((e=>"outline"!==(null==e?void 0:e.target)&&!(null!=e&&e.axis&&(null==e||!e.field)&&(null==e||!e.valueExpression))&&((null==e?void 0:e.field)||(null==e?void 0:e.valueExpression)))),v=h.stops,b=s.map(((e,i)=>{const{color:r,label:l,value:t}=e;let o;return o=v&&v.length>0?v[i].size:0===i?h.minSize:i===s.length-1?h.maxSize:null,new a({color:r,label:l,value:t,size:o})}));this.set({max:c,min:m,stops:b,primaryHandleEnabled:p,handlesSyncedToPrimary:p,persistSizeRangeEnabled:p,histogramConfig:{average:n,standardDeviation:d,bins:r?r.bins:[]}})}updateRenderer(e){const{stops:i}=this,l=i[0],s=i[i.length-1],t=i[Math.floor(i.length/2)],a=e.clone(),d=a.visualVariables.map((e=>{if("size"===e.type){if("outline"===(null==e?void 0:e.target)||null!=e&&e.axis&&(null==e||!e.field)&&(null==e||!e.valueExpression))return e;r(e.minSize)&&r(e.maxSize)?e.set({maxDataValue:s.value,minDataValue:l.value,maxSize:s.size,minSize:l.size}):e.stops&&e.set({stops:i.map((e=>{const{label:i,size:r,value:l}=e;return new n({label:i,size:r,value:l})}))})}else"color"===e.type&&e.set({stops:this.stops.map((e=>{const{color:i,label:r,value:l}=e;return new o({color:i,label:r,value:l})}))});return e}));if(a.visualVariables=d,a.classBreakInfos.length>1){const e=t.value;a.classBreakInfos[0].maxValue=e,a.classBreakInfos[1].minValue=e}return a}updateVisualVariables(e){return e.map((e=>{const i=e.clone();if("size"===e.type){if("outline"===(null==e?void 0:e.target)||null!=e&&e.axis&&(null==e||!e.field)&&(null==e||!e.valueExpression))return i;if(r(e.minSize)&&r(e.maxSize)){const{stops:e}=this,r=e[0],l=e[e.length-1];i.set({maxDataValue:l.value,minDataValue:r.value,maxSize:l.size,minSize:r.size})}else e.stops&&i.set({stops:this.stops.map((e=>{const{label:i,size:r,value:l}=e;return new n({label:i,size:r,value:l})}))})}else"color"===e.type&&i.set({stops:this.stops.map((e=>{const{color:i,label:r,value:l}=e;return new o({color:i,label:r,value:l})}))});return i}))}render(){const{label:e,primaryHandleEnabled:i,state:r,visibleElements:l}=this,s="disabled"===r,t=this.classes(g.base,g.geosceneWidget,g.geosceneWidgetPanel,{[g.disabled]:s,[g.primaryHandle]:i,[g.track]:l.interactiveTrack});return v("div",{"aria-label":e,class:t},s?null:this.renderContent(this.renderRamp(),g.sliderContainer,g.histogramContainer))}renderRamp(){const{_bgFillId:e,_rampFillId:i,viewModel:r,zoomOptions:l}=this,s=r.getStopInfo();return v("div",{afterCreate:c,bind:this,class:g.rampElement,"data-node-ref":"_rampNode"},v("svg",{xmlns:"http://www.w3.org/2000/svg"},v("defs",null,this.renderRampFillDefinition(i,s),this.renderBackgroundFillDefinition(e)),v("rect",{x:"0",y:"0",fill:this._backgroundFillColor,height:"100%",width:"100%"}),this.renderPaths()),l?this.renderZoomCaps():null)}renderPaths(){if(!this._rampNode)return;const{offsetHeight:e=0,offsetWidth:i=0}=this._rampNode;if(!r(e)||!r(i))return;const{primaryHandleEnabled:l,stops:s,values:t,viewModel:{max:a,min:o},_bgFillId:n,_maxRampFillWidth:d,_minRampFillWidth:p,_rampFillId:c}=this,h=[d,p];s[0].size<s[s.length-1].size&&h.reverse();const b=t.slice().sort(((e,i)=>e>i?1:-1)),[g,f]=h,[z,S]=b,y=l?u({max:a,min:o,pathHeight:e,pathWidth:i,stops:s,padding:p}):m({bottomValue:z,bottomWidth:g,max:a,min:o,pathHeight:e,pathWidth:i,topValue:S,topWidth:f});return[v("path",{key:"background",d:y,fill:`url(#${n})`}),v("path",{key:"fill",d:y,fill:`url(#${c})`})]}};e([l("viewModel.handlesSyncedToPrimary")],f.prototype,"handlesSyncedToPrimary",void 0),e([s({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],f.prototype,"label",void 0),e([s(),h("geoscene/widgets/smartMapping/ColorSizeSlider/t9n/ColorSizeSlider")],f.prototype,"messages",void 0),e([l("viewModel.persistSizeRangeEnabled")],f.prototype,"persistSizeRangeEnabled",void 0),e([l("viewModel.primaryHandleEnabled")],f.prototype,"primaryHandleEnabled",void 0),e([l("viewModel.stops")],f.prototype,"stops",void 0),e([s()],f.prototype,"viewModel",void 0),e([l("viewModel.zoomOptions")],f.prototype,"zoomOptions",void 0),f=b=e([t("geoscene.widgets.smartMapping.ColorSizeSlider")],f);const z=f;export{z as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import i from"../../core/Error.js";import{isSome as r}from"../../core/maybe.js";import{aliasOf as l}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import a from"../../renderers/visualVariables/support/ColorSizeStop.js";import o from"../../renderers/visualVariables/support/ColorStop.js";import n from"../../renderers/visualVariables/support/SizeStop.js";import{SmartMappingSliderBase as d}from"./SmartMappingSliderBase.js";import p from"./ColorSizeSlider/ColorSizeSliderViewModel.js";import{getDynamicPathForSizeStops as u,getPathForSizeStops as m}from"./support/utils.js";import{storeNode as c}from"../support/widgetUtils.js";import{messageBundle as h}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as v}from"../support/jsxFactory.js";var b;const g={base:"geoscene-color-size-slider",rampElement:"geoscene-color-size-slider__ramp",sliderContainer:"geoscene-color-size-slider__slider-container",histogramContainer:"geoscene-color-size-slider__histogram-container",primaryHandle:"geoscene-color-size-slider--primary-handle",track:"geoscene-color-size-slider--interactive-track",geosceneWidget:"geoscene-widget",geosceneWidgetPanel:"geoscene-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"geoscene-disabled"};let f=b=class extends d{constructor(e,i){super(e,i),this._bgFillId=null,this._backgroundFillColor="#e0e0e0",this._minRampFillWidth=.2,this._rampFillId=null,this._rampNode=null,this._maxRampFillWidth=1,this.handlesSyncedToPrimary=null,this.label=void 0,this.messages=null,this.persistSizeRangeEnabled=null,this.primaryHandleEnabled=null,this.stops=null,this.viewModel=new p,this.zoomOptions=null,this._bgFillId=`${this.id}-bg-fill`,this._rampFillId=`${this.id}-linear-gradient`}static fromRendererResult(e,r){const{renderer:{authoringInfo:{univariateTheme:l}},color:{visualVariable:{stops:s}},size:{visualVariables:t},statistics:o}=e,{avg:n,stddev:d}=o;if(!s)throw new i("ColorSizeSlider-fromRendererResult:invalid-renderer-result","'result' must include 'color' variable.");const p="above-and-below"===l,u=e.renderer.authoringInfo.visualVariables[0],m=u.minSliderValue,c=u.maxSliderValue,h=t.find((e=>"outline"!==(null==e?void 0:e.target)&&!(null!=e&&e.axis&&(null==e||!e.field)&&(null==e||!e.valueExpression))&&((null==e?void 0:e.field)||(null==e?void 0:e.valueExpression)))),v=h.stops,g=s.map(((e,i)=>{const{color:r,label:l,value:t}=e;let o;return o=v&&v.length>0?v[i].size:0===i?h.minSize:i===s.length-1?h.maxSize:null,new a({color:r,label:l,value:t,size:o})}));return new b({max:c,min:m,stops:g,primaryHandleEnabled:p,handlesSyncedToPrimary:p,persistSizeRangeEnabled:p,histogramConfig:{average:n,standardDeviation:d,bins:r?r.bins:[]}})}updateFromRendererResult(e,r){const{renderer:{authoringInfo:{univariateTheme:l}},color:{visualVariable:{stops:s}},size:{visualVariables:t},statistics:o}=e,{avg:n,stddev:d}=o;if(!s)throw new i("ColorSizeSlider-fromRendererResult:invalid-renderer-result","'result' must include 'color' variable.");const p="above-and-below"===l,u=e.renderer.authoringInfo.visualVariables[0],m=u.minSliderValue,c=u.maxSliderValue,h=t.find((e=>"outline"!==(null==e?void 0:e.target)&&!(null!=e&&e.axis&&(null==e||!e.field)&&(null==e||!e.valueExpression))&&((null==e?void 0:e.field)||(null==e?void 0:e.valueExpression)))),v=h.stops,b=s.map(((e,i)=>{const{color:r,label:l,value:t}=e;let o;return o=v&&v.length>0?v[i].size:0===i?h.minSize:i===s.length-1?h.maxSize:null,new a({color:r,label:l,value:t,size:o})}));this.set({max:c,min:m,stops:b,primaryHandleEnabled:p,handlesSyncedToPrimary:p,persistSizeRangeEnabled:p,histogramConfig:{average:n,standardDeviation:d,bins:r?r.bins:[]}})}updateRenderer(e){const{stops:i}=this,l=i[0],s=i[i.length-1],t=i[Math.floor(i.length/2)],a=e.clone(),d=a.visualVariables.map((e=>{if("size"===e.type){if("outline"===(null==e?void 0:e.target)||null!=e&&e.axis&&(null==e||!e.field)&&(null==e||!e.valueExpression))return e;r(e.minSize)&&r(e.maxSize)?e.set({maxDataValue:s.value,minDataValue:l.value,maxSize:s.size,minSize:l.size}):e.stops&&e.set({stops:i.map((e=>{const{label:i,size:r,value:l}=e;return new n({label:i,size:r,value:l})}))})}else"color"===e.type&&e.set({stops:this.stops.map((e=>{const{color:i,label:r,value:l}=e;return new o({color:i,label:r,value:l})}))});return e}));if(a.visualVariables=d,a.classBreakInfos.length>1){const e=t.value;a.classBreakInfos[0].maxValue=e,a.classBreakInfos[1].minValue=e}return a}updateVisualVariables(e){return e.map((e=>{const i=e.clone();if("size"===e.type){if("outline"===(null==e?void 0:e.target)||null!=e&&e.axis&&(null==e||!e.field)&&(null==e||!e.valueExpression))return i;if(r(e.minSize)&&r(e.maxSize)){const{stops:e}=this,r=e[0],l=e[e.length-1];i.set({maxDataValue:l.value,minDataValue:r.value,maxSize:l.size,minSize:r.size})}else e.stops&&i.set({stops:this.stops.map((e=>{const{label:i,size:r,value:l}=e;return new n({label:i,size:r,value:l})}))})}else"color"===e.type&&i.set({stops:this.stops.map((e=>{const{color:i,label:r,value:l}=e;return new o({color:i,label:r,value:l})}))});return i}))}render(){const{label:e,primaryHandleEnabled:i,state:r,visibleElements:l}=this,s="disabled"===r,t=this.classes(g.base,g.geosceneWidget,g.geosceneWidgetPanel,{[g.disabled]:s,[g.primaryHandle]:i,[g.track]:l.interactiveTrack});return v("div",{"aria-label":e,class:t},s?null:this.renderContent(this.renderRamp(),g.sliderContainer,g.histogramContainer))}renderRamp(){const{_bgFillId:e,_rampFillId:i,viewModel:r,zoomOptions:l}=this,s=r.getStopInfo();return v("div",{afterCreate:c,bind:this,class:g.rampElement,"data-node-ref":"_rampNode"},v("svg",{xmlns:"http://www.w3.org/2000/svg"},v("defs",null,this.renderRampFillDefinition(i,s),this.renderBackgroundFillDefinition(e)),v("rect",{x:"0",y:"0",fill:this._backgroundFillColor,height:"100%",width:"100%"}),this.renderPaths()),l?this.renderZoomCaps():null)}renderPaths(){if(!this._rampNode)return;const{offsetHeight:e=0,offsetWidth:i=0}=this._rampNode;if(!r(e)||!r(i))return;const{primaryHandleEnabled:l,stops:s,values:t,viewModel:{max:a,min:o},_bgFillId:n,_maxRampFillWidth:d,_minRampFillWidth:p,_rampFillId:c}=this,h=[d,p];s[0].size<s[s.length-1].size&&h.reverse();const b=t.slice().sort(((e,i)=>e>i?1:-1)),[g,f]=h,[z,S]=b,y=l?u({max:a,min:o,pathHeight:e,pathWidth:i,stops:s,padding:p}):m({bottomValue:z,bottomWidth:g,max:a,min:o,pathHeight:e,pathWidth:i,topValue:S,topWidth:f});return[v("path",{key:"background",d:y,fill:`url(#${n})`}),v("path",{key:"fill",d:y,fill:`url(#${c})`})]}};e([l("viewModel.handlesSyncedToPrimary")],f.prototype,"handlesSyncedToPrimary",void 0),e([s({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],f.prototype,"label",void 0),e([s(),h("geoscene/widgets/smartMapping/ColorSizeSlider/t9n/ColorSizeSlider")],f.prototype,"messages",void 0),e([l("viewModel.persistSizeRangeEnabled")],f.prototype,"persistSizeRangeEnabled",void 0),e([l("viewModel.primaryHandleEnabled")],f.prototype,"primaryHandleEnabled",void 0),e([l("viewModel.stops")],f.prototype,"stops",void 0),e([s()],f.prototype,"viewModel",void 0),e([l("viewModel.zoomOptions")],f.prototype,"zoomOptions",void 0),f=b=e([t("geoscene.widgets.smartMapping.ColorSizeSlider")],f);const z=f;export{z as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{aliasOf as r}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{SmartMappingSliderBase as o}from"./SmartMappingSliderBase.js";import t from"./ColorSlider/ColorSliderViewModel.js";import"../support/widgetUtils.js";import{messageBundle as l}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as a}from"../support/jsxFactory.js";var d;const n={base:"esri-color-slider",rampElement:"esri-color-slider__ramp",sliderContainer:"esri-color-slider__slider-container",histogramContainer:"esri-color-slider__histogram-container",primaryHandle:"esri-color-slider--primary-handle",track:"esri-color-slider--interactive-track",geosceneWidget:"esri-widget",geosceneWidgetPanel:"esri-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"esri-disabled"};let p=d=class extends o{constructor(e,r){super(e,r),this._bgFillId=null,this._rampFillId=null,this.handlesSyncedToPrimary=null,this.label=void 0,this.messages=null,this.primaryHandleEnabled=null,this.stops=null,this.viewModel=new t,this.zoomOptions=null,this._bgFillId=`${this.id}-bg-fill`,this._rampFillId=`${this.id}-linear-gradient`}static fromRendererResult(e,r){const{visualVariable:{stops:i},statistics:s}=e,{avg:o,stddev:t}=s,l=e.renderer.authoringInfo.visualVariables.find((e=>"color"===e.type)),a=l.minSliderValue,n=l.maxSliderValue;return new d({max:n,min:a,stops:i,histogramConfig:{average:o,standardDeviation:t,bins:r?r.bins:[]},primaryHandleEnabled:"high-to-low"!==l.theme})}updateFromRendererResult(e,r){const{visualVariable:{stops:i},statistics:s}=e,{avg:o,stddev:t}=s,l=e.renderer.authoringInfo.visualVariables.find((e=>"color"===e.type)),a=l.minSliderValue,d=l.maxSliderValue;this.set({max:d,min:a,stops:i,histogramConfig:{average:o,standardDeviation:t,bins:r?r.bins:[]},primaryHandleEnabled:"high-to-low"!==l.theme})}render(){const{label:e,primaryHandleEnabled:r,state:i,visibleElements:s}=this,o="disabled"===i,t=this.classes(n.base,n.geosceneWidget,n.geosceneWidgetPanel,{[n.disabled]:o,[n.primaryHandle]:r,[n.track]:s.interactiveTrack});return a("div",{"aria-label":e,class:t},o?null:this.renderContent(this.renderRamp(),n.sliderContainer,n.histogramContainer))}renderRamp(){const{_bgFillId:e,_rampFillId:r,viewModel:i,zoomOptions:s}=this,o=i.getStopInfo();return a("div",{class:n.rampElement},a("svg",{xmlns:"http://www.w3.org/2000/svg"},a("defs",null,this.renderRampFillDefinition(r,o),this.renderBackgroundFillDefinition(e)),a("rect",{x:"0",y:"0",fill:`url(#${e})`,height:"100%",width:"100%"}),a("rect",{x:"0",y:"0",fill:`url(#${r})`,height:"100%",width:"100%"})),s?this.renderZoomCaps():null)}};e([r("viewModel.handlesSyncedToPrimary")],p.prototype,"handlesSyncedToPrimary",void 0),e([i({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],p.prototype,"label",void 0),e([i(),l("geoscene/widgets/smartMapping/ColorSlider/t9n/ColorSlider")],p.prototype,"messages",void 0),e([r("viewModel.primaryHandleEnabled")],p.prototype,"primaryHandleEnabled",void 0),e([r("viewModel.stops")],p.prototype,"stops",void 0),e([i()],p.prototype,"viewModel",void 0),e([r("viewModel.zoomOptions")],p.prototype,"zoomOptions",void 0),p=d=e([s("geoscene.widgets.smartMapping.ColorSlider")],p);const m=p;export{m as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{aliasOf as r}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{SmartMappingSliderBase as o}from"./SmartMappingSliderBase.js";import t from"./ColorSlider/ColorSliderViewModel.js";import"../support/widgetUtils.js";import{messageBundle as l}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as a}from"../support/jsxFactory.js";var d;const n={base:"geoscene-color-slider",rampElement:"geoscene-color-slider__ramp",sliderContainer:"geoscene-color-slider__slider-container",histogramContainer:"geoscene-color-slider__histogram-container",primaryHandle:"geoscene-color-slider--primary-handle",track:"geoscene-color-slider--interactive-track",geosceneWidget:"geoscene-widget",geosceneWidgetPanel:"geoscene-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"geoscene-disabled"};let p=d=class extends o{constructor(e,r){super(e,r),this._bgFillId=null,this._rampFillId=null,this.handlesSyncedToPrimary=null,this.label=void 0,this.messages=null,this.primaryHandleEnabled=null,this.stops=null,this.viewModel=new t,this.zoomOptions=null,this._bgFillId=`${this.id}-bg-fill`,this._rampFillId=`${this.id}-linear-gradient`}static fromRendererResult(e,r){const{visualVariable:{stops:i},statistics:s}=e,{avg:o,stddev:t}=s,l=e.renderer.authoringInfo.visualVariables.find((e=>"color"===e.type)),a=l.minSliderValue,n=l.maxSliderValue;return new d({max:n,min:a,stops:i,histogramConfig:{average:o,standardDeviation:t,bins:r?r.bins:[]},primaryHandleEnabled:"high-to-low"!==l.theme})}updateFromRendererResult(e,r){const{visualVariable:{stops:i},statistics:s}=e,{avg:o,stddev:t}=s,l=e.renderer.authoringInfo.visualVariables.find((e=>"color"===e.type)),a=l.minSliderValue,d=l.maxSliderValue;this.set({max:d,min:a,stops:i,histogramConfig:{average:o,standardDeviation:t,bins:r?r.bins:[]},primaryHandleEnabled:"high-to-low"!==l.theme})}render(){const{label:e,primaryHandleEnabled:r,state:i,visibleElements:s}=this,o="disabled"===i,t=this.classes(n.base,n.geosceneWidget,n.geosceneWidgetPanel,{[n.disabled]:o,[n.primaryHandle]:r,[n.track]:s.interactiveTrack});return a("div",{"aria-label":e,class:t},o?null:this.renderContent(this.renderRamp(),n.sliderContainer,n.histogramContainer))}renderRamp(){const{_bgFillId:e,_rampFillId:r,viewModel:i,zoomOptions:s}=this,o=i.getStopInfo();return a("div",{class:n.rampElement},a("svg",{xmlns:"http://www.w3.org/2000/svg"},a("defs",null,this.renderRampFillDefinition(r,o),this.renderBackgroundFillDefinition(e)),a("rect",{x:"0",y:"0",fill:`url(#${e})`,height:"100%",width:"100%"}),a("rect",{x:"0",y:"0",fill:`url(#${r})`,height:"100%",width:"100%"})),s?this.renderZoomCaps():null)}};e([r("viewModel.handlesSyncedToPrimary")],p.prototype,"handlesSyncedToPrimary",void 0),e([i({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],p.prototype,"label",void 0),e([i(),l("geoscene/widgets/smartMapping/ColorSlider/t9n/ColorSlider")],p.prototype,"messages",void 0),e([r("viewModel.primaryHandleEnabled")],p.prototype,"primaryHandleEnabled",void 0),e([r("viewModel.stops")],p.prototype,"stops",void 0),e([i()],p.prototype,"viewModel",void 0),e([r("viewModel.zoomOptions")],p.prototype,"zoomOptions",void 0),p=d=e([s("geoscene.widgets.smartMapping.ColorSlider")],p);const m=p;export{m as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{aliasOf as s}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{SmartMappingSliderBase as i}from"./SmartMappingSliderBase.js";import a from"./HeatmapSlider/HeatmapSliderViewModel.js";import"../support/widgetUtils.js";import{messageBundle as o}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as l}from"../support/jsxFactory.js";var p;const d={base:"esri-heatmap-slider",rampElement:"esri-heatmap-slider__ramp",sliderContainer:"esri-heatmap-slider__slider-container",track:"esri-heatmap-slider--interactive-track",geosceneWidget:"esri-widget",geosceneWidgetPanel:"esri-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"esri-disabled"};let n=p=class extends i{constructor(e,s){super(e,s),this._rampFillId=null,this.label=void 0,this.messages=null,this.stops=null,this.viewModel=new a,this.slider.set({visibleElements:{labels:!1,rangeLabels:!0},labelInputsEnabled:!1,rangeLabelInputsEnabled:!1}),this._rampFillId=`${this.id}-ramp-fill`}static fromHeatmapRendererResult(e){return new p({stops:e.renderer.colorStops})}render(){const{state:e,label:s,visibleElements:r}=this,t="disabled"===e,i=this.classes(d.base,d.geosceneWidget,d.geosceneWidgetPanel,{[d.disabled]:t,[d.track]:r.interactiveTrack});return l("div",{"aria-label":s,class:i},t?null:this.renderContent(this.renderRamp(),d.sliderContainer))}renderRamp(){const{_rampFillId:e,viewModel:s}=this,r=s.getStopInfo();return l("div",{class:d.rampElement},l("svg",{xmlns:"http://www.w3.org/2000/svg"},l("defs",null,this.renderRampFillDefinition(e,r)),l("rect",{x:"0",y:"0",fill:`url(#${e})`,height:"100%",width:"100%"})))}};e([r({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],n.prototype,"label",void 0),e([r(),o("geoscene/widgets/smartMapping/HeatmapSlider/t9n/HeatmapSlider")],n.prototype,"messages",void 0),e([s("viewModel.stops")],n.prototype,"stops",void 0),e([r()],n.prototype,"viewModel",void 0),n=p=e([t("geoscene.widgets.smartMapping.HeatmapSlider")],n);const m=n;export{m as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{aliasOf as s}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{SmartMappingSliderBase as i}from"./SmartMappingSliderBase.js";import a from"./HeatmapSlider/HeatmapSliderViewModel.js";import"../support/widgetUtils.js";import{messageBundle as o}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as l}from"../support/jsxFactory.js";var p;const d={base:"geoscene-heatmap-slider",rampElement:"geoscene-heatmap-slider__ramp",sliderContainer:"geoscene-heatmap-slider__slider-container",track:"geoscene-heatmap-slider--interactive-track",geosceneWidget:"geoscene-widget",geosceneWidgetPanel:"geoscene-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"geoscene-disabled"};let n=p=class extends i{constructor(e,s){super(e,s),this._rampFillId=null,this.label=void 0,this.messages=null,this.stops=null,this.viewModel=new a,this.slider.set({visibleElements:{labels:!1,rangeLabels:!0},labelInputsEnabled:!1,rangeLabelInputsEnabled:!1}),this._rampFillId=`${this.id}-ramp-fill`}static fromHeatmapRendererResult(e){return new p({stops:e.renderer.colorStops})}render(){const{state:e,label:s,visibleElements:r}=this,t="disabled"===e,i=this.classes(d.base,d.geosceneWidget,d.geosceneWidgetPanel,{[d.disabled]:t,[d.track]:r.interactiveTrack});return l("div",{"aria-label":s,class:i},t?null:this.renderContent(this.renderRamp(),d.sliderContainer))}renderRamp(){const{_rampFillId:e,viewModel:s}=this,r=s.getStopInfo();return l("div",{class:d.rampElement},l("svg",{xmlns:"http://www.w3.org/2000/svg"},l("defs",null,this.renderRampFillDefinition(e,r)),l("rect",{x:"0",y:"0",fill:`url(#${e})`,height:"100%",width:"100%"})))}};e([r({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],n.prototype,"label",void 0),e([r(),o("geoscene/widgets/smartMapping/HeatmapSlider/t9n/HeatmapSlider")],n.prototype,"messages",void 0),e([s("viewModel.stops")],n.prototype,"stops",void 0),e([r()],n.prototype,"viewModel",void 0),n=p=e([t("geoscene.widgets.smartMapping.HeatmapSlider")],n);const m=n;export{m as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as i}from"../../chunks/tslib.es6.js";import s from"../../Color.js";import{aliasOf as t}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as e}from"../../core/accessorSupport/decorators/cast.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{SmartMappingSliderBase as a}from"./SmartMappingSliderBase.js";import l from"./OpacitySlider/OpacitySliderViewModel.js";import"../support/widgetUtils.js";import{messageBundle as p}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as d}from"../support/jsxFactory.js";var n;const c={base:"esri-opacity-slider",rampElement:"esri-opacity-slider__ramp",sliderContainer:"esri-opacity-slider__slider-container",histogramContainer:"esri-opacity-slider__histogram-container",track:"esri-opacity-slider--interactive-track",geosceneWidget:"esri-widget",geosceneWidgetPanel:"esri-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"esri-disabled"},m={trackFillColor:new s([0,121,193])};let g=n=class extends a{constructor(i,s){super(i,s),this._bgFillId=null,this._rampFillId=null,this.label=void 0,this.messages=null,this.stops=null,this.style={...m},this.viewModel=new l,this.zoomOptions=null,this._rampFillId=`${this.id}-ramp-fill`,this._bgFillId=`${this.id}-bg-fill`}castStyle(i){return{...m,...i}}static fromVisualVariableResult(i,s){const{visualVariable:{stops:t},statistics:e}=i,{avg:r,max:o,min:a,stddev:l}=e;return new n({max:o,min:a,stops:t,histogramConfig:{average:r,standardDeviation:l,bins:s?s.bins:[]}})}updateFromVisualVariableResult(i,s){const{visualVariable:{stops:t},statistics:e}=i,{avg:r,max:o,min:a,stddev:l}=e;this.set({max:o,min:a,stops:t,histogramConfig:{average:r,standardDeviation:l,bins:s?s.bins:[]}})}render(){const{state:i,label:s,visibleElements:t}=this,e="disabled"===i,r=this.classes(c.base,c.geosceneWidget,c.geosceneWidgetPanel,{[c.disabled]:e,[c.track]:t.interactiveTrack});return d("div",{"aria-label":s,class:r},e?null:this.renderContent(this.renderRamp(),c.sliderContainer,c.histogramContainer))}renderRamp(){const{_bgFillId:i,_rampFillId:s,style:{trackFillColor:t},viewModel:e,zoomOptions:r}=this,o=e.getStopInfo(t);return d("div",{class:c.rampElement},d("svg",{xmlns:"http://www.w3.org/2000/svg"},d("defs",null,this.renderRampFillDefinition(s,o),this.renderBackgroundFillDefinition(i)),d("rect",{x:"0",y:"0",fill:`url(#${i})`,height:"100%",width:"100%"}),d("rect",{x:"0",y:"0",fill:`url(#${s})`,height:"100%",width:"100%"})),r?this.renderZoomCaps():null)}};i([r({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],g.prototype,"label",void 0),i([r(),p("geoscene/widgets/smartMapping/OpacitySlider/t9n/OpacitySlider")],g.prototype,"messages",void 0),i([t("viewModel.stops")],g.prototype,"stops",void 0),i([r()],g.prototype,"style",void 0),i([e("style")],g.prototype,"castStyle",null),i([r()],g.prototype,"viewModel",void 0),i([t("viewModel.zoomOptions")],g.prototype,"zoomOptions",void 0),g=n=i([o("geoscene.widgets.smartMapping.OpacitySlider")],g);const u=g;export{u as default};
5
+ import{_ as i}from"../../chunks/tslib.es6.js";import s from"../../Color.js";import{aliasOf as t}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as e}from"../../core/accessorSupport/decorators/cast.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{SmartMappingSliderBase as a}from"./SmartMappingSliderBase.js";import l from"./OpacitySlider/OpacitySliderViewModel.js";import"../support/widgetUtils.js";import{messageBundle as p}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as d}from"../support/jsxFactory.js";var n;const c={base:"geoscene-opacity-slider",rampElement:"geoscene-opacity-slider__ramp",sliderContainer:"geoscene-opacity-slider__slider-container",histogramContainer:"geoscene-opacity-slider__histogram-container",track:"geoscene-opacity-slider--interactive-track",geosceneWidget:"geoscene-widget",geosceneWidgetPanel:"geoscene-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"geoscene-disabled"},m={trackFillColor:new s([0,121,193])};let g=n=class extends a{constructor(i,s){super(i,s),this._bgFillId=null,this._rampFillId=null,this.label=void 0,this.messages=null,this.stops=null,this.style={...m},this.viewModel=new l,this.zoomOptions=null,this._rampFillId=`${this.id}-ramp-fill`,this._bgFillId=`${this.id}-bg-fill`}castStyle(i){return{...m,...i}}static fromVisualVariableResult(i,s){const{visualVariable:{stops:t},statistics:e}=i,{avg:r,max:o,min:a,stddev:l}=e;return new n({max:o,min:a,stops:t,histogramConfig:{average:r,standardDeviation:l,bins:s?s.bins:[]}})}updateFromVisualVariableResult(i,s){const{visualVariable:{stops:t},statistics:e}=i,{avg:r,max:o,min:a,stddev:l}=e;this.set({max:o,min:a,stops:t,histogramConfig:{average:r,standardDeviation:l,bins:s?s.bins:[]}})}render(){const{state:i,label:s,visibleElements:t}=this,e="disabled"===i,r=this.classes(c.base,c.geosceneWidget,c.geosceneWidgetPanel,{[c.disabled]:e,[c.track]:t.interactiveTrack});return d("div",{"aria-label":s,class:r},e?null:this.renderContent(this.renderRamp(),c.sliderContainer,c.histogramContainer))}renderRamp(){const{_bgFillId:i,_rampFillId:s,style:{trackFillColor:t},viewModel:e,zoomOptions:r}=this,o=e.getStopInfo(t);return d("div",{class:c.rampElement},d("svg",{xmlns:"http://www.w3.org/2000/svg"},d("defs",null,this.renderRampFillDefinition(s,o),this.renderBackgroundFillDefinition(i)),d("rect",{x:"0",y:"0",fill:`url(#${i})`,height:"100%",width:"100%"}),d("rect",{x:"0",y:"0",fill:`url(#${s})`,height:"100%",width:"100%"})),r?this.renderZoomCaps():null)}};i([r({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],g.prototype,"label",void 0),i([r(),p("geoscene/widgets/smartMapping/OpacitySlider/t9n/OpacitySlider")],g.prototype,"messages",void 0),i([t("viewModel.stops")],g.prototype,"stops",void 0),i([r()],g.prototype,"style",void 0),i([e("style")],g.prototype,"castStyle",null),i([r()],g.prototype,"viewModel",void 0),i([t("viewModel.zoomOptions")],g.prototype,"zoomOptions",void 0),g=n=i([o("geoscene.widgets.smartMapping.OpacitySlider")],g);const u=g;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import s from"../../Color.js";import{isSome as i}from"../../core/maybe.js";import{aliasOf as r}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as t}from"../../core/accessorSupport/decorators/cast.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import l from"../../renderers/visualVariables/SizeVariable.js";import n from"../../renderers/visualVariables/support/SizeStop.js";import{SmartMappingSliderBase as d}from"./SmartMappingSliderBase.js";import p from"./SizeSlider/SizeSliderViewModel.js";import{getSizesFromVariable as m,getFillFromColor as c,getDynamicPathForSizeStops as u,getPathForSizeStops as h}from"./support/utils.js";import{storeNode as z}from"../support/widgetUtils.js";import{messageBundle as v}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as g}from"../support/jsxFactory.js";var b;const f={base:"esri-size-slider",rampElement:"esri-size-slider__ramp",sliderContainer:"esri-size-slider__slider-container",histogramContainer:"esri-size-slider__histogram-container",zoomCapTop:"esri-size-slider__zoom-cap-top",zoomCapBottom:"esri-size-slider__zoom-cap-bottom",zoomCapLine:"esri-size-slider__zoom-cap-line",zoomCapMask:"esri-size-slider__zoom-cap-mask",zoomCapUnderline:"esri-size-slider__zoom-cap-underline",primaryHandle:"esri-size-slider--primary-handle",track:"esri-size-slider--interactive-track",geosceneWidget:"esri-widget",geosceneWidgetPanel:"esri-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"esri-disabled"},y={trackFillColor:new s([149,149,149]),trackBackgroundColor:new s([224,224,224])};let S=b=class extends d{constructor(e,s){super(e,s),this._maxRampFillWidth=1,this._minRampFillWidth=.2,this._rampNode=null,this.handlesSyncedToPrimary=null,this.label=void 0,this.messages=null,this.persistSizeRangeEnabled=null,this.primaryHandleEnabled=null,this.stops=null,this.style={...y},this.viewModel=new p,this.zoomOptions=null}castStyle(e){return{...y,...e}}static fromRendererResult(e,s){const{visualVariables:i,statistics:r}=e,{avg:t,stddev:a}=r,o=i[0],[l,n]=m(o),d=e.renderer.authoringInfo.visualVariables[0],p=d.minSliderValue,c=d.maxSliderValue;return new b({max:c,min:p,stops:[{value:o.minDataValue,size:n},{value:o.maxDataValue,size:l}],histogramConfig:{average:t,standardDeviation:a,bins:s?s.bins:[]}})}updateFromRendererResult(e,s){const{visualVariables:i,statistics:r}=e,{avg:t,stddev:a}=r,o=i[0],[l,n]=m(o),d=e.renderer.authoringInfo.visualVariables[0],p=d.minSliderValue,c=d.maxSliderValue;this.set({max:c,min:p,stops:[{value:o.minDataValue,size:n},{value:o.maxDataValue,size:l}],histogramConfig:{average:t,standardDeviation:a,bins:s?s.bins:[]}})}updateVisualVariable(e){const s=e.clone(),{stops:i}=this;if(!e||!i)return null;if(s.stops)return s.stops=i,s;const r=i[0],t=i[i.length-1];let a=s.maxSize,o=s.minSize;if(a instanceof l){const e=a.stops,s=t.size/e[0].size,i=e.map((e=>(e.size*=s,e)));a.stops=i}else a=t.size;if(o instanceof l){const e=o.stops,s=r.size/e[0].size,i=e.map((e=>(e.size*=s,e)));o.stops=i}else o=r.size;return s.set({maxDataValue:t.value,minDataValue:r.value,maxSize:a,minSize:o}),s}updateFromVisualVariable(e){if(!e)return;const{maxDataValue:s,minDataValue:i,stops:r}=e;if(r)this.stops=r;else{const[r,t]=m(e);this.stops=[new n({value:i,size:t}),new n({value:s,size:r})]}}render(){const{label:e,primaryHandleEnabled:s,state:i,visibleElements:r}=this,t="disabled"===i,a=this.classes(f.base,f.geosceneWidget,f.geosceneWidgetPanel,{[f.disabled]:t,[f.primaryHandle]:s,[f.track]:r.interactiveTrack});return g("div",{"aria-label":e,class:a},t?null:this.renderContent(this.renderRamp(),f.sliderContainer,f.histogramContainer))}renderRamp(){const{style:{trackBackgroundColor:e},zoomOptions:s}=this;return g("div",{afterCreate:z,bind:this,class:f.rampElement,"data-node-ref":"_rampNode"},g("svg",{key:"ramp-svg",xmlns:"http://www.w3.org/2000/svg"},g("rect",{x:"0",y:"0",fill:c(e),height:"100%",width:"100%"}),this.renderPath()),s?this.renderZoomCaps():null)}renderPath(){if(!this._rampNode)return;const{offsetHeight:e=0,offsetWidth:s=0}=this._rampNode;if(!i(e)||!i(s))return;const{primaryHandleEnabled:r,stops:t,style:{trackFillColor:a},values:o,viewModel:{max:l,min:n},_maxRampFillWidth:d,_minRampFillWidth:p}=this,m=[d,p];t[0].size<t[t.length-1].size&&m.reverse();const z=o.slice().sort(((e,s)=>e>s?1:-1)),[v,b]=m,[f,y]=z,S=r?u({max:l,min:n,pathHeight:e,pathWidth:s,stops:t,padding:b}):h({bottomValue:f,bottomWidth:v,max:l,min:n,pathHeight:e,pathWidth:s,topValue:y,topWidth:b});return g("path",{d:S,fill:c(a)})}};e([r("viewModel.handlesSyncedToPrimary")],S.prototype,"handlesSyncedToPrimary",void 0),e([a({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],S.prototype,"label",void 0),e([a(),v("geoscene/widgets/smartMapping/SizeSlider/t9n/SizeSlider")],S.prototype,"messages",void 0),e([r("viewModel.persistSizeRangeEnabled")],S.prototype,"persistSizeRangeEnabled",void 0),e([r("viewModel.primaryHandleEnabled")],S.prototype,"primaryHandleEnabled",void 0),e([r("viewModel.stops")],S.prototype,"stops",void 0),e([a()],S.prototype,"style",void 0),e([t("style")],S.prototype,"castStyle",null),e([a()],S.prototype,"viewModel",void 0),e([r("viewModel.zoomOptions")],S.prototype,"zoomOptions",void 0),S=b=e([o("geoscene.widgets.smartMapping.SizeSlider")],S);const w=S;export{w as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import s from"../../Color.js";import{isSome as i}from"../../core/maybe.js";import{aliasOf as r}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as t}from"../../core/accessorSupport/decorators/cast.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import l from"../../renderers/visualVariables/SizeVariable.js";import n from"../../renderers/visualVariables/support/SizeStop.js";import{SmartMappingSliderBase as d}from"./SmartMappingSliderBase.js";import p from"./SizeSlider/SizeSliderViewModel.js";import{getSizesFromVariable as m,getFillFromColor as c,getDynamicPathForSizeStops as u,getPathForSizeStops as h}from"./support/utils.js";import{storeNode as z}from"../support/widgetUtils.js";import{messageBundle as v}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as g}from"../support/jsxFactory.js";var b;const f={base:"geoscene-size-slider",rampElement:"geoscene-size-slider__ramp",sliderContainer:"geoscene-size-slider__slider-container",histogramContainer:"geoscene-size-slider__histogram-container",zoomCapTop:"geoscene-size-slider__zoom-cap-top",zoomCapBottom:"geoscene-size-slider__zoom-cap-bottom",zoomCapLine:"geoscene-size-slider__zoom-cap-line",zoomCapMask:"geoscene-size-slider__zoom-cap-mask",zoomCapUnderline:"geoscene-size-slider__zoom-cap-underline",primaryHandle:"geoscene-size-slider--primary-handle",track:"geoscene-size-slider--interactive-track",geosceneWidget:"geoscene-widget",geosceneWidgetPanel:"geoscene-widget--panel",widgetIcon:"geoscene-icon-edit",disabled:"geoscene-disabled"},y={trackFillColor:new s([149,149,149]),trackBackgroundColor:new s([224,224,224])};let S=b=class extends d{constructor(e,s){super(e,s),this._maxRampFillWidth=1,this._minRampFillWidth=.2,this._rampNode=null,this.handlesSyncedToPrimary=null,this.label=void 0,this.messages=null,this.persistSizeRangeEnabled=null,this.primaryHandleEnabled=null,this.stops=null,this.style={...y},this.viewModel=new p,this.zoomOptions=null}castStyle(e){return{...y,...e}}static fromRendererResult(e,s){const{visualVariables:i,statistics:r}=e,{avg:t,stddev:a}=r,o=i[0],[l,n]=m(o),d=e.renderer.authoringInfo.visualVariables[0],p=d.minSliderValue,c=d.maxSliderValue;return new b({max:c,min:p,stops:[{value:o.minDataValue,size:n},{value:o.maxDataValue,size:l}],histogramConfig:{average:t,standardDeviation:a,bins:s?s.bins:[]}})}updateFromRendererResult(e,s){const{visualVariables:i,statistics:r}=e,{avg:t,stddev:a}=r,o=i[0],[l,n]=m(o),d=e.renderer.authoringInfo.visualVariables[0],p=d.minSliderValue,c=d.maxSliderValue;this.set({max:c,min:p,stops:[{value:o.minDataValue,size:n},{value:o.maxDataValue,size:l}],histogramConfig:{average:t,standardDeviation:a,bins:s?s.bins:[]}})}updateVisualVariable(e){const s=e.clone(),{stops:i}=this;if(!e||!i)return null;if(s.stops)return s.stops=i,s;const r=i[0],t=i[i.length-1];let a=s.maxSize,o=s.minSize;if(a instanceof l){const e=a.stops,s=t.size/e[0].size,i=e.map((e=>(e.size*=s,e)));a.stops=i}else a=t.size;if(o instanceof l){const e=o.stops,s=r.size/e[0].size,i=e.map((e=>(e.size*=s,e)));o.stops=i}else o=r.size;return s.set({maxDataValue:t.value,minDataValue:r.value,maxSize:a,minSize:o}),s}updateFromVisualVariable(e){if(!e)return;const{maxDataValue:s,minDataValue:i,stops:r}=e;if(r)this.stops=r;else{const[r,t]=m(e);this.stops=[new n({value:i,size:t}),new n({value:s,size:r})]}}render(){const{label:e,primaryHandleEnabled:s,state:i,visibleElements:r}=this,t="disabled"===i,a=this.classes(f.base,f.geosceneWidget,f.geosceneWidgetPanel,{[f.disabled]:t,[f.primaryHandle]:s,[f.track]:r.interactiveTrack});return g("div",{"aria-label":e,class:a},t?null:this.renderContent(this.renderRamp(),f.sliderContainer,f.histogramContainer))}renderRamp(){const{style:{trackBackgroundColor:e},zoomOptions:s}=this;return g("div",{afterCreate:z,bind:this,class:f.rampElement,"data-node-ref":"_rampNode"},g("svg",{key:"ramp-svg",xmlns:"http://www.w3.org/2000/svg"},g("rect",{x:"0",y:"0",fill:c(e),height:"100%",width:"100%"}),this.renderPath()),s?this.renderZoomCaps():null)}renderPath(){if(!this._rampNode)return;const{offsetHeight:e=0,offsetWidth:s=0}=this._rampNode;if(!i(e)||!i(s))return;const{primaryHandleEnabled:r,stops:t,style:{trackFillColor:a},values:o,viewModel:{max:l,min:n},_maxRampFillWidth:d,_minRampFillWidth:p}=this,m=[d,p];t[0].size<t[t.length-1].size&&m.reverse();const z=o.slice().sort(((e,s)=>e>s?1:-1)),[v,b]=m,[f,y]=z,S=r?u({max:l,min:n,pathHeight:e,pathWidth:s,stops:t,padding:b}):h({bottomValue:f,bottomWidth:v,max:l,min:n,pathHeight:e,pathWidth:s,topValue:y,topWidth:b});return g("path",{d:S,fill:c(a)})}};e([r("viewModel.handlesSyncedToPrimary")],S.prototype,"handlesSyncedToPrimary",void 0),e([a({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],S.prototype,"label",void 0),e([a(),v("geoscene/widgets/smartMapping/SizeSlider/t9n/SizeSlider")],S.prototype,"messages",void 0),e([r("viewModel.persistSizeRangeEnabled")],S.prototype,"persistSizeRangeEnabled",void 0),e([r("viewModel.primaryHandleEnabled")],S.prototype,"primaryHandleEnabled",void 0),e([r("viewModel.stops")],S.prototype,"stops",void 0),e([a()],S.prototype,"style",void 0),e([t("style")],S.prototype,"castStyle",null),e([a()],S.prototype,"viewModel",void 0),e([r("viewModel.zoomOptions")],S.prototype,"zoomOptions",void 0),S=b=e([o("geoscene.widgets.smartMapping.SizeSlider")],S);const w=S;export{w as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import o from"../../Color.js";import t from"../../core/Handles.js";import{makeHandle as r}from"../../core/handleUtils.js";import{applySome as s,destroyMaybe as i,isSome as n,isNone as a}from"../../core/maybe.js";import{createTask as l,throwIfAborted as c}from"../../core/promiseUtils.js";import{watch as p,syncAndInitial as h}from"../../core/reactiveUtils.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import m from"../Widget.js";import{tsx as _}from"./jsxFactory.js";import v from"./Popover.js";import"./widgetUtils.js";import{messageBundle as C}from"./decorators/messageBundle.js";import"../../core/Logger.js";const P="esri-color-picker",y={base:P,backgroundPattern:`${P}__bg-pattern`,toggleButton:`${P}__toggle-button`,popover:`${P}__popover`,opacitySliderContainer:`${P}__opacity-slider-container`,opacitySlider:`${P}__opacity-slider`};var b;!function(e){e.ColorPickerFocus="hex-input-poll-timeout",e.ButtonFocusTimeout="button-focus-timeout"}(b||(b={}));let f=class extends m{constructor(e,r){super(e,r),this.value=new o,this.alphaEnabled=!0,this._handles=new t,this._containerElement=null,this._popover=null,this._popoverElement=null,this._buttonElement=null,this._colorPickerCreated=!1}initialize(){this.own(p((()=>({container:this._containerElement,value:this.value})),(({container:e,value:o})=>{s(e,(e=>{e.style.setProperty("--esri-color-picker-value",o.toCss(!0))}))}),h))}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-button.js"),import("@esri/calcite-components/dist/components/calcite-color-picker.js"),import("@esri/calcite-components/dist/components/calcite-label.js"),import("@esri/calcite-components/dist/components/calcite-slider.js")])}destroy(){this._destroyPopover(),this._handles=i(this._handles),this._buttonElement=null}render(){const e=this._messages,o=n(this._popover)&&this._popover.open?e.close:e.open;return _("div",{class:this.classes(y.base,this.class),bind:this,afterCreate:this._onContainerAfterCreate},_("div",{class:y.backgroundPattern}),_("calcite-button",{appearance:"transparent",label:o,class:y.toggleButton,color:"neutral",id:this.id,scale:"s",tabIndex:-1,title:o,bind:this,onclick:this._togglePopover,afterCreate:this._onButtonAfterCreate}))}_onContainerAfterCreate(e){this._containerElement=e}_onButtonAfterCreate(e){this._destroyPopover(),this._buttonElement=e,this._popover=new v({owner:this,anchorElement:e,placement:"bottom-start",renderContentFunction:this._renderPopoverContent})}_destroyPopover(){this._handles.remove(b.ColorPickerFocus),this._popover=i(this._popover),this._popoverElement=null}_renderPopoverContent(){const e=this.value,o=this._messages;return _("div",{class:y.popover,tabIndex:-1,bind:this,afterCreate:this._onPopoverAfterCreate,onfocusout:this._onPopoverFocusOut,onkeydown:this._onPopoverKeyDown},_("calcite-color-picker",{appearance:"minimal",hideSaved:!0,hideChannels:!0,scale:"m",value:this._colorPickerCreated?e.toCss():null,bind:this,onCalciteColorPickerInput:this._onColorInput,afterCreate:this._onColorPickerAfterCreate,afterRemoved:()=>this._colorPickerCreated=!1}),this.alphaEnabled&&_("section",{class:y.opacitySliderContainer},_("calcite-label",{scale:"s"},o.opacity,_("calcite-slider",{class:y.opacitySlider,labelHandles:!0,min:0,max:1,step:.01,value:e.a,bind:this,onCalciteSliderInput:this._onOpacityChange}))))}_onColorInput(e){const t=e.target.value,r="string"==typeof t?new o(t):new o;r.a=this.value.a,this._onChange(r)}_onOpacityChange(e){const o=e.target,t=this.value.clone();t.a=o.value,this._onChange(t)}_onChange(e){this.value=e,n(this.onChange)&&this.onChange(e)}_onColorPickerAfterCreate(e){this._handles.remove(b.ColorPickerFocus);const o=l((async o=>{await(null==e.componentOnReady?void 0:e.componentOnReady()),c(o),this._colorPickerCreated=!0,await new Promise((e=>requestAnimationFrame(e))),c(o),e.setFocus()}));this._handles.add(r((()=>{o.abort(),this._colorPickerCreated=!1})),b.ColorPickerFocus)}_togglePopover(e){n(this._popover)&&this._popover.open?this._closePopover():this._openPopover()}_openPopover(){s(this._popover,(e=>e.open=!0))}_closePopover(){this._handles.remove(b.ColorPickerFocus),s(this._popover,(e=>e.open=!1)),this._setFocusOnButton()}_setFocusOnButton(){this._handles.remove(b.ButtonFocusTimeout),this._handles.add(g((()=>{s(this._buttonElement,(e=>e.setFocus()))})),b.ButtonFocusTimeout)}_onPopoverAfterCreate(e){this._popoverElement=e}_onPopoverFocusOut(e){const o=this._popoverElement;if(a(o))return;const t=e.relatedTarget;if(t&&t instanceof Node){if(o.contains(t))return;if(t===this._buttonElement||this._isAssociatedLabel(t))return}this._closePopover()}_isAssociatedLabel(e){var o;const t=this.id,r=null==(o=e.tagName)?void 0:o.toLowerCase();return"calcite-label"===r&&e.for===t||"label"===r&&e.htmlFor===t}_onPopoverKeyDown(e){"Escape"!==e.key&&"Enter"!==e.key||(e.stopPropagation(),this._closePopover())}};function g(e,o){const t=setTimeout(e,o);return r((()=>clearTimeout(t)))}e([u()],f.prototype,"class",void 0),e([u()],f.prototype,"value",void 0),e([u()],f.prototype,"alphaEnabled",void 0),e([u()],f.prototype,"onChange",void 0),e([u()],f.prototype,"_containerElement",void 0),e([u()],f.prototype,"_popover",void 0),e([u()],f.prototype,"_popoverElement",void 0),e([u()],f.prototype,"_buttonElement",void 0),e([u(),C("geoscene/widgets/support/t9n/ColorPicker")],f.prototype,"_messages",void 0),e([u()],f.prototype,"_colorPickerCreated",void 0),f=e([d("geoscene.widgets.support.ColorPicker")],f);export{f as ColorPicker};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import o from"../../Color.js";import t from"../../core/Handles.js";import{makeHandle as r}from"../../core/handleUtils.js";import{applySome as s,destroyMaybe as i,isSome as n,isNone as a}from"../../core/maybe.js";import{createTask as l,throwIfAborted as c}from"../../core/promiseUtils.js";import{watch as p,syncAndInitial as h}from"../../core/reactiveUtils.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import m from"../Widget.js";import{tsx as _}from"./jsxFactory.js";import v from"./Popover.js";import"./widgetUtils.js";import{messageBundle as C}from"./decorators/messageBundle.js";import"../../core/Logger.js";const P="geoscene-color-picker",y={base:P,backgroundPattern:`${P}__bg-pattern`,toggleButton:`${P}__toggle-button`,popover:`${P}__popover`,opacitySliderContainer:`${P}__opacity-slider-container`,opacitySlider:`${P}__opacity-slider`};var b;!function(e){e.ColorPickerFocus="hex-input-poll-timeout",e.ButtonFocusTimeout="button-focus-timeout"}(b||(b={}));let f=class extends m{constructor(e,r){super(e,r),this.value=new o,this.alphaEnabled=!0,this._handles=new t,this._containerElement=null,this._popover=null,this._popoverElement=null,this._buttonElement=null,this._colorPickerCreated=!1}initialize(){this.own(p((()=>({container:this._containerElement,value:this.value})),(({container:e,value:o})=>{s(e,(e=>{e.style.setProperty("--geoscene-color-picker-value",o.toCss(!0))}))}),h))}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-button.js"),import("@esri/calcite-components/dist/components/calcite-color-picker.js"),import("@esri/calcite-components/dist/components/calcite-label.js"),import("@esri/calcite-components/dist/components/calcite-slider.js")])}destroy(){this._destroyPopover(),this._handles=i(this._handles),this._buttonElement=null}render(){const e=this._messages,o=n(this._popover)&&this._popover.open?e.close:e.open;return _("div",{class:this.classes(y.base,this.class),bind:this,afterCreate:this._onContainerAfterCreate},_("div",{class:y.backgroundPattern}),_("calcite-button",{appearance:"transparent",label:o,class:y.toggleButton,color:"neutral",id:this.id,scale:"s",tabIndex:-1,title:o,bind:this,onclick:this._togglePopover,afterCreate:this._onButtonAfterCreate}))}_onContainerAfterCreate(e){this._containerElement=e}_onButtonAfterCreate(e){this._destroyPopover(),this._buttonElement=e,this._popover=new v({owner:this,anchorElement:e,placement:"bottom-start",renderContentFunction:this._renderPopoverContent})}_destroyPopover(){this._handles.remove(b.ColorPickerFocus),this._popover=i(this._popover),this._popoverElement=null}_renderPopoverContent(){const e=this.value,o=this._messages;return _("div",{class:y.popover,tabIndex:-1,bind:this,afterCreate:this._onPopoverAfterCreate,onfocusout:this._onPopoverFocusOut,onkeydown:this._onPopoverKeyDown},_("calcite-color-picker",{appearance:"minimal",hideSaved:!0,hideChannels:!0,scale:"m",value:this._colorPickerCreated?e.toCss():null,bind:this,onCalciteColorPickerInput:this._onColorInput,afterCreate:this._onColorPickerAfterCreate,afterRemoved:()=>this._colorPickerCreated=!1}),this.alphaEnabled&&_("section",{class:y.opacitySliderContainer},_("calcite-label",{scale:"s"},o.opacity,_("calcite-slider",{class:y.opacitySlider,labelHandles:!0,min:0,max:1,step:.01,value:e.a,bind:this,onCalciteSliderInput:this._onOpacityChange}))))}_onColorInput(e){const t=e.target.value,r="string"==typeof t?new o(t):new o;r.a=this.value.a,this._onChange(r)}_onOpacityChange(e){const o=e.target,t=this.value.clone();t.a=o.value,this._onChange(t)}_onChange(e){this.value=e,n(this.onChange)&&this.onChange(e)}_onColorPickerAfterCreate(e){this._handles.remove(b.ColorPickerFocus);const o=l((async o=>{await(null==e.componentOnReady?void 0:e.componentOnReady()),c(o),this._colorPickerCreated=!0,await new Promise((e=>requestAnimationFrame(e))),c(o),e.setFocus()}));this._handles.add(r((()=>{o.abort(),this._colorPickerCreated=!1})),b.ColorPickerFocus)}_togglePopover(e){n(this._popover)&&this._popover.open?this._closePopover():this._openPopover()}_openPopover(){s(this._popover,(e=>e.open=!0))}_closePopover(){this._handles.remove(b.ColorPickerFocus),s(this._popover,(e=>e.open=!1)),this._setFocusOnButton()}_setFocusOnButton(){this._handles.remove(b.ButtonFocusTimeout),this._handles.add(g((()=>{s(this._buttonElement,(e=>e.setFocus()))})),b.ButtonFocusTimeout)}_onPopoverAfterCreate(e){this._popoverElement=e}_onPopoverFocusOut(e){const o=this._popoverElement;if(a(o))return;const t=e.relatedTarget;if(t&&t instanceof Node){if(o.contains(t))return;if(t===this._buttonElement||this._isAssociatedLabel(t))return}this._closePopover()}_isAssociatedLabel(e){var o;const t=this.id,r=null==(o=e.tagName)?void 0:o.toLowerCase();return"calcite-label"===r&&e.for===t||"label"===r&&e.htmlFor===t}_onPopoverKeyDown(e){"Escape"!==e.key&&"Enter"!==e.key||(e.stopPropagation(),this._closePopover())}};function g(e,o){const t=setTimeout(e,o);return r((()=>clearTimeout(t)))}e([u()],f.prototype,"class",void 0),e([u()],f.prototype,"value",void 0),e([u()],f.prototype,"alphaEnabled",void 0),e([u()],f.prototype,"onChange",void 0),e([u()],f.prototype,"_containerElement",void 0),e([u()],f.prototype,"_popover",void 0),e([u()],f.prototype,"_popoverElement",void 0),e([u()],f.prototype,"_buttonElement",void 0),e([u(),C("geoscene/widgets/support/t9n/ColorPicker")],f.prototype,"_messages",void 0),e([u()],f.prototype,"_colorPickerCreated",void 0),f=e([d("geoscene.widgets.support.ColorPicker")],f);export{f as ColorPicker};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{eventKey as t,pausable as i}from"../../core/events.js";import a from"../../core/Logger.js";import{isNone as s}from"../../core/maybe.js";import{watch as r,sync as o}from"../../core/reactiveUtils.js";import{aliasOf as n}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import c from"../Widget.js";import{parseDateIntoParts as h,getFirstDayOfWeek as p,getLocaleDayOfWeek as u}from"./datePickerUtils.js";import _ from"./DatePickerViewModel.js";import v from"./Popover.js";import{accessibleHandler as y}from"./decorators/accessibleHandler.js";import{messageBundle as m}from"./decorators/messageBundle.js";import{tsx as k}from"./jsxFactory.js";import{storeNode as g,isActivationKey as w,isRTL as D}from"./widgetUtils.js";import{DateTime as f,Info as b,Interval as M}from"luxon";import{formatDate as P}from"../../intl/date.js";import{getLocale as I}from"../../intl/locale.js";const O={base:"esri-date-picker",datePicker:"esri-date-picker__calendar",monthPicker:"esri-date-picker__month-picker",dayPicker:"esri-date-picker__day-picker",week:"esri-date-picker__week-item",nearbyMonth:"esri-date-picker__day-item--nearby-month",activeDay:"esri-date-picker__day-item--active",today:"esri-date-picker__day-item--today",selectedDay:"esri-date-picker__day-item--selected",day:"esri-date-picker__day-item",dayHeader:"esri-date-picker__day-item--header",yearPicker:"esri-date-picker__year-picker",selectedYear:"esri-date-picker__year-picker-item--selected",year:"esri-date-picker__year-picker-item",monthDropdown:"esri-date-picker__month-dropdown",date:"esri-date-picker__date",datePickerToggle:"esri-date-picker__calendar-toggle",dateInput:"esri-date-picker__input",dateTextInput:"esri-date-picker__text-input",leadingIcon:"esri-date-picker__icon--leading",previousIcon:"geoscene-icon-left",nextIcon:"geoscene-icon-right",calendarIcon:"geoscene-icon-calendar",widget:"esri-widget",button:"esri-widget--button",input:"esri-input",select:"esri-select"},x={year:"numeric",month:"2-digit",day:"2-digit"},C=[" ","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Enter","Home","PageDown","PageUp"],S="geoscene.widgets.support.DatePicker",N=a.getLogger(S);let j=class extends c{constructor(e,t){super(e,t),this._activeDate=null,this._calendarNode=null,this._calendarPopover=new v({owner:this,placement:"bottom-start",anchorElement:()=>this._rootNode,renderContentFunction:this._renderCalendar}),this._inputOrButtonNode=null,this._isOpen=!1,this._requestDayPickerFocusOnCreate=!1,this._rootNode=null,this.dateInputEnabled=!1,this.label=void 0,this.messages=null,this.value=null,this.commitOnMonthChange=!1,this.viewModel=new _,this._toggle=this._toggle.bind(this)}initialize(){this.own(r((()=>{var e;return{viewModel:this.viewModel,value:null==(e=this.viewModel)?void 0:e.value}}),(({viewModel:e,value:t})=>{this.destroyed||!e||s(this.onChange)||this.onChange(t)}),o))}destroy(){this._calendarPopover.destroy()}render(){return k("div",{afterCreate:g,bind:this,class:this.classes(O.base,O.widget),"data-node-ref":"_rootNode"},this.dateInputEnabled?this.renderInputAndButtonMode():this.renderButtonOnlyMode())}renderButtonOnlyMode(){const e=P(this.viewModel.value,x),{_isOpen:t,messages:i}=this;return k("div",{afterCreate:g,"aria-controls":t?this._getCalendarId():null,"aria-expanded":t.toString(),"aria-haspopup":"true","aria-label":i.setDate,"aria-pressed":t.toString(),bind:this,class:this.classes(O.button,O.select,O.datePickerToggle),"data-node-ref":"_inputOrButtonNode",onclick:this._toggle,onkeydown:this._handleDateButtonKeyDown,role:"button",tabIndex:0},k("span",{class:O.date},e))}renderInputAndButtonMode(){const e=P(this.viewModel.value,x),{_isOpen:t,messages:i}=this;return k("div",{class:this.classes(O.dateInput)},k("input",{afterCreate:g,"data-node-ref":"_inputOrButtonNode","aria-controls":t?this._getCalendarId():null,"aria-haspopup":"true","aria-label":i.setDate,bind:this,class:this.classes(O.dateTextInput,O.input),key:"date-input",onblur:this._handleDateInputBlur,onclick:this._handleDateInputClick,onkeydown:this._handleDateInputKeyDown,type:"text",value:e}),k("span",{"aria-hidden":"true",class:this.classes(O.leadingIcon,O.calendarIcon)}))}_handleDateInputClick(){this._open(this.viewModel.value,!1)}_handleDateInputKeyDown(e){const{key:t}=e;this._isOpen?"Enter"===t?this._handleDateText(e):"Escape"===t&&this._close():"ArrowDown"===t&&(this._open(this.viewModel.value),e.preventDefault())}_handleDateButtonKeyDown(e){const{key:t,shiftKey:i}=e;this._isOpen&&"Tab"===t&&i?this._close():w(t)&&this._toggle()}_handleDateInputBlur(e){this._isOpen||this._handleDateText(e)}_handleDateText(e){const t=e.currentTarget;let i;try{i=h(t.value,x)}catch(s){return N.warn(s),void(t.value=P(this.viewModel.value,x))}const a=f.fromObject(i);a.isValid?(this.viewModel.value=a.toJSDate(),this._activeDate=a):t.value=P(this.viewModel.value,x)}_handleDatePickerKeydown(e){"Escape"===t(e)&&(this._close(),e.preventDefault(),e.stopPropagation())}_renderCalendar(){const e=this._activeDate,t=f.fromJSDate(this.viewModel.value);return k("div",{afterCreate:g,bind:this,class:this.classes(O.datePicker,O.widget),"data-node-ref":"_calendarNode",id:this._getCalendarId(),key:"esri-date-picker__calendar",onkeydown:this._handleDatePickerKeydown},this._renderMonthPicker(e),this._renderDayPicker(e,t),this._renderYearPicker(e))}_getCalendarId(){return`date-picker__calendar--${this.id}`}_renderMonthPicker(e){const t=D(this.container),i=t?O.nextIcon:O.previousIcon,a=t?O.previousIcon:O.nextIcon,s=b.months("long",{locale:I()}).map(((t,i)=>{const a=e.month-1===i;return k("option",{selected:a,value:i.toString()},t)})),{messages:r}=this;return k("div",{class:O.monthPicker},k("div",{"aria-label":r.goToPreviousMonth,bind:this,class:O.button,onclick:this._setPreviousMonth,onkeydown:this._handlePreviousMonthKeyDown,role:"button",tabIndex:0,title:r.goToPreviousMonth},k("span",{"aria-hidden":"true",class:i})),k("select",{"aria-live":"assertive","aria-label":r.selectMonth,bind:this,class:this.classes(O.monthDropdown,O.select),id:`${this.id}__month-picker`,onchange:this._setMonth,onkeydown:this._setMonth,title:r.selectMonth},s),k("div",{"aria-label":r.goToNextMonth,bind:this,class:O.button,onclick:this._setNextMonth,onkeydown:this._setNextMonth,role:"button",tabIndex:0,title:r.goToNextMonth},k("span",{"aria-hidden":"true",class:a})))}_renderDayPicker(e,t){const i=this._getWeekLabels(),a=this._getDayId(e),s=this._renderMonth(e,t);return k("div",{afterCreate:this._handleDayPickerCreate,"aria-activedescendant":a,"aria-labelledby":`${this.id}__month-picker ${this.id}__selected-year`,bind:this,class:O.dayPicker,id:`${this.id}__day-picker`,onkeydown:this._handleDayPickerKeydown,role:"grid",tabIndex:0},k("div",{class:O.week,role:"row"},i.map((e=>k("div",{"aria-label":e.name,class:this.classes(O.day,O.dayHeader),role:"columnheader",title:e.name},e.abbr)))),s)}_getDayId(e){return`${this.id}__${P(e.valueOf(),x)}`}_handleDayPickerCreate(e){this._requestDayPickerFocusOnCreate&&(this._requestDayPickerFocusOnCreate=!1,e.focus())}_getWeekLabels(){const e=[],t={weekday:"long"},i={weekday:"narrow"};let a=f.now().set({weekday:p(I())});for(let s=0;s<7;s++)e.push({name:P(a.valueOf(),t),abbr:P(a.valueOf(),i)}),a=a.plus({day:1});return e}_handleDayPickerKeydown(e){const{ctrlKey:i,shiftKey:a}=e,s=t(e);if(-1===C.indexOf(s))return;let r=this._activeDate;if("ArrowLeft"===s)r=r.minus({day:1});else if("ArrowRight"===s)r=r.plus({day:1});else if("ArrowUp"===s)r=r.minus({week:1});else if("ArrowDown"===s)r=r.plus({week:1});else if("PageUp"===s){const e=a?"year":"month";r=r.minus({[e]:1})}else if("PageDown"===s){const e=a?"year":"month";r=r.plus({[e]:1})}else if("Home"===s){const e=i?"year":"month";r=r.startOf(e)}else if("End"===s){const e=i?"year":"month";r=r.endOf(e)}else w(s)&&(this.viewModel.value=r.toJSDate(),this._close());this._activeDate=r,e.preventDefault(),e.stopPropagation()}_renderMonth(e,t){const i=f.now(),a=e.startOf("month"),s=e.endOf("month"),r=6,o=7;let n=a.minus({day:u(I(),a.weekday)});const d=[];for(let l=0;l<r;l++){const r=[];for(let d=0;d<o;d++){const o=n.day,d=n.hasSame(e,"day"),l=n.hasSame(t,"day"),c=this._getDayId(n),h=M.fromDateTimes(a,s),p={[O.nearbyMonth]:!h.contains(n),[O.today]:n.hasSame(i,"day"),[O.activeDay]:d,[O.selectedDay]:l};r.push(k("div",{"aria-label":o.toString(),"aria-selected":d.toString(),bind:this,class:this.classes(O.day,p),"data-iso-date":n.toISO(),id:c,onclick:this._handleSelectedDate,onkeydown:this._handleSelectedDate,role:"gridcell"},o)),n=n.plus({day:1})}d.push(k("div",{class:O.week,role:"row"},r))}return d}_renderYearPicker(e){const t={year:"numeric"},i=e,a=P(i.valueOf(),t),s=P(i.plus({year:1}).valueOf(),t),r=P(i.minus({year:1}).valueOf(),t),{messages:o}=this;return k("div",{class:O.yearPicker},k("div",{"aria-label":o.goToPreviousYear,bind:this,class:O.year,onclick:this._setPreviousYear,onkeydown:this._setPreviousYear,tabIndex:0,title:o.goToPreviousYear},r),k("div",{class:this.classes(O.year,O.selectedYear),id:`${this.id}__selected-year`},a),k("div",{"aria-label":o.goToNextYear,bind:this,class:O.year,onclick:this._setNextYear,onkeydown:this._handleNextYearKeyDown,tabIndex:0,title:o.goToNextYear},s))}_toggle(){this._isOpen?this._close():this._open(this.viewModel.value)}_setMonth(e){const t=e.target,i=Number(t.value)+1;this._activeDate=this._activeDate.set({month:i}),this.commitOnMonthChange&&(this.viewModel.value=this._activeDate.toJSDate())}_close(e=!0){this._activeDate=null,this._isOpen=!1,this._calendarPopover.open=!1,this.pageClickHandler.pause(),e&&this._inputOrButtonNode.focus()}_open(e,t=!0){this._activeDate=f.fromJSDate(e),this._isOpen=!0,this._calendarPopover.open=!0,this._requestDayPickerFocusOnCreate=t,this.pageClickHandler||(this.pageClickHandler=i(document,"click",(({target:e})=>{var t,i;(null==(t=this._calendarNode)?void 0:t.contains(e))||(null==(i=this._rootNode)?void 0:i.contains(e))||this._close()})),this.own(this.pageClickHandler)),this.pageClickHandler.resume()}_setPreviousMonth(){this._activeDate=this._activeDate.minus({month:1}),this.commitOnMonthChange&&(this.viewModel.value=this._activeDate.toJSDate())}_handlePreviousMonthKeyDown(e){if("Tab"===e.key&&e.shiftKey)return e.preventDefault(),void this._close();w(e.key)&&this._setPreviousMonth()}_setNextMonth(){this._activeDate=this._activeDate.plus({month:1}),this.commitOnMonthChange&&(this.viewModel.value=this._activeDate.toJSDate())}_setPreviousYear(){this._activeDate=this._activeDate.minus({year:1})}_setNextYear(){this._activeDate=this._activeDate.plus({year:1})}_handleNextYearKeyDown(e){if("Tab"===e.key&&!e.shiftKey)return e.preventDefault(),void this._close();w(e.key)&&this._setNextYear()}_handleSelectedDate(e){const t=e.target;this.viewModel.value=f.fromISO(t.getAttribute("data-iso-date")).toJSDate(),this._close()}};e([d()],j.prototype,"dateInputEnabled",void 0),e([d({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],j.prototype,"label",void 0),e([d(),m("geoscene/widgets/support/t9n/DatePicker")],j.prototype,"messages",void 0),e([n("viewModel.value")],j.prototype,"value",void 0),e([d()],j.prototype,"commitOnMonthChange",void 0),e([d({type:_})],j.prototype,"viewModel",void 0),e([d()],j.prototype,"onChange",void 0),e([y()],j.prototype,"_setNextMonth",null),e([y()],j.prototype,"_setPreviousYear",null),e([y()],j.prototype,"_handleSelectedDate",null),j=e([l(S)],j);const T=j;export{T as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{eventKey as t,pausable as i}from"../../core/events.js";import a from"../../core/Logger.js";import{isNone as s}from"../../core/maybe.js";import{watch as r,sync as o}from"../../core/reactiveUtils.js";import{aliasOf as n}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import c from"../Widget.js";import{parseDateIntoParts as h,getFirstDayOfWeek as p,getLocaleDayOfWeek as u}from"./datePickerUtils.js";import _ from"./DatePickerViewModel.js";import v from"./Popover.js";import{accessibleHandler as y}from"./decorators/accessibleHandler.js";import{messageBundle as m}from"./decorators/messageBundle.js";import{tsx as k}from"./jsxFactory.js";import{storeNode as g,isActivationKey as w,isRTL as D}from"./widgetUtils.js";import{DateTime as f,Info as b,Interval as M}from"luxon";import{formatDate as P}from"../../intl/date.js";import{getLocale as I}from"../../intl/locale.js";const O={base:"geoscene-date-picker",datePicker:"geoscene-date-picker__calendar",monthPicker:"geoscene-date-picker__month-picker",dayPicker:"geoscene-date-picker__day-picker",week:"geoscene-date-picker__week-item",nearbyMonth:"geoscene-date-picker__day-item--nearby-month",activeDay:"geoscene-date-picker__day-item--active",today:"geoscene-date-picker__day-item--today",selectedDay:"geoscene-date-picker__day-item--selected",day:"geoscene-date-picker__day-item",dayHeader:"geoscene-date-picker__day-item--header",yearPicker:"geoscene-date-picker__year-picker",selectedYear:"geoscene-date-picker__year-picker-item--selected",year:"geoscene-date-picker__year-picker-item",monthDropdown:"geoscene-date-picker__month-dropdown",date:"geoscene-date-picker__date",datePickerToggle:"geoscene-date-picker__calendar-toggle",dateInput:"geoscene-date-picker__input",dateTextInput:"geoscene-date-picker__text-input",leadingIcon:"geoscene-date-picker__icon--leading",previousIcon:"geoscene-icon-left",nextIcon:"geoscene-icon-right",calendarIcon:"geoscene-icon-calendar",widget:"geoscene-widget",button:"geoscene-widget--button",input:"geoscene-input",select:"geoscene-select"},x={year:"numeric",month:"2-digit",day:"2-digit"},C=[" ","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Enter","Home","PageDown","PageUp"],S="geoscene.widgets.support.DatePicker",N=a.getLogger(S);let j=class extends c{constructor(e,t){super(e,t),this._activeDate=null,this._calendarNode=null,this._calendarPopover=new v({owner:this,placement:"bottom-start",anchorElement:()=>this._rootNode,renderContentFunction:this._renderCalendar}),this._inputOrButtonNode=null,this._isOpen=!1,this._requestDayPickerFocusOnCreate=!1,this._rootNode=null,this.dateInputEnabled=!1,this.label=void 0,this.messages=null,this.value=null,this.commitOnMonthChange=!1,this.viewModel=new _,this._toggle=this._toggle.bind(this)}initialize(){this.own(r((()=>{var e;return{viewModel:this.viewModel,value:null==(e=this.viewModel)?void 0:e.value}}),(({viewModel:e,value:t})=>{this.destroyed||!e||s(this.onChange)||this.onChange(t)}),o))}destroy(){this._calendarPopover.destroy()}render(){return k("div",{afterCreate:g,bind:this,class:this.classes(O.base,O.widget),"data-node-ref":"_rootNode"},this.dateInputEnabled?this.renderInputAndButtonMode():this.renderButtonOnlyMode())}renderButtonOnlyMode(){const e=P(this.viewModel.value,x),{_isOpen:t,messages:i}=this;return k("div",{afterCreate:g,"aria-controls":t?this._getCalendarId():null,"aria-expanded":t.toString(),"aria-haspopup":"true","aria-label":i.setDate,"aria-pressed":t.toString(),bind:this,class:this.classes(O.button,O.select,O.datePickerToggle),"data-node-ref":"_inputOrButtonNode",onclick:this._toggle,onkeydown:this._handleDateButtonKeyDown,role:"button",tabIndex:0},k("span",{class:O.date},e))}renderInputAndButtonMode(){const e=P(this.viewModel.value,x),{_isOpen:t,messages:i}=this;return k("div",{class:this.classes(O.dateInput)},k("input",{afterCreate:g,"data-node-ref":"_inputOrButtonNode","aria-controls":t?this._getCalendarId():null,"aria-haspopup":"true","aria-label":i.setDate,bind:this,class:this.classes(O.dateTextInput,O.input),key:"date-input",onblur:this._handleDateInputBlur,onclick:this._handleDateInputClick,onkeydown:this._handleDateInputKeyDown,type:"text",value:e}),k("span",{"aria-hidden":"true",class:this.classes(O.leadingIcon,O.calendarIcon)}))}_handleDateInputClick(){this._open(this.viewModel.value,!1)}_handleDateInputKeyDown(e){const{key:t}=e;this._isOpen?"Enter"===t?this._handleDateText(e):"Escape"===t&&this._close():"ArrowDown"===t&&(this._open(this.viewModel.value),e.preventDefault())}_handleDateButtonKeyDown(e){const{key:t,shiftKey:i}=e;this._isOpen&&"Tab"===t&&i?this._close():w(t)&&this._toggle()}_handleDateInputBlur(e){this._isOpen||this._handleDateText(e)}_handleDateText(e){const t=e.currentTarget;let i;try{i=h(t.value,x)}catch(s){return N.warn(s),void(t.value=P(this.viewModel.value,x))}const a=f.fromObject(i);a.isValid?(this.viewModel.value=a.toJSDate(),this._activeDate=a):t.value=P(this.viewModel.value,x)}_handleDatePickerKeydown(e){"Escape"===t(e)&&(this._close(),e.preventDefault(),e.stopPropagation())}_renderCalendar(){const e=this._activeDate,t=f.fromJSDate(this.viewModel.value);return k("div",{afterCreate:g,bind:this,class:this.classes(O.datePicker,O.widget),"data-node-ref":"_calendarNode",id:this._getCalendarId(),key:"geoscene-date-picker__calendar",onkeydown:this._handleDatePickerKeydown},this._renderMonthPicker(e),this._renderDayPicker(e,t),this._renderYearPicker(e))}_getCalendarId(){return`date-picker__calendar--${this.id}`}_renderMonthPicker(e){const t=D(this.container),i=t?O.nextIcon:O.previousIcon,a=t?O.previousIcon:O.nextIcon,s=b.months("long",{locale:I()}).map(((t,i)=>{const a=e.month-1===i;return k("option",{selected:a,value:i.toString()},t)})),{messages:r}=this;return k("div",{class:O.monthPicker},k("div",{"aria-label":r.goToPreviousMonth,bind:this,class:O.button,onclick:this._setPreviousMonth,onkeydown:this._handlePreviousMonthKeyDown,role:"button",tabIndex:0,title:r.goToPreviousMonth},k("span",{"aria-hidden":"true",class:i})),k("select",{"aria-live":"assertive","aria-label":r.selectMonth,bind:this,class:this.classes(O.monthDropdown,O.select),id:`${this.id}__month-picker`,onchange:this._setMonth,onkeydown:this._setMonth,title:r.selectMonth},s),k("div",{"aria-label":r.goToNextMonth,bind:this,class:O.button,onclick:this._setNextMonth,onkeydown:this._setNextMonth,role:"button",tabIndex:0,title:r.goToNextMonth},k("span",{"aria-hidden":"true",class:a})))}_renderDayPicker(e,t){const i=this._getWeekLabels(),a=this._getDayId(e),s=this._renderMonth(e,t);return k("div",{afterCreate:this._handleDayPickerCreate,"aria-activedescendant":a,"aria-labelledby":`${this.id}__month-picker ${this.id}__selected-year`,bind:this,class:O.dayPicker,id:`${this.id}__day-picker`,onkeydown:this._handleDayPickerKeydown,role:"grid",tabIndex:0},k("div",{class:O.week,role:"row"},i.map((e=>k("div",{"aria-label":e.name,class:this.classes(O.day,O.dayHeader),role:"columnheader",title:e.name},e.abbr)))),s)}_getDayId(e){return`${this.id}__${P(e.valueOf(),x)}`}_handleDayPickerCreate(e){this._requestDayPickerFocusOnCreate&&(this._requestDayPickerFocusOnCreate=!1,e.focus())}_getWeekLabels(){const e=[],t={weekday:"long"},i={weekday:"narrow"};let a=f.now().set({weekday:p(I())});for(let s=0;s<7;s++)e.push({name:P(a.valueOf(),t),abbr:P(a.valueOf(),i)}),a=a.plus({day:1});return e}_handleDayPickerKeydown(e){const{ctrlKey:i,shiftKey:a}=e,s=t(e);if(-1===C.indexOf(s))return;let r=this._activeDate;if("ArrowLeft"===s)r=r.minus({day:1});else if("ArrowRight"===s)r=r.plus({day:1});else if("ArrowUp"===s)r=r.minus({week:1});else if("ArrowDown"===s)r=r.plus({week:1});else if("PageUp"===s){const e=a?"year":"month";r=r.minus({[e]:1})}else if("PageDown"===s){const e=a?"year":"month";r=r.plus({[e]:1})}else if("Home"===s){const e=i?"year":"month";r=r.startOf(e)}else if("End"===s){const e=i?"year":"month";r=r.endOf(e)}else w(s)&&(this.viewModel.value=r.toJSDate(),this._close());this._activeDate=r,e.preventDefault(),e.stopPropagation()}_renderMonth(e,t){const i=f.now(),a=e.startOf("month"),s=e.endOf("month"),r=6,o=7;let n=a.minus({day:u(I(),a.weekday)});const d=[];for(let l=0;l<r;l++){const r=[];for(let d=0;d<o;d++){const o=n.day,d=n.hasSame(e,"day"),l=n.hasSame(t,"day"),c=this._getDayId(n),h=M.fromDateTimes(a,s),p={[O.nearbyMonth]:!h.contains(n),[O.today]:n.hasSame(i,"day"),[O.activeDay]:d,[O.selectedDay]:l};r.push(k("div",{"aria-label":o.toString(),"aria-selected":d.toString(),bind:this,class:this.classes(O.day,p),"data-iso-date":n.toISO(),id:c,onclick:this._handleSelectedDate,onkeydown:this._handleSelectedDate,role:"gridcell"},o)),n=n.plus({day:1})}d.push(k("div",{class:O.week,role:"row"},r))}return d}_renderYearPicker(e){const t={year:"numeric"},i=e,a=P(i.valueOf(),t),s=P(i.plus({year:1}).valueOf(),t),r=P(i.minus({year:1}).valueOf(),t),{messages:o}=this;return k("div",{class:O.yearPicker},k("div",{"aria-label":o.goToPreviousYear,bind:this,class:O.year,onclick:this._setPreviousYear,onkeydown:this._setPreviousYear,tabIndex:0,title:o.goToPreviousYear},r),k("div",{class:this.classes(O.year,O.selectedYear),id:`${this.id}__selected-year`},a),k("div",{"aria-label":o.goToNextYear,bind:this,class:O.year,onclick:this._setNextYear,onkeydown:this._handleNextYearKeyDown,tabIndex:0,title:o.goToNextYear},s))}_toggle(){this._isOpen?this._close():this._open(this.viewModel.value)}_setMonth(e){const t=e.target,i=Number(t.value)+1;this._activeDate=this._activeDate.set({month:i}),this.commitOnMonthChange&&(this.viewModel.value=this._activeDate.toJSDate())}_close(e=!0){this._activeDate=null,this._isOpen=!1,this._calendarPopover.open=!1,this.pageClickHandler.pause(),e&&this._inputOrButtonNode.focus()}_open(e,t=!0){this._activeDate=f.fromJSDate(e),this._isOpen=!0,this._calendarPopover.open=!0,this._requestDayPickerFocusOnCreate=t,this.pageClickHandler||(this.pageClickHandler=i(document,"click",(({target:e})=>{var t,i;(null==(t=this._calendarNode)?void 0:t.contains(e))||(null==(i=this._rootNode)?void 0:i.contains(e))||this._close()})),this.own(this.pageClickHandler)),this.pageClickHandler.resume()}_setPreviousMonth(){this._activeDate=this._activeDate.minus({month:1}),this.commitOnMonthChange&&(this.viewModel.value=this._activeDate.toJSDate())}_handlePreviousMonthKeyDown(e){if("Tab"===e.key&&e.shiftKey)return e.preventDefault(),void this._close();w(e.key)&&this._setPreviousMonth()}_setNextMonth(){this._activeDate=this._activeDate.plus({month:1}),this.commitOnMonthChange&&(this.viewModel.value=this._activeDate.toJSDate())}_setPreviousYear(){this._activeDate=this._activeDate.minus({year:1})}_setNextYear(){this._activeDate=this._activeDate.plus({year:1})}_handleNextYearKeyDown(e){if("Tab"===e.key&&!e.shiftKey)return e.preventDefault(),void this._close();w(e.key)&&this._setNextYear()}_handleSelectedDate(e){const t=e.target;this.viewModel.value=f.fromISO(t.getAttribute("data-iso-date")).toJSDate(),this._close()}};e([d()],j.prototype,"dateInputEnabled",void 0),e([d({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],j.prototype,"label",void 0),e([d(),m("geoscene/widgets/support/t9n/DatePicker")],j.prototype,"messages",void 0),e([n("viewModel.value")],j.prototype,"value",void 0),e([d()],j.prototype,"commitOnMonthChange",void 0),e([d({type:_})],j.prototype,"viewModel",void 0),e([d()],j.prototype,"onChange",void 0),e([y()],j.prototype,"_setNextMonth",null),e([y()],j.prototype,"_setPreviousYear",null),e([y()],j.prototype,"_handleSelectedDate",null),j=e([l(S)],j);const T=j;export{T as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{clamp as e}from"../../core/mathUtils.js";import{classes as r}from"./widgetUtils.js";import"../../core/has.js";import"../../core/Logger.js";import{tsx as t}from"./jsxFactory.js";const i={heading:"esri-widget__heading"};function o(e,o){const s=n(e.level),l=`h${s}`;return delete e.level,t(l,{...e,class:r(i.heading,e.class),role:"heading","aria-level":String(s)},o)}function n(r){return e(Math.ceil(r),1,6)}function s(e,r=1){return n(e+r)}export{i as CSS,o as Heading,s as incrementHeadingLevel};
5
+ import{clamp as e}from"../../core/mathUtils.js";import{classes as r}from"./widgetUtils.js";import"../../core/has.js";import"../../core/Logger.js";import{tsx as t}from"./jsxFactory.js";const i={heading:"geoscene-widget__heading"};function o(e,o){const s=n(e.level),l=`h${s}`;return delete e.level,t(l,{...e,class:r(i.heading,e.class),role:"heading","aria-level":String(s)},o)}function n(r){return e(Math.ceil(r),1,6)}function s(e,r=1){return n(e+r)}export{i as CSS,o as Heading,s as incrementHeadingLevel};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import{createPopper as e}from"@popperjs/core/dist/esm/popper.js";import{remove as o,byId as r}from"../../core/domUtils.js";import{isSome as s,isNone as n}from"../../core/maybe.js";import{init as i}from"../../core/watchUtils.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import c from"../Widget.js";import{getDir as l}from"./widgetUtils.js";import"../../core/Logger.js";import{tsx as a}from"./jsxFactory.js";const d=["bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end","top","top-start","top-end"],m={base:"esri-popover",open:"esri-popover--open"},u={position:"fixed","z-index":"1000"};let _=class extends c{constructor(t,e){super(t,e),this._popper=null,this._contentNode=null,this._renderAttached=!1,this._rootNode=null,this.anchorElement=null,this.offset=[0,0],this.open=!1,this.renderContentFunction=null,this._afterRootCreate=t=>{this._rootNode=t},this._afterContentCreate=t=>{this._contentNode=t},this._updatePosition=()=>{s(this._popper)&&this._popper.update()}}initialize(){this.when((()=>{this.destroyed||(this._projector.append(document.body,this.render),this._renderAttached=!0)})),this.own(i(this,["open","anchorElement"],(()=>this._buildPopper())),i(this,["placement","offset"],(()=>this._setPopperOptions())))}destroy(){this.owner=null,this.anchorElement=null,this.renderContentFunction=null,this._renderAttached&&(this._projector.detach(this.render),this._renderAttached=!1),s(this._rootNode)&&(o(this._rootNode),this._rootNode=null),this._contentNode=null,s(this._popper)&&(this._popper.destroy(),this._popper=null)}set container(t){}set owner(t){this._set("owner",t)}get placement(){return"top"}set placement(t){-1!==d.indexOf(t)?this._override("placement",t):this._clearOverride("placement")}render(){var t;const{open:e,owner:o,renderContentFunction:r}=this;return a("div",{afterCreate:this._afterRootCreate,class:this.classes(m.base,e?m.open:null),styles:u},a("div",{dir:l(null==(t=this.owner)?void 0:t.container),afterCreate:this._afterContentCreate,afterUpdate:this._updatePosition},e&&(null==r?void 0:r.call(o))))}_buildPopper(){s(this._popper)&&(this._popper.destroy(),this._popper=null);const t=this._contentNode;if(n(t))return;if(!this.open||!this.renderContentFunction)return;const o=this._getAnchor();o&&(this._popper=e(o,t),this._setPopperOptions())}_setPopperOptions(){const{placement:t,offset:e,_popper:o}=this;n(o)||(o.setOptions({placement:t,modifiers:[{name:"offset",options:{offset:e}}]}),o.forceUpdate())}_getAnchor(){const{anchorElement:t}=this;return r("function"==typeof t?t():t)}};t([p()],_.prototype,"anchorElement",void 0),t([p()],_.prototype,"container",null),t([p()],_.prototype,"offset",void 0),t([p()],_.prototype,"open",void 0),t([p()],_.prototype,"owner",null),t([p()],_.prototype,"placement",null),t([p()],_.prototype,"renderContentFunction",void 0),_=t([h("geoscene.widgets.support.Popover")],_);const f=_;export{f as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import{createPopper as e}from"@popperjs/core/dist/esm/popper.js";import{remove as o,byId as r}from"../../core/domUtils.js";import{isSome as s,isNone as n}from"../../core/maybe.js";import{init as i}from"../../core/watchUtils.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import c from"../Widget.js";import{getDir as l}from"./widgetUtils.js";import"../../core/Logger.js";import{tsx as a}from"./jsxFactory.js";const d=["bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end","top","top-start","top-end"],m={base:"geoscene-popover",open:"geoscene-popover--open"},u={position:"fixed","z-index":"1000"};let _=class extends c{constructor(t,e){super(t,e),this._popper=null,this._contentNode=null,this._renderAttached=!1,this._rootNode=null,this.anchorElement=null,this.offset=[0,0],this.open=!1,this.renderContentFunction=null,this._afterRootCreate=t=>{this._rootNode=t},this._afterContentCreate=t=>{this._contentNode=t},this._updatePosition=()=>{s(this._popper)&&this._popper.update()}}initialize(){this.when((()=>{this.destroyed||(this._projector.append(document.body,this.render),this._renderAttached=!0)})),this.own(i(this,["open","anchorElement"],(()=>this._buildPopper())),i(this,["placement","offset"],(()=>this._setPopperOptions())))}destroy(){this.owner=null,this.anchorElement=null,this.renderContentFunction=null,this._renderAttached&&(this._projector.detach(this.render),this._renderAttached=!1),s(this._rootNode)&&(o(this._rootNode),this._rootNode=null),this._contentNode=null,s(this._popper)&&(this._popper.destroy(),this._popper=null)}set container(t){}set owner(t){this._set("owner",t)}get placement(){return"top"}set placement(t){-1!==d.indexOf(t)?this._override("placement",t):this._clearOverride("placement")}render(){var t;const{open:e,owner:o,renderContentFunction:r}=this;return a("div",{afterCreate:this._afterRootCreate,class:this.classes(m.base,e?m.open:null),styles:u},a("div",{dir:l(null==(t=this.owner)?void 0:t.container),afterCreate:this._afterContentCreate,afterUpdate:this._updatePosition},e&&(null==r?void 0:r.call(o))))}_buildPopper(){s(this._popper)&&(this._popper.destroy(),this._popper=null);const t=this._contentNode;if(n(t))return;if(!this.open||!this.renderContentFunction)return;const o=this._getAnchor();o&&(this._popper=e(o,t),this._setPopperOptions())}_setPopperOptions(){const{placement:t,offset:e,_popper:o}=this;n(o)||(o.setOptions({placement:t,modifiers:[{name:"offset",options:{offset:e}}]}),o.forceUpdate())}_getAnchor(){const{anchorElement:t}=this;return r("function"==typeof t?t():t)}};t([p()],_.prototype,"anchorElement",void 0),t([p()],_.prototype,"container",null),t([p()],_.prototype,"offset",void 0),t([p()],_.prototype,"open",void 0),t([p()],_.prototype,"owner",null),t([p()],_.prototype,"placement",null),t([p()],_.prototype,"renderContentFunction",void 0),_=t([h("geoscene.widgets.support.Popover")],_);const f=_;export{f as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import{handlesGroup as e}from"../../core/handleUtils.js";import{removeMaybe as t}from"../../core/maybe.js";import{aliasOf as s}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as i}from"../../core/accessorSupport/decorators/cast.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import c from"../Widget.js";import"./widgetUtils.js";import{messageBundle as r}from"./decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as n}from"./jsxFactory.js";import d from"./SelectionToolbar/SelectionToolbarViewModel.js";const p={lassoTool:!0,rectangleTool:!0},m={createTool:"polygon",createOptions:{mode:"freehand"}},h={createTool:"rectangle"},v={base:"esri-selection-toolbar",container:"esri-selection-toolbar__container",toolButton:"esri-selection-toolbar__tool-button",disabled:"esri-disabled",geosceneWidget:"esri-widget",widgetIcon:"geoscene-icon-vertex-gps"};let u=class extends c{constructor(o,t){super(o,t),this._viewModelHandlesGroup=null,this.activeToolInfo=null,this.label=void 0,this.layers=[],this.messages=null,this.toolConfigs=[],this.view=null,this.viewModel=new d,this.visibleElements={...p},this._viewModelHandlesGroup=e([this.viewModel.on("selection-change",(o=>this.emit("selection-change",o))),this.viewModel.on("complete",(o=>{this._set("activeToolInfo",null),this.emit("complete",o)}))])}destroy(){this._viewModelHandlesGroup=t(this._viewModelHandlesGroup)}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-action.js"),import("@esri/calcite-components/dist/components/calcite-icon.js")])}castVisibleElements(o){return{...p,...o}}activate(o){switch(this.cancel(),o){case"lasso":this._activateTool("lasso");case"rectangle":this._activateTool("rectangle");default:this._activateTool(o)}}cancel(){this.viewModel.cancel(),this._set("activeToolInfo",null)}render(){return n("div",{"aria-label":this.label,class:this.classes(v.base,v.geosceneWidget)},n("div",{class:v.container},this.renderDefaultTools(),this.renderCustomTools()))}renderDefaultTools(){var o;if("2d"===(null==(o=this.view)?void 0:o.type))return[this.renderRectangleTool(),this.renderLassoTool()]}renderCustomTools(){if(this.toolConfigs&&this.toolConfigs.length)return this.toolConfigs.map((o=>{var e;return n("calcite-action",{active:(null==(e=this.activeToolInfo)?void 0:e.toolName)===o.toolName,bind:this,class:v.toolButton,label:o.toolName,onclick:()=>this._onCustomToolClick(o.toolName),scale:"s",text:o.toolName,title:o.toolName},n("calcite-icon",{scale:"s",icon:o.icon||"selection"}))}))}renderLassoTool(){const{activeToolInfo:o,messages:e,visibleElements:t}=this;if(t.lassoTool)return n("calcite-action",{active:"lasso"===(null==o?void 0:o.toolName),bind:this,label:e.selectByLasso,onclick:this._onLassoToolClick,scale:"s",text:e.selectByLasso,title:e.selectByLasso},n("calcite-icon",{scale:"s",icon:"lasso"}))}renderRectangleTool(){const{activeToolInfo:o,messages:e,visibleElements:t}=this;if(t.rectangleTool)return n("calcite-action",{active:"rectangle"===(null==o?void 0:o.toolName),bind:this,label:e.selectByRectangle,onclick:this._onRectangleToolClick,scale:"s",text:e.selectByRectangle,title:e.selectByRectangle},n("calcite-icon",{scale:"s",icon:"cursor-marquee"}))}_onCustomToolClick(o){this._toggleTool(o)}_onLassoToolClick(){this._toggleTool("lasso")}_onRectangleToolClick(){this._toggleTool("rectangle")}_activateTool(o){const e=this._getToolOptions(o);if(!e)return;const t=this.viewModel.activate(e);this._set("activeToolInfo",{toolName:o,operation:t})}_toggleTool(o){if(this.activeToolInfo){const e=this.activeToolInfo.toolName;if(this.cancel(),e===o)return}this._activateTool(o)}_getToolOptions(o){if("lasso"===o)return m;if("rectangle"===o)return h;const e=this.toolConfigs.find((e=>e.toolName===o));if(!e)return;const{createTool:t,createOptions:s,selectionOptions:i}=e;return{createTool:t,createOptions:s,selectionOptions:i}}};o([l({readOnly:!0})],u.prototype,"activeToolInfo",void 0),o([l({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],u.prototype,"label",void 0),o([s("viewModel.layers")],u.prototype,"layers",void 0),o([l(),r("geoscene/widgets/support/SelectionToolbar/t9n/SelectionToolbar")],u.prototype,"messages",void 0),o([l()],u.prototype,"toolConfigs",void 0),o([s("viewModel.view")],u.prototype,"view",void 0),o([l()],u.prototype,"viewModel",void 0),o([l()],u.prototype,"visibleElements",void 0),o([i("visibleElements")],u.prototype,"castVisibleElements",null),u=o([a("geoscene.widgets.support.SelectionToolbar")],u);const g=u;export{g as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import{handlesGroup as e}from"../../core/handleUtils.js";import{removeMaybe as t}from"../../core/maybe.js";import{aliasOf as s}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as i}from"../../core/accessorSupport/decorators/cast.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import c from"../Widget.js";import"./widgetUtils.js";import{messageBundle as r}from"./decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as n}from"./jsxFactory.js";import d from"./SelectionToolbar/SelectionToolbarViewModel.js";const p={lassoTool:!0,rectangleTool:!0},m={createTool:"polygon",createOptions:{mode:"freehand"}},h={createTool:"rectangle"},v={base:"geoscene-selection-toolbar",container:"geoscene-selection-toolbar__container",toolButton:"geoscene-selection-toolbar__tool-button",disabled:"geoscene-disabled",geosceneWidget:"geoscene-widget",widgetIcon:"geoscene-icon-vertex-gps"};let u=class extends c{constructor(o,t){super(o,t),this._viewModelHandlesGroup=null,this.activeToolInfo=null,this.label=void 0,this.layers=[],this.messages=null,this.toolConfigs=[],this.view=null,this.viewModel=new d,this.visibleElements={...p},this._viewModelHandlesGroup=e([this.viewModel.on("selection-change",(o=>this.emit("selection-change",o))),this.viewModel.on("complete",(o=>{this._set("activeToolInfo",null),this.emit("complete",o)}))])}destroy(){this._viewModelHandlesGroup=t(this._viewModelHandlesGroup)}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-action.js"),import("@esri/calcite-components/dist/components/calcite-icon.js")])}castVisibleElements(o){return{...p,...o}}activate(o){switch(this.cancel(),o){case"lasso":this._activateTool("lasso");case"rectangle":this._activateTool("rectangle");default:this._activateTool(o)}}cancel(){this.viewModel.cancel(),this._set("activeToolInfo",null)}render(){return n("div",{"aria-label":this.label,class:this.classes(v.base,v.geosceneWidget)},n("div",{class:v.container},this.renderDefaultTools(),this.renderCustomTools()))}renderDefaultTools(){var o;if("2d"===(null==(o=this.view)?void 0:o.type))return[this.renderRectangleTool(),this.renderLassoTool()]}renderCustomTools(){if(this.toolConfigs&&this.toolConfigs.length)return this.toolConfigs.map((o=>{var e;return n("calcite-action",{active:(null==(e=this.activeToolInfo)?void 0:e.toolName)===o.toolName,bind:this,class:v.toolButton,label:o.toolName,onclick:()=>this._onCustomToolClick(o.toolName),scale:"s",text:o.toolName,title:o.toolName},n("calcite-icon",{scale:"s",icon:o.icon||"selection"}))}))}renderLassoTool(){const{activeToolInfo:o,messages:e,visibleElements:t}=this;if(t.lassoTool)return n("calcite-action",{active:"lasso"===(null==o?void 0:o.toolName),bind:this,label:e.selectByLasso,onclick:this._onLassoToolClick,scale:"s",text:e.selectByLasso,title:e.selectByLasso},n("calcite-icon",{scale:"s",icon:"lasso"}))}renderRectangleTool(){const{activeToolInfo:o,messages:e,visibleElements:t}=this;if(t.rectangleTool)return n("calcite-action",{active:"rectangle"===(null==o?void 0:o.toolName),bind:this,label:e.selectByRectangle,onclick:this._onRectangleToolClick,scale:"s",text:e.selectByRectangle,title:e.selectByRectangle},n("calcite-icon",{scale:"s",icon:"cursor-marquee"}))}_onCustomToolClick(o){this._toggleTool(o)}_onLassoToolClick(){this._toggleTool("lasso")}_onRectangleToolClick(){this._toggleTool("rectangle")}_activateTool(o){const e=this._getToolOptions(o);if(!e)return;const t=this.viewModel.activate(e);this._set("activeToolInfo",{toolName:o,operation:t})}_toggleTool(o){if(this.activeToolInfo){const e=this.activeToolInfo.toolName;if(this.cancel(),e===o)return}this._activateTool(o)}_getToolOptions(o){if("lasso"===o)return m;if("rectangle"===o)return h;const e=this.toolConfigs.find((e=>e.toolName===o));if(!e)return;const{createTool:t,createOptions:s,selectionOptions:i}=e;return{createTool:t,createOptions:s,selectionOptions:i}}};o([l({readOnly:!0})],u.prototype,"activeToolInfo",void 0),o([l({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],u.prototype,"label",void 0),o([s("viewModel.layers")],u.prototype,"layers",void 0),o([l(),r("geoscene/widgets/support/SelectionToolbar/t9n/SelectionToolbar")],u.prototype,"messages",void 0),o([l()],u.prototype,"toolConfigs",void 0),o([s("viewModel.view")],u.prototype,"view",void 0),o([l()],u.prototype,"viewModel",void 0),o([l()],u.prototype,"visibleElements",void 0),o([i("visibleElements")],u.prototype,"castVisibleElements",null),u=o([a("geoscene.widgets.support.SelectionToolbar")],u);const g=u;export{g as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{destroyMaybe as t,isNone as i}from"../../core/maybe.js";import{aliasOf as s}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as n}from"../../core/accessorSupport/decorators/cast.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import r from"../Widget.js";import"./widgetUtils.js";import{messageBundle as a}from"./decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as c}from"./jsxFactory.js";import d from"./SnappingControls/SnappingControlsViewModel.js";const p={header:!0,enabledToggle:!0,selfEnabledToggle:!0,featureEnabledToggle:!0,layerList:!0},g={base:"esri-snapping-controls",container:"esri-snapping-controls__container",panel:"esri-snapping-controls__panel",item:"esri-snapping-controls__item",toggleBlock:"esri-snapping-controls__toggle-block",layerListBlock:"esri-snapping-controls__layer-list-block",layerList:"esri-snapping-controls__layer-list",nestedContainer:"esri-snapping-controls__nested-container",disabled:"esri-disabled",geosceneWidget:"esri-widget",widgetIcon:"geoscene-icon-vertex-gps"};let h=class extends r{constructor(e,t){super((()=>{const{view:t,viewModel:i,snappingOptions:s,...n}=e;return n})(),t),this.label=void 0,this.messages=null,this.messagesCommon=null,this.snappingOptions=null,this.view=null,this.visibleElements={...p},this._defaultViewModel=null,null!=e&&e.viewModel?this.viewModel=e.viewModel:(this._defaultViewModel=new d({snappingOptions:e.snappingOptions,view:e.view}),this.viewModel=this._defaultViewModel)}destroy(){this._defaultViewModel=t(this._defaultViewModel)}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-action.js"),import("@esri/calcite-components/dist/components/calcite-block.js"),import("@esri/calcite-components/dist/components/calcite-icon.js"),import("@esri/calcite-components/dist/components/calcite-label.js"),import("@esri/calcite-components/dist/components/calcite-panel.js"),import("@esri/calcite-components/dist/components/calcite-pick-list.js"),import("@esri/calcite-components/dist/components/calcite-pick-list-item.js"),import("@esri/calcite-components/dist/components/calcite-switch.js")])}set viewModel(e){e!==this._get("viewModel")&&((i(this._defaultViewModel)||this._defaultViewModel!==e)&&(this._defaultViewModel=t(this._defaultViewModel)),this._set("viewModel",e))}castVisibleElements(e){return{...p,...e}}render(){const{label:e,visibleElements:{header:t}}=this;return c("div",{"aria-label":e,class:this.classes(g.base,g.geosceneWidget)},c("div",{class:g.container},t?this.renderHeaderView():this.renderContent()))}renderHeaderView(){return c("calcite-panel",{heading:this.label,class:g.panel},this.renderContent())}renderContent(){return[this.renderToggles(),this.renderLayerList()]}renderToggles(){return c("calcite-block",{class:g.toggleBlock,heading:"",open:!0},this.renderEnabledToggle(),c("div",{class:g.nestedContainer},this.renderSelfEnabledToggle(),this.renderFeatureEnabledToggle()))}renderEnabledToggle(){if(!this.visibleElements.enabledToggle)return;const{messages:{enableSnapping:e},viewModel:{snappingOptions:{enabled:t,enabledToggled:i}}}=this;return c("calcite-label",{layout:"inline-space-between"},e,c("calcite-switch",{checked:t,disabled:i,bind:this,onCalciteSwitchChange:this._enableSnappingSwitchChange}))}renderSelfEnabledToggle(){if(!this.visibleElements.selfEnabledToggle)return;const{messages:{geometryGuides:e},viewModel:{snappingOptions:{enabled:t,selfEnabled:i,enabledToggled:s}}}=this;return c("calcite-label",{layout:"inline-space-between"},e,c("calcite-switch",{checked:i,disabled:s||!t,bind:this,onCalciteSwitchChange:this._selfEnabledSwitchChange}))}renderFeatureEnabledToggle(){if(!this.visibleElements.featureEnabledToggle)return;const{messages:{featureToFeature:e},viewModel:{snappingOptions:{enabled:t,featureEnabled:i,enabledToggled:s}}}=this;return c("calcite-label",{layout:"inline-space-between"},e,c("calcite-switch",{checked:i,disabled:s||!t,bind:this,onCalciteSwitchChange:this._featureEnabledSwitchChange}))}renderLayerList(){if(!this.visibleElements.layerList)return;const{messages:{snappingLayers:e,searchLayers:t}}=this;return c("calcite-block",{heading:e,class:g.layerListBlock,open:!0,collapsible:!0},c("calcite-pick-list",{class:g.layerList,multiple:!0,bind:this,onCalciteListChange:this._layerListChange,filterEnabled:this.viewModel.layerListViewModel.operationalItems.length>=10,"filter-placeholder":t},this.renderLayerListItemCollection(this.viewModel.layerListViewModel.operationalItems)))}renderLayerListItemCollection(e){return e.map((e=>e.children.length>0?this.renderLayerListItemGroup(e):this.renderLayerListItem(e))).toArray()}renderLayerListItem(e){var t;const{messages:{untitledLayer:i}}=this,s=e.title||i,n=(null==(t=e.children)?void 0:t.length)>0,l=e.enabled;return c("calcite-pick-list-item",{slot:n?"parent-item":null,key:`${this.id}-pick-list-item-${e.uid}`,label:s,value:e.layer.id,selected:l})}renderLayerListItemGroup(e){const t=e.title||this.messages.untitledLayer;return c("calcite-pick-list-group",{"group-title":t,key:e.uid},[...this.renderLayerListItemCollection(e.children)])}_enableSnappingSwitchChange(e){this.snappingOptions.enabled=e.target.checked}_featureEnabledSwitchChange(e){this.snappingOptions.featureEnabled=e.target.checked}_selfEnabledSwitchChange(e){this.snappingOptions.selfEnabled=e.target.checked}async _layerListChange(e){const t=await e.target.getSelectedItems();this.viewModel.updateEnabledFeatureSources([...t.keys()])}};e([l({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],h.prototype,"label",void 0),e([l(),a("geoscene/widgets/support/SnappingControls/t9n/SnappingControls")],h.prototype,"messages",void 0),e([l(),a("geoscene/t9n/common")],h.prototype,"messagesCommon",void 0),e([s("viewModel.snappingOptions")],h.prototype,"snappingOptions",void 0),e([s("viewModel.view")],h.prototype,"view",void 0),e([l()],h.prototype,"viewModel",null),e([l()],h.prototype,"visibleElements",void 0),e([n("visibleElements")],h.prototype,"castVisibleElements",null),h=e([o("geoscene.widgets.support.SnappingControls")],h);const m=h;export{m as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{destroyMaybe as t,isNone as i}from"../../core/maybe.js";import{aliasOf as s}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as n}from"../../core/accessorSupport/decorators/cast.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import r from"../Widget.js";import"./widgetUtils.js";import{messageBundle as a}from"./decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as c}from"./jsxFactory.js";import d from"./SnappingControls/SnappingControlsViewModel.js";const p={header:!0,enabledToggle:!0,selfEnabledToggle:!0,featureEnabledToggle:!0,layerList:!0},g={base:"geoscene-snapping-controls",container:"geoscene-snapping-controls__container",panel:"geoscene-snapping-controls__panel",item:"geoscene-snapping-controls__item",toggleBlock:"geoscene-snapping-controls__toggle-block",layerListBlock:"geoscene-snapping-controls__layer-list-block",layerList:"geoscene-snapping-controls__layer-list",nestedContainer:"geoscene-snapping-controls__nested-container",disabled:"geoscene-disabled",geosceneWidget:"geoscene-widget",widgetIcon:"geoscene-icon-vertex-gps"};let h=class extends r{constructor(e,t){super((()=>{const{view:t,viewModel:i,snappingOptions:s,...n}=e;return n})(),t),this.label=void 0,this.messages=null,this.messagesCommon=null,this.snappingOptions=null,this.view=null,this.visibleElements={...p},this._defaultViewModel=null,null!=e&&e.viewModel?this.viewModel=e.viewModel:(this._defaultViewModel=new d({snappingOptions:e.snappingOptions,view:e.view}),this.viewModel=this._defaultViewModel)}destroy(){this._defaultViewModel=t(this._defaultViewModel)}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-action.js"),import("@esri/calcite-components/dist/components/calcite-block.js"),import("@esri/calcite-components/dist/components/calcite-icon.js"),import("@esri/calcite-components/dist/components/calcite-label.js"),import("@esri/calcite-components/dist/components/calcite-panel.js"),import("@esri/calcite-components/dist/components/calcite-pick-list.js"),import("@esri/calcite-components/dist/components/calcite-pick-list-item.js"),import("@esri/calcite-components/dist/components/calcite-switch.js")])}set viewModel(e){e!==this._get("viewModel")&&((i(this._defaultViewModel)||this._defaultViewModel!==e)&&(this._defaultViewModel=t(this._defaultViewModel)),this._set("viewModel",e))}castVisibleElements(e){return{...p,...e}}render(){const{label:e,visibleElements:{header:t}}=this;return c("div",{"aria-label":e,class:this.classes(g.base,g.geosceneWidget)},c("div",{class:g.container},t?this.renderHeaderView():this.renderContent()))}renderHeaderView(){return c("calcite-panel",{heading:this.label,class:g.panel},this.renderContent())}renderContent(){return[this.renderToggles(),this.renderLayerList()]}renderToggles(){return c("calcite-block",{class:g.toggleBlock,heading:"",open:!0},this.renderEnabledToggle(),c("div",{class:g.nestedContainer},this.renderSelfEnabledToggle(),this.renderFeatureEnabledToggle()))}renderEnabledToggle(){if(!this.visibleElements.enabledToggle)return;const{messages:{enableSnapping:e},viewModel:{snappingOptions:{enabled:t,enabledToggled:i}}}=this;return c("calcite-label",{layout:"inline-space-between"},e,c("calcite-switch",{checked:t,disabled:i,bind:this,onCalciteSwitchChange:this._enableSnappingSwitchChange}))}renderSelfEnabledToggle(){if(!this.visibleElements.selfEnabledToggle)return;const{messages:{geometryGuides:e},viewModel:{snappingOptions:{enabled:t,selfEnabled:i,enabledToggled:s}}}=this;return c("calcite-label",{layout:"inline-space-between"},e,c("calcite-switch",{checked:i,disabled:s||!t,bind:this,onCalciteSwitchChange:this._selfEnabledSwitchChange}))}renderFeatureEnabledToggle(){if(!this.visibleElements.featureEnabledToggle)return;const{messages:{featureToFeature:e},viewModel:{snappingOptions:{enabled:t,featureEnabled:i,enabledToggled:s}}}=this;return c("calcite-label",{layout:"inline-space-between"},e,c("calcite-switch",{checked:i,disabled:s||!t,bind:this,onCalciteSwitchChange:this._featureEnabledSwitchChange}))}renderLayerList(){if(!this.visibleElements.layerList)return;const{messages:{snappingLayers:e,searchLayers:t}}=this;return c("calcite-block",{heading:e,class:g.layerListBlock,open:!0,collapsible:!0},c("calcite-pick-list",{class:g.layerList,multiple:!0,bind:this,onCalciteListChange:this._layerListChange,filterEnabled:this.viewModel.layerListViewModel.operationalItems.length>=10,"filter-placeholder":t},this.renderLayerListItemCollection(this.viewModel.layerListViewModel.operationalItems)))}renderLayerListItemCollection(e){return e.map((e=>e.children.length>0?this.renderLayerListItemGroup(e):this.renderLayerListItem(e))).toArray()}renderLayerListItem(e){var t;const{messages:{untitledLayer:i}}=this,s=e.title||i,n=(null==(t=e.children)?void 0:t.length)>0,l=e.enabled;return c("calcite-pick-list-item",{slot:n?"parent-item":null,key:`${this.id}-pick-list-item-${e.uid}`,label:s,value:e.layer.id,selected:l})}renderLayerListItemGroup(e){const t=e.title||this.messages.untitledLayer;return c("calcite-pick-list-group",{"group-title":t,key:e.uid},[...this.renderLayerListItemCollection(e.children)])}_enableSnappingSwitchChange(e){this.snappingOptions.enabled=e.target.checked}_featureEnabledSwitchChange(e){this.snappingOptions.featureEnabled=e.target.checked}_selfEnabledSwitchChange(e){this.snappingOptions.selfEnabled=e.target.checked}async _layerListChange(e){const t=await e.target.getSelectedItems();this.viewModel.updateEnabledFeatureSources([...t.keys()])}};e([l({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],h.prototype,"label",void 0),e([l(),a("geoscene/widgets/support/SnappingControls/t9n/SnappingControls")],h.prototype,"messages",void 0),e([l(),a("geoscene/t9n/common")],h.prototype,"messagesCommon",void 0),e([s("viewModel.snappingOptions")],h.prototype,"snappingOptions",void 0),e([s("viewModel.view")],h.prototype,"view",void 0),e([l()],h.prototype,"viewModel",null),e([l()],h.prototype,"visibleElements",void 0),e([n("visibleElements")],h.prototype,"castVisibleElements",null),h=e([o("geoscene.widgets.support.SnappingControls")],h);const m=h;export{m as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{eventKey as t}from"../../core/events.js";import{aliasOf as i}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import a from"../Widget.js";import o from"./TimePickerViewModel.js";import"./widgetUtils.js";import{messageBundle as n}from"./decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as l}from"./jsxFactory.js";import{DateTime as u}from"luxon";import{formatDate as m}from"../../intl/date.js";import{getLocale as c}from"../../intl/locale.js";const h={base:"esri-time-picker esri-widget",timePicker:"esri-time-picker__date-picker",timePickerInput:"esri-time-picker__input",input:"esri-input",button:"esri-widget--button"},p={hour:"numeric",minute:"numeric"},d="t",_=["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Tab"];function f(e){return m(e.valueOf(),p).indexOf(" ")>-1}let v=class extends a{constructor(e,t){super(e,t),this._activeTime=null,this.label=void 0,this.messages=null,this.value=null,this.viewModel=new o}render(){const e=this._activeTime||this.viewModel.value;return l("div",{class:h.base},l("input",{afterUpdate:this._handleInputUpdate,"aria-label":this.messages.inputTitle,bind:this,class:this.classes(h.timePickerInput,h.input),onblur:this._handleInputBlur,onfocus:this._handleInputFocus,onkeydown:this._handleInputKeydown,oninput:this._handleInputKeydown,onclick:this._handleInputClick,onpaste:this._handleInputPaste,onwheel:this._handleInputWheel,value:m(e.valueOf(),p)}))}_handleInputBlur(){this._activeTime.isValid&&(this.viewModel.value=this._activeTime.toJSDate()),this._activeTime=null,this._activePart=null}_handleInputUpdate(e){this._selectPart(e,this._activePart)}_selectPart(e,t){const i=this._activeTime;if(!i)return;const s=m(i.valueOf(),p),r=0,a=s.indexOf(":");if("hours"===t)return void e.setSelectionRange(r,a);const o=a+1,n=o+2;if("minutes"===t)return void e.setSelectionRange(o,n);const l=n+1,u=s.length;"meridiem"!==t||e.setSelectionRange(l,u)}_handleInputFocus(e){this._activePart="hours",this._activeTime=u.fromJSDate(this.viewModel.value).startOf("minute"),this._selectPart(e.target,"hours")}_caretIndexToPartName(e){const t=this._activeTime.toFormat(d,{locale:c(),numberingSystem:"latn"}),i=t.indexOf(":"),s=t.indexOf(" ");return e<=i?"hours":e>i&&e<=s?"minutes":"meridiem"}_handleInputKeydown(e){const{ctrlKey:i,metaKey:s,shiftKey:r}=e,a=t(e),o=this._activeTime,n=this._activePart,l=/\d/.test(a),u=/^a|p$/i.test(a),m=s||i;if(_.indexOf(a)>-1||l||"meridiem"===n&&u&&!m){if("ArrowLeft"===a)this._activePart=this._prevPart();else if("ArrowRight"===a)this._activePart=this._nextPart();else if("Tab"===a){const e=r?this._prevPart():this._nextPart();if(e===this._activePart)return;this._activePart=e}else if("ArrowUp"===a)this._shift("up",n);else if("ArrowDown"===a)this._shift("down",n);else if(l)this._setTime(o,n,Number(a));else if(u){const e=a.toLowerCase(),t=o.hour;("a"===e&&t>=12||"p"===e&&t<12)&&this._shift("up",n)}e.preventDefault(),e.stopImmediatePropagation()}else m||(e.preventDefault(),e.stopImmediatePropagation())}_handleInputClick(e){const t=e.target;this._activePart=null,this.renderNow(),this._activePart=this._caretIndexToPartName(t.selectionStart)}_getOrderedParts(){return f(this._activeTime)?["hours","minutes","meridiem"]:["hours","minutes"]}_prevPart(){const e=this._getOrderedParts(),t=e.indexOf(this._activePart)-1;return e[Math.max(t,0)]}_nextPart(){const e=this._getOrderedParts(),t=e.indexOf(this._activePart)+1;return e[Math.min(t,e.length-1)]}_setTime(e,t,i){if("hours"===t){const t=f(e)?12:24,s=""+e.hour%t,r=i,a=Number(`${s}${i}`);2===s.length||a>t?e.set({hour:r}):a<=t&&e.set({hour:a})}else if("minutes"===t){const t=59,s=`${e.minute}`,r=i,a=Number(`${s}${i}`);2===s.length||a>t?e.set({minute:r}):a<t&&e.set({minute:a})}}_parseTime(e){const t={locale:c(),numberingSystem:"latn"};let i=u.fromFormat(e,d,t);return i.isValid?i:(i=u.fromISO(e,t),i.isValid?i:(i=u.fromRFC2822(e,t),i.isValid?i:(i=u.fromJSDate(new Date(e)),i.isValid?i:null)))}_handleInputPaste(e){const t=e.clipboardData.getData("text/plain"),i=this._parseTime(t);i&&(this._activeTime=i),e.preventDefault(),e.stopImmediatePropagation()}_handleInputWheel(e){const t=e.deltaY<0?"up":"down";this._shift(t,this._activePart)}_shift(e,t){if(!e||!t)return;const i="up"===e?"plus":"minus",s="meridiem"===t?12:1,r="hours"===t?"hour":"minutes"===t?"minute":"hours";this._activeTime=this._activeTime[i]({[r]:s})}};e([s({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],v.prototype,"label",void 0),e([s(),n("geoscene/widgets/support/t9n/TimePicker")],v.prototype,"messages",void 0),e([i("viewModel.value")],v.prototype,"value",void 0),e([s({type:o})],v.prototype,"viewModel",void 0),v=e([r("geoscene.widgets.support.TimePicker")],v);const P=v;export{P as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{eventKey as t}from"../../core/events.js";import{aliasOf as i}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import a from"../Widget.js";import o from"./TimePickerViewModel.js";import"./widgetUtils.js";import{messageBundle as n}from"./decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as l}from"./jsxFactory.js";import{DateTime as u}from"luxon";import{formatDate as m}from"../../intl/date.js";import{getLocale as c}from"../../intl/locale.js";const h={base:"geoscene-time-picker geoscene-widget",timePicker:"geoscene-time-picker__date-picker",timePickerInput:"geoscene-time-picker__input",input:"geoscene-input",button:"geoscene-widget--button"},p={hour:"numeric",minute:"numeric"},d="t",_=["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Tab"];function f(e){return m(e.valueOf(),p).indexOf(" ")>-1}let v=class extends a{constructor(e,t){super(e,t),this._activeTime=null,this.label=void 0,this.messages=null,this.value=null,this.viewModel=new o}render(){const e=this._activeTime||this.viewModel.value;return l("div",{class:h.base},l("input",{afterUpdate:this._handleInputUpdate,"aria-label":this.messages.inputTitle,bind:this,class:this.classes(h.timePickerInput,h.input),onblur:this._handleInputBlur,onfocus:this._handleInputFocus,onkeydown:this._handleInputKeydown,oninput:this._handleInputKeydown,onclick:this._handleInputClick,onpaste:this._handleInputPaste,onwheel:this._handleInputWheel,value:m(e.valueOf(),p)}))}_handleInputBlur(){this._activeTime.isValid&&(this.viewModel.value=this._activeTime.toJSDate()),this._activeTime=null,this._activePart=null}_handleInputUpdate(e){this._selectPart(e,this._activePart)}_selectPart(e,t){const i=this._activeTime;if(!i)return;const s=m(i.valueOf(),p),r=0,a=s.indexOf(":");if("hours"===t)return void e.setSelectionRange(r,a);const o=a+1,n=o+2;if("minutes"===t)return void e.setSelectionRange(o,n);const l=n+1,u=s.length;"meridiem"!==t||e.setSelectionRange(l,u)}_handleInputFocus(e){this._activePart="hours",this._activeTime=u.fromJSDate(this.viewModel.value).startOf("minute"),this._selectPart(e.target,"hours")}_caretIndexToPartName(e){const t=this._activeTime.toFormat(d,{locale:c(),numberingSystem:"latn"}),i=t.indexOf(":"),s=t.indexOf(" ");return e<=i?"hours":e>i&&e<=s?"minutes":"meridiem"}_handleInputKeydown(e){const{ctrlKey:i,metaKey:s,shiftKey:r}=e,a=t(e),o=this._activeTime,n=this._activePart,l=/\d/.test(a),u=/^a|p$/i.test(a),m=s||i;if(_.indexOf(a)>-1||l||"meridiem"===n&&u&&!m){if("ArrowLeft"===a)this._activePart=this._prevPart();else if("ArrowRight"===a)this._activePart=this._nextPart();else if("Tab"===a){const e=r?this._prevPart():this._nextPart();if(e===this._activePart)return;this._activePart=e}else if("ArrowUp"===a)this._shift("up",n);else if("ArrowDown"===a)this._shift("down",n);else if(l)this._setTime(o,n,Number(a));else if(u){const e=a.toLowerCase(),t=o.hour;("a"===e&&t>=12||"p"===e&&t<12)&&this._shift("up",n)}e.preventDefault(),e.stopImmediatePropagation()}else m||(e.preventDefault(),e.stopImmediatePropagation())}_handleInputClick(e){const t=e.target;this._activePart=null,this.renderNow(),this._activePart=this._caretIndexToPartName(t.selectionStart)}_getOrderedParts(){return f(this._activeTime)?["hours","minutes","meridiem"]:["hours","minutes"]}_prevPart(){const e=this._getOrderedParts(),t=e.indexOf(this._activePart)-1;return e[Math.max(t,0)]}_nextPart(){const e=this._getOrderedParts(),t=e.indexOf(this._activePart)+1;return e[Math.min(t,e.length-1)]}_setTime(e,t,i){if("hours"===t){const t=f(e)?12:24,s=""+e.hour%t,r=i,a=Number(`${s}${i}`);2===s.length||a>t?e.set({hour:r}):a<=t&&e.set({hour:a})}else if("minutes"===t){const t=59,s=`${e.minute}`,r=i,a=Number(`${s}${i}`);2===s.length||a>t?e.set({minute:r}):a<t&&e.set({minute:a})}}_parseTime(e){const t={locale:c(),numberingSystem:"latn"};let i=u.fromFormat(e,d,t);return i.isValid?i:(i=u.fromISO(e,t),i.isValid?i:(i=u.fromRFC2822(e,t),i.isValid?i:(i=u.fromJSDate(new Date(e)),i.isValid?i:null)))}_handleInputPaste(e){const t=e.clipboardData.getData("text/plain"),i=this._parseTime(t);i&&(this._activeTime=i),e.preventDefault(),e.stopImmediatePropagation()}_handleInputWheel(e){const t=e.deltaY<0?"up":"down";this._shift(t,this._activePart)}_shift(e,t){if(!e||!t)return;const i="up"===e?"plus":"minus",s="meridiem"===t?12:1,r="hours"===t?"hour":"minutes"===t?"minute":"hours";this._activeTime=this._activeTime[i]({[r]:s})}};e([s({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],v.prototype,"label",void 0),e([s(),n("geoscene/widgets/support/t9n/TimePicker")],v.prototype,"messages",void 0),e([i("viewModel.value")],v.prototype,"value",void 0),e([s({type:o})],v.prototype,"viewModel",void 0),v=e([r("geoscene.widgets.support.TimePicker")],v);const P=v;export{P as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright GeoScene, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.geoscene.cn/4.23/geoscene/copyright.txt for details.
4
4
  */
5
- function e(){return getComputedStyle(document.body).getPropertyValue("--esri-calcite-theme-name").replace(/\s|'|"/g,"")}function t(){return e().startsWith("dark")}function r(){return"calcite-theme-"+(t()?"dark":"light")}export{r as getCalciteThemeClass,e as getThemeName,t as isDarkTheme};
5
+ function e(){return getComputedStyle(document.body).getPropertyValue("--geoscene-calcite-theme-name").replace(/\s|'|"/g,"")}function t(){return e().startsWith("dark")}function r(){return"calcite-theme-"+(t()?"dark":"light")}export{r as getCalciteThemeClass,e as getThemeName,t as isDarkTheme};