@esri/solutions-components 0.6.6 → 0.6.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (943) hide show
  1. package/dist/cjs/{ExpandToggle-e6a0d66e.js → ExpandToggle-70890ae0.js} +4 -4
  2. package/dist/cjs/{FloatingArrow-0119ec6e.js → FloatingArrow-4ca06439.js} +1 -1
  3. package/dist/cjs/{Heading-521f39ac.js → Heading-c5c71fc5.js} +1 -1
  4. package/dist/cjs/{app-globals-72576a1c.js → app-globals-a34c0991.js} +20 -25
  5. package/dist/cjs/{ar-1718ae57.js → ar-fa16156d.js} +15 -15
  6. package/dist/cjs/{bg-190a176c.js → bg-b39e773e.js} +15 -15
  7. package/dist/cjs/{bs-919e0de8.js → bs-4579ea2a.js} +15 -15
  8. package/dist/cjs/buffer-tools_4.cjs.entry.js +1437 -1437
  9. package/dist/cjs/{ca-94918e06.js → ca-f3f64686.js} +15 -15
  10. package/dist/cjs/calcite-accordion-item.cjs.entry.js +140 -140
  11. package/dist/cjs/calcite-accordion.cjs.entry.js +75 -75
  12. package/dist/cjs/calcite-action-bar.cjs.entry.js +216 -216
  13. package/dist/cjs/calcite-action-group_2.cjs.entry.js +365 -365
  14. package/dist/cjs/calcite-action-pad.cjs.entry.js +135 -135
  15. package/dist/cjs/calcite-action_2.cjs.entry.js +445 -445
  16. package/dist/cjs/calcite-alert.cjs.entry.js +247 -247
  17. package/dist/cjs/calcite-avatar.cjs.entry.js +73 -73
  18. package/dist/cjs/calcite-block-section.cjs.entry.js +122 -122
  19. package/dist/cjs/calcite-block.cjs.entry.js +131 -131
  20. package/dist/cjs/calcite-button.cjs.entry.js +182 -182
  21. package/dist/cjs/calcite-card.cjs.entry.js +99 -99
  22. package/dist/cjs/calcite-checkbox.cjs.entry.js +125 -125
  23. package/dist/cjs/calcite-chip-group.cjs.entry.js +164 -164
  24. package/dist/cjs/calcite-chip.cjs.entry.js +213 -213
  25. package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +303 -303
  26. package/dist/cjs/calcite-color-picker.cjs.entry.js +886 -886
  27. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +35 -35
  28. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1786 -1786
  29. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +589 -589
  30. package/dist/cjs/calcite-date-picker.cjs.entry.js +434 -434
  31. package/dist/cjs/calcite-fab.cjs.entry.js +66 -66
  32. package/dist/cjs/calcite-filter_5.cjs.entry.js +1131 -1131
  33. package/dist/cjs/calcite-flow-item.cjs.entry.js +146 -146
  34. package/dist/cjs/calcite-flow.cjs.entry.js +117 -117
  35. package/dist/cjs/calcite-graph.cjs.entry.js +66 -66
  36. package/dist/cjs/calcite-icon.cjs.entry.js +80 -80
  37. package/dist/cjs/calcite-inline-editable.cjs.entry.js +225 -225
  38. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +632 -632
  39. package/dist/cjs/calcite-input-number_2.cjs.entry.js +846 -846
  40. package/dist/cjs/{calcite-input-time-picker-b99baf7b.js → calcite-input-time-picker-6f38ef8c.js} +534 -534
  41. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +15 -15
  42. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +150 -150
  43. package/dist/cjs/calcite-input_2.cjs.entry.js +645 -645
  44. package/dist/cjs/calcite-label.cjs.entry.js +40 -40
  45. package/dist/cjs/calcite-link.cjs.entry.js +96 -96
  46. package/dist/cjs/calcite-list-item-group.cjs.entry.js +46 -46
  47. package/dist/cjs/calcite-loader.cjs.entry.js +65 -65
  48. package/dist/cjs/calcite-menu-item.cjs.entry.js +246 -246
  49. package/dist/cjs/calcite-menu.cjs.entry.js +161 -161
  50. package/dist/cjs/calcite-modal.cjs.entry.js +282 -282
  51. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +52 -52
  52. package/dist/cjs/calcite-navigation-user.cjs.entry.js +45 -45
  53. package/dist/cjs/calcite-navigation.cjs.entry.js +126 -126
  54. package/dist/cjs/calcite-notice.cjs.entry.js +105 -105
  55. package/dist/cjs/calcite-option-group.cjs.entry.js +24 -24
  56. package/dist/cjs/calcite-option_2.cjs.entry.js +271 -271
  57. package/dist/cjs/calcite-pagination.cjs.entry.js +191 -191
  58. package/dist/cjs/calcite-panel_2.cjs.entry.js +346 -346
  59. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +46 -46
  60. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +181 -181
  61. package/dist/cjs/calcite-pick-list.cjs.entry.js +130 -130
  62. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +118 -118
  63. package/dist/cjs/calcite-radio-button.cjs.entry.js +292 -292
  64. package/dist/cjs/calcite-rating.cjs.entry.js +245 -245
  65. package/dist/cjs/calcite-scrim.cjs.entry.js +93 -93
  66. package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +225 -225
  67. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +42 -42
  68. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2604 -2604
  69. package/dist/cjs/calcite-sortable-list.cjs.entry.js +134 -134
  70. package/dist/cjs/calcite-split-button.cjs.entry.js +92 -92
  71. package/dist/cjs/calcite-stepper-item.cjs.entry.js +197 -197
  72. package/dist/cjs/calcite-stepper.cjs.entry.js +187 -187
  73. package/dist/cjs/calcite-switch.cjs.entry.js +100 -100
  74. package/dist/cjs/calcite-text-area.cjs.entry.js +235 -235
  75. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +27 -27
  76. package/dist/cjs/calcite-tile-select.cjs.entry.js +180 -180
  77. package/dist/cjs/calcite-tile.cjs.entry.js +58 -58
  78. package/dist/cjs/calcite-time-picker.cjs.entry.js +619 -619
  79. package/dist/cjs/calcite-tip-group.cjs.entry.js +10 -10
  80. package/dist/cjs/calcite-tip-manager.cjs.entry.js +185 -185
  81. package/dist/cjs/calcite-tip.cjs.entry.js +94 -94
  82. package/dist/cjs/calcite-tooltip.cjs.entry.js +185 -185
  83. package/dist/cjs/calcite-tree_3.cjs.entry.js +821 -821
  84. package/dist/cjs/card-manager_4.cjs.entry.js +652 -652
  85. package/dist/cjs/{conditionalSlot-85b3a6b3.js → conditionalSlot-a51326e7.js} +2 -2
  86. package/dist/cjs/crowdsource-manager.cjs.entry.js +256 -256
  87. package/dist/cjs/crowdsource-reporter.cjs.entry.js +60 -60
  88. package/dist/cjs/{cs-fe27e732.js → cs-1bcd5b46.js} +15 -15
  89. package/dist/cjs/{da-1b7f3440.js → da-30ee21db.js} +15 -15
  90. package/dist/cjs/{date-cec32b0e.js → date-f6611a19.js} +1 -1
  91. package/dist/cjs/{de-0dc1effa.js → de-42aae5ad.js} +15 -15
  92. package/dist/cjs/{de-at-acdc4d01.js → de-at-a3a6f020.js} +15 -15
  93. package/dist/cjs/{de-ch-778a0d99.js → de-ch-36c13310.js} +15 -15
  94. package/dist/cjs/deduct-calculator.cjs.entry.js +90 -90
  95. package/dist/cjs/{dom-c1807fc1.js → dom-d529bae8.js} +2 -2
  96. package/dist/cjs/{downloadUtils-a8c530f7.js → downloadUtils-6eb59363.js} +660 -660
  97. package/dist/cjs/edit-card_2.cjs.entry.js +345 -345
  98. package/dist/cjs/{el-fdbc9bc1.js → el-90d066ae.js} +15 -15
  99. package/dist/cjs/{en-au-0ff50cdf.js → en-au-685b882b.js} +15 -15
  100. package/dist/cjs/{en-ca-284e9368.js → en-ca-ff4bc403.js} +15 -15
  101. package/dist/cjs/{en-gb-0fcae8ae.js → en-gb-2f5587ad.js} +15 -15
  102. package/dist/cjs/{es-cd54acba.js → es-e9183ca0.js} +15 -15
  103. package/dist/cjs/{es-mx-2078d50f.js → es-mx-dcc9afb2.js} +15 -15
  104. package/dist/cjs/{et-17f323f6.js → et-a18949ea.js} +15 -15
  105. package/dist/cjs/{fi-82f27397.js → fi-1ce00d38.js} +15 -15
  106. package/dist/cjs/{filter-bda212b4.js → filter-494bf35e.js} +1 -1
  107. package/dist/cjs/{floating-ui-8d10af88.js → floating-ui-7d6e57d3.js} +2 -2
  108. package/dist/cjs/{focusTrapComponent-a22fc6a8.js → focusTrapComponent-0c4d7671.js} +1 -1
  109. package/dist/cjs/{form-9d8ebf06.js → form-bcf49eae.js} +2 -2
  110. package/dist/cjs/{fr-af7e1192.js → fr-a9435a19.js} +15 -15
  111. package/dist/cjs/{fr-ch-5e1f2c28.js → fr-ch-51efa9bf.js} +15 -15
  112. package/dist/cjs/{he-ea851800.js → he-c5dccfa2.js} +15 -15
  113. package/dist/cjs/{hi-5212a21d.js → hi-0898e7f2.js} +15 -15
  114. package/dist/cjs/{hr-4eecb2ed.js → hr-68f7d8da.js} +15 -15
  115. package/dist/cjs/{hu-6b527d8e.js → hu-e494037d.js} +15 -15
  116. package/dist/cjs/{id-d78f12ec.js → id-bef40c1c.js} +15 -15
  117. package/dist/cjs/{index-0e50040c.js → index-6654298b.js} +38 -180
  118. package/dist/cjs/{index-2b60e135.js → index-e1b1954f.js} +1 -1
  119. package/dist/cjs/{index.es-4542630e.js → index.es-d9b5d3a5.js} +6 -6
  120. package/dist/cjs/{interfaces-d539e30c.js → interfaces-ad03ec39.js} +77 -77
  121. package/dist/cjs/{it-15242935.js → it-1144ca67.js} +15 -15
  122. package/dist/cjs/{it-ch-9dc21944.js → it-ch-2c14dca7.js} +15 -15
  123. package/dist/cjs/{ja-f702cfc2.js → ja-caad9809.js} +15 -15
  124. package/dist/cjs/{ko-aa9bde2c.js → ko-ddec9054.js} +15 -15
  125. package/dist/cjs/{label-6e33e971.js → label-215c4af3.js} +1 -1
  126. package/dist/cjs/list-item.cjs.entry.js +60 -60
  127. package/dist/cjs/{loadModules-31cab7ac.js → loadModules-ae7715f2.js} +19 -19
  128. package/dist/cjs/{loadable-bac9cdd6.js → loadable-6da743c6.js} +1 -1
  129. package/dist/cjs/loader.cjs.js +13 -4
  130. package/dist/cjs/{locale-c63a1b57.js → locale-477d8d51.js} +3 -3
  131. package/dist/cjs/{locale-d15cd743.js → locale-b113c6b2.js} +107 -107
  132. package/dist/cjs/{lt-e741ff2f.js → lt-205a1aa6.js} +15 -15
  133. package/dist/cjs/{lv-92d6768e.js → lv-3ba82f9b.js} +15 -15
  134. package/dist/cjs/map-picker_2.cjs.entry.js +243 -243
  135. package/dist/cjs/map-select-tools_3.cjs.entry.js +1285 -1285
  136. package/dist/cjs/{mapViewUtils-9da2dddd.js → mapViewUtils-77a1ff88.js} +384 -384
  137. package/dist/cjs/{mk-b209ac0d.js → mk-069ea86a.js} +15 -15
  138. package/dist/cjs/{nb-db13e666.js → nb-9e9c934f.js} +15 -15
  139. package/dist/cjs/{nl-fcd9e0c5.js → nl-5dd0116f.js} +15 -15
  140. package/dist/cjs/{openCloseComponent-5d70fcd8.js → openCloseComponent-3fa18210.js} +1 -1
  141. package/dist/cjs/pci-calculator.cjs.entry.js +102 -102
  142. package/dist/cjs/{pciUtils-e0ddeb7c.js → pciUtils-423cfc68.js} +836 -836
  143. package/dist/cjs/{pl-87c83322.js → pl-74e70b37.js} +15 -15
  144. package/dist/cjs/{pt-br-03333e90.js → pt-br-0f76e430.js} +15 -15
  145. package/dist/cjs/{pt-b0b5f472.js → pt-cc737fcc.js} +15 -15
  146. package/dist/cjs/public-notification.cjs.entry.js +844 -844
  147. package/dist/cjs/{publicNotificationStore-55edd658.js → publicNotificationStore-ec1bdd2d.js} +40 -40
  148. package/dist/cjs/{ro-c3661b73.js → ro-5e396753.js} +15 -15
  149. package/dist/cjs/{ru-8dd3fd58.js → ru-f7371aca.js} +15 -15
  150. package/dist/cjs/{shared-list-render-c0adb192.js → shared-list-render-76c5dc25.js} +6 -6
  151. package/dist/cjs/{sk-151d9acf.js → sk-ec02498f.js} +15 -15
  152. package/dist/cjs/{sl-9b45a152.js → sl-8363f4d7.js} +15 -15
  153. package/dist/cjs/solution-configuration.cjs.entry.js +888 -888
  154. package/dist/cjs/solution-contents_3.cjs.entry.js +21506 -21506
  155. package/dist/cjs/{solution-store-0004e4e6.js → solution-store-bd956f06.js} +577 -577
  156. package/dist/cjs/solutions-components.cjs.js +4 -4
  157. package/dist/cjs/{sortableComponent-58679f07.js → sortableComponent-8135ea87.js} +1 -1
  158. package/dist/cjs/{sr-186bf15c.js → sr-b0f92cb1.js} +15 -15
  159. package/dist/cjs/store-manager.cjs.entry.js +52 -52
  160. package/dist/cjs/{sv-a93fee0c.js → sv-e2c27fff.js} +15 -15
  161. package/dist/cjs/{t9n-1d032c30.js → t9n-8be30efb.js} +2 -2
  162. package/dist/cjs/{th-41680352.js → th-8a6dc2cc.js} +15 -15
  163. package/dist/cjs/{throttle-aeeb1b4d.js → throttle-8ee74c77.js} +1 -1
  164. package/dist/cjs/{time-5e450ec8.js → time-9004df7e.js} +1 -1
  165. package/dist/cjs/{tr-0bd886d6.js → tr-09137435.js} +15 -15
  166. package/dist/cjs/{uk-4fade133.js → uk-c30401f4.js} +15 -15
  167. package/dist/cjs/{utils-ae9bdd59.js → utils-ed4e5028.js} +1 -1
  168. package/dist/cjs/{utils-acfeed9d.js → utils-fb81c6b3.js} +3 -3
  169. package/dist/cjs/{vi-1c9fe343.js → vi-e069c9e4.js} +15 -15
  170. package/dist/cjs/{zh-cn-28fa1fe1.js → zh-cn-50f223a8.js} +15 -15
  171. package/dist/cjs/{zh-hk-5abf8eb5.js → zh-hk-5498073d.js} +15 -15
  172. package/dist/cjs/{zh-tw-07500357.js → zh-tw-dfdb0ae8.js} +15 -15
  173. package/dist/collection/collection-manifest.json +35 -35
  174. package/dist/collection/components/buffer-tools/buffer-tools.js +476 -481
  175. package/dist/collection/components/card-manager/card-manager.js +197 -199
  176. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +406 -407
  177. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +89 -89
  178. package/dist/collection/components/deduct-calculator/deduct-calculator.js +143 -143
  179. package/dist/collection/components/edit-card/edit-card.js +300 -302
  180. package/dist/collection/components/info-card/info-card.js +357 -361
  181. package/dist/collection/components/json-editor/json-editor.js +614 -618
  182. package/dist/collection/components/layer-table/layer-table.js +548 -551
  183. package/dist/collection/components/layout-manager/layout-manager.js +135 -136
  184. package/dist/collection/components/list-item/list-item.js +89 -89
  185. package/dist/collection/components/map-card/map-card.js +203 -206
  186. package/dist/collection/components/map-draw-tools/map-draw-tools.js +683 -692
  187. package/dist/collection/components/map-layer-picker/map-layer-picker.js +423 -424
  188. package/dist/collection/components/map-picker/map-picker.js +224 -226
  189. package/dist/collection/components/map-select-tools/map-select-tools.js +1229 -1242
  190. package/dist/collection/components/map-tools/map-tools.js +210 -212
  191. package/dist/collection/components/pci-calculator/pci-calculator.js +143 -143
  192. package/dist/collection/components/pdf-download/pdf-download.js +333 -338
  193. package/dist/collection/components/public-notification/public-notification.js +1287 -1295
  194. package/dist/collection/components/refine-selection/refine-selection.js +601 -608
  195. package/dist/collection/components/solution-configuration/solution-configuration.js +735 -739
  196. package/dist/collection/components/solution-contents/solution-contents.js +162 -163
  197. package/dist/collection/components/solution-item/solution-item.js +202 -203
  198. package/dist/collection/components/solution-item-details/solution-item-details.js +248 -248
  199. package/dist/collection/components/solution-item-icon/solution-item-icon.js +398 -398
  200. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +199 -200
  201. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +156 -156
  202. package/dist/collection/components/solution-resource-item/solution-resource-item.js +347 -348
  203. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +510 -515
  204. package/dist/collection/components/solution-spatial-ref/spatialreferences.js +21046 -21046
  205. package/dist/collection/components/solution-template-data/solution-template-data.js +230 -230
  206. package/dist/collection/components/solution-variables/solution-variables.js +168 -168
  207. package/dist/collection/components/store-manager/store-manager.js +127 -128
  208. package/dist/collection/index.js +1 -1
  209. package/dist/collection/utils/common.js +296 -296
  210. package/dist/collection/utils/csvDownload.js +41 -41
  211. package/dist/collection/utils/csvUtils.js +37 -37
  212. package/dist/collection/utils/downloadUtils.js +530 -530
  213. package/dist/collection/utils/interfaces.js +83 -83
  214. package/dist/collection/utils/languageUtil.js +90 -90
  215. package/dist/collection/utils/loadModules.js +25 -25
  216. package/dist/collection/utils/locale.js +61 -61
  217. package/dist/collection/utils/mapViewUtils.js +240 -240
  218. package/dist/collection/utils/pciUtils.js +842 -842
  219. package/dist/collection/utils/pdfUtils.js +87 -87
  220. package/dist/collection/utils/publicNotificationStore.js +47 -47
  221. package/dist/collection/utils/queryUtils.js +200 -200
  222. package/dist/collection/utils/solution-store.js +584 -584
  223. package/dist/collection/utils/templates.js +346 -346
  224. package/dist/collection/utils/test/mocks/jsApi.js +79 -79
  225. package/dist/collection/utils/test/testUtils.js +123 -123
  226. package/dist/collection/utils/types.js +1 -1
  227. package/dist/components/ExpandToggle.js +1 -1
  228. package/dist/components/action-bar.js +263 -262
  229. package/dist/components/action-group.js +145 -144
  230. package/dist/components/action-menu.js +311 -310
  231. package/dist/components/action.js +186 -185
  232. package/dist/components/alert.js +287 -286
  233. package/dist/components/avatar.js +100 -99
  234. package/dist/components/buffer-tools2.js +264 -263
  235. package/dist/components/button.js +226 -225
  236. package/dist/components/calcite-accordion-item.js +168 -168
  237. package/dist/components/calcite-accordion.js +96 -95
  238. package/dist/components/calcite-action-pad.js +181 -180
  239. package/dist/components/calcite-block-section.js +151 -150
  240. package/dist/components/calcite-block.js +187 -186
  241. package/dist/components/calcite-card.js +133 -132
  242. package/dist/components/calcite-chip-group.js +182 -181
  243. package/dist/components/calcite-color-picker.js +980 -979
  244. package/dist/components/calcite-combobox-item-group.js +53 -52
  245. package/dist/components/calcite-fab.js +105 -104
  246. package/dist/components/calcite-filter.js +1 -1
  247. package/dist/components/calcite-flow-item.js +205 -204
  248. package/dist/components/calcite-flow.js +137 -136
  249. package/dist/components/calcite-inline-editable.js +260 -259
  250. package/dist/components/calcite-input-date-picker.js +704 -703
  251. package/dist/components/calcite-input-time-picker.js +596 -595
  252. package/dist/components/calcite-input-time-zone.js +190 -189
  253. package/dist/components/calcite-label.js +1 -1
  254. package/dist/components/calcite-list-item-group.js +65 -64
  255. package/dist/components/calcite-menu-item.js +297 -297
  256. package/dist/components/calcite-modal.js +329 -328
  257. package/dist/components/calcite-navigation-logo.js +77 -76
  258. package/dist/components/calcite-navigation-user.js +79 -78
  259. package/dist/components/calcite-navigation.js +167 -166
  260. package/dist/components/calcite-option-group.js +43 -42
  261. package/dist/components/calcite-pagination.js +218 -217
  262. package/dist/components/calcite-pick-list-group.js +60 -59
  263. package/dist/components/calcite-pick-list.js +151 -150
  264. package/dist/components/calcite-radio-button-group.js +142 -141
  265. package/dist/components/calcite-radio-button.js +317 -316
  266. package/dist/components/calcite-rating.js +280 -279
  267. package/dist/components/calcite-shell-center-row.js +58 -57
  268. package/dist/components/calcite-sortable-list.js +154 -153
  269. package/dist/components/calcite-split-button.js +143 -142
  270. package/dist/components/calcite-stack.js +1 -1
  271. package/dist/components/calcite-stepper-item.js +226 -225
  272. package/dist/components/calcite-stepper.js +213 -212
  273. package/dist/components/calcite-text-area.js +267 -266
  274. package/dist/components/calcite-tile-select-group.js +45 -44
  275. package/dist/components/calcite-tile-select.js +224 -223
  276. package/dist/components/calcite-tip-group.js +28 -27
  277. package/dist/components/calcite-tip-manager.js +223 -222
  278. package/dist/components/calcite-tip.js +127 -126
  279. package/dist/components/card-manager2.js +156 -155
  280. package/dist/components/checkbox.js +147 -146
  281. package/dist/components/chip.js +246 -245
  282. package/dist/components/color-picker-hex-input.js +288 -287
  283. package/dist/components/color-picker-swatch.js +80 -79
  284. package/dist/components/combobox-item.js +136 -135
  285. package/dist/components/combobox.js +922 -921
  286. package/dist/components/crowdsource-manager.js +476 -475
  287. package/dist/components/crowdsource-reporter.js +76 -75
  288. package/dist/components/date-picker-day.js +110 -110
  289. package/dist/components/date-picker-month-header.js +198 -197
  290. package/dist/components/date-picker-month.js +373 -372
  291. package/dist/components/date-picker.js +493 -492
  292. package/dist/components/date.js +1 -1
  293. package/dist/components/deduct-calculator2.js +982 -981
  294. package/dist/components/dom.js +23 -2
  295. package/dist/components/downloadUtils.js +655 -655
  296. package/dist/components/dropdown-group.js +73 -72
  297. package/dist/components/dropdown-item.js +196 -195
  298. package/dist/components/dropdown.js +421 -420
  299. package/dist/components/edit-card2.js +192 -191
  300. package/dist/components/filter.js +202 -751
  301. package/dist/components/filter2.js +740 -190
  302. package/dist/components/floating-ui.js +2 -2
  303. package/dist/components/focusTrapComponent.js +1 -1
  304. package/dist/components/graph.js +87 -86
  305. package/dist/components/handle.js +166 -165
  306. package/dist/components/icon.js +100 -99
  307. package/dist/components/index.d.ts +36 -0
  308. package/dist/components/index.js +153 -25
  309. package/dist/components/info-card2.js +252 -251
  310. package/dist/components/input-message.js +67 -66
  311. package/dist/components/input-number.js +600 -600
  312. package/dist/components/input-text.js +368 -368
  313. package/dist/components/input.js +687 -687
  314. package/dist/components/interfaces.js +78 -78
  315. package/dist/components/json-editor2.js +426 -425
  316. package/dist/components/label.js +65 -117
  317. package/dist/components/label2.js +110 -57
  318. package/dist/components/layer-table2.js +548 -547
  319. package/dist/components/layout-manager2.js +119 -118
  320. package/dist/components/link.js +123 -123
  321. package/dist/components/list-item.js +76 -75
  322. package/dist/components/list-item2.js +432 -431
  323. package/dist/components/list.js +511 -510
  324. package/dist/components/loadModules.js +18 -18
  325. package/dist/components/loader.js +87 -86
  326. package/dist/components/locale.js +106 -106
  327. package/dist/components/locale2.js +2 -2
  328. package/dist/components/map-card2.js +201 -200
  329. package/dist/components/map-draw-tools2.js +384 -383
  330. package/dist/components/map-layer-picker2.js +292 -291
  331. package/dist/components/map-picker2.js +236 -235
  332. package/dist/components/map-select-tools2.js +917 -916
  333. package/dist/components/map-tools2.js +170 -169
  334. package/dist/components/mapViewUtils.js +235 -235
  335. package/dist/components/menu.js +179 -178
  336. package/dist/components/notice.js +131 -130
  337. package/dist/components/option.js +92 -91
  338. package/dist/components/panel.js +308 -307
  339. package/dist/components/pci-calculator.js +170 -169
  340. package/dist/components/pdf-download2.js +174 -173
  341. package/dist/components/pick-list-item.js +220 -219
  342. package/dist/components/popover.js +350 -349
  343. package/dist/components/progress.js +46 -46
  344. package/dist/components/public-notification.js +1102 -1101
  345. package/dist/components/publicNotificationStore.js +39 -39
  346. package/dist/components/queryUtils.js +152 -152
  347. package/dist/components/refine-selection2.js +547 -546
  348. package/dist/components/resources.js +9 -17
  349. package/dist/components/resources2.js +13 -9
  350. package/dist/components/resources3.js +5 -9
  351. package/dist/components/scrim.js +116 -115
  352. package/dist/components/segmented-control-item.js +63 -62
  353. package/dist/components/segmented-control.js +214 -213
  354. package/dist/components/select.js +227 -226
  355. package/dist/components/shared-list-render.js +3 -3
  356. package/dist/components/shell-panel.js +398 -398
  357. package/dist/components/shell.js +120 -119
  358. package/dist/components/slider.js +899 -898
  359. package/dist/components/solution-configuration.js +1096 -1095
  360. package/dist/components/solution-contents2.js +112 -111
  361. package/dist/components/solution-item-details2.js +218 -217
  362. package/dist/components/solution-item-icon2.js +331 -330
  363. package/dist/components/solution-item-sharing2.js +152 -151
  364. package/dist/components/solution-item2.js +270 -269
  365. package/dist/components/solution-organization-variables2.js +116 -115
  366. package/dist/components/solution-resource-item2.js +332 -331
  367. package/dist/components/solution-spatial-ref2.js +21421 -21420
  368. package/dist/components/solution-store.js +575 -575
  369. package/dist/components/solution-template-data2.js +203 -202
  370. package/dist/components/solution-variables2.js +133 -132
  371. package/dist/components/sortableComponent.js +1 -1
  372. package/dist/components/stack.js +79 -78
  373. package/dist/components/store-manager.js +71 -70
  374. package/dist/components/switch.js +119 -118
  375. package/dist/components/tab-nav.js +255 -254
  376. package/dist/components/tab-title.js +301 -300
  377. package/dist/components/tab.js +112 -111
  378. package/dist/components/tabs.js +131 -130
  379. package/dist/components/tile.js +90 -89
  380. package/dist/components/time-picker.js +655 -654
  381. package/dist/components/tooltip.js +208 -207
  382. package/dist/components/tree-item.js +288 -288
  383. package/dist/components/tree.js +282 -281
  384. package/dist/components/utils.js +1 -1
  385. package/dist/components/utils2.js +2 -2
  386. package/dist/components/utils3.js +1 -1
  387. package/dist/components/value-list-item.js +170 -169
  388. package/dist/components/value-list.js +276 -275
  389. package/dist/esm/{ExpandToggle-3d10bd1e.js → ExpandToggle-3420fa39.js} +4 -4
  390. package/dist/esm/{FloatingArrow-29db6da6.js → FloatingArrow-cd8eafa4.js} +1 -1
  391. package/dist/esm/{Heading-cb79e5b2.js → Heading-1763134e.js} +1 -1
  392. package/dist/esm/{app-globals-5cbac6b0.js → app-globals-580889bd.js} +20 -25
  393. package/dist/esm/{ar-4b751ba8.js → ar-ceb1b389.js} +15 -15
  394. package/dist/esm/{bg-5d8bf5ea.js → bg-a8824832.js} +15 -15
  395. package/dist/esm/{bs-ff510e71.js → bs-5c2ca44f.js} +15 -15
  396. package/dist/esm/buffer-tools_4.entry.js +1437 -1437
  397. package/dist/esm/{ca-b9a5e51a.js → ca-47f86073.js} +15 -15
  398. package/dist/esm/calcite-accordion-item.entry.js +140 -140
  399. package/dist/esm/calcite-accordion.entry.js +75 -75
  400. package/dist/esm/calcite-action-bar.entry.js +216 -216
  401. package/dist/esm/calcite-action-group_2.entry.js +365 -365
  402. package/dist/esm/calcite-action-pad.entry.js +135 -135
  403. package/dist/esm/calcite-action_2.entry.js +445 -445
  404. package/dist/esm/calcite-alert.entry.js +247 -247
  405. package/dist/esm/calcite-avatar.entry.js +73 -73
  406. package/dist/esm/calcite-block-section.entry.js +122 -122
  407. package/dist/esm/calcite-block.entry.js +131 -131
  408. package/dist/esm/calcite-button.entry.js +182 -182
  409. package/dist/esm/calcite-card.entry.js +99 -99
  410. package/dist/esm/calcite-checkbox.entry.js +125 -125
  411. package/dist/esm/calcite-chip-group.entry.js +164 -164
  412. package/dist/esm/calcite-chip.entry.js +213 -213
  413. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +303 -303
  414. package/dist/esm/calcite-color-picker.entry.js +886 -886
  415. package/dist/esm/calcite-combobox-item-group.entry.js +35 -35
  416. package/dist/esm/calcite-combobox_6.entry.js +1786 -1786
  417. package/dist/esm/calcite-date-picker-day_3.entry.js +589 -589
  418. package/dist/esm/calcite-date-picker.entry.js +434 -434
  419. package/dist/esm/calcite-fab.entry.js +66 -66
  420. package/dist/esm/calcite-filter_5.entry.js +1131 -1131
  421. package/dist/esm/calcite-flow-item.entry.js +146 -146
  422. package/dist/esm/calcite-flow.entry.js +117 -117
  423. package/dist/esm/calcite-graph.entry.js +66 -66
  424. package/dist/esm/calcite-icon.entry.js +80 -80
  425. package/dist/esm/calcite-inline-editable.entry.js +225 -225
  426. package/dist/esm/calcite-input-date-picker.entry.js +632 -632
  427. package/dist/esm/calcite-input-number_2.entry.js +846 -846
  428. package/dist/esm/{calcite-input-time-picker-13448515.js → calcite-input-time-picker-59a3ed66.js} +534 -534
  429. package/dist/esm/calcite-input-time-picker.entry.js +15 -15
  430. package/dist/esm/calcite-input-time-zone.entry.js +150 -150
  431. package/dist/esm/calcite-input_2.entry.js +645 -645
  432. package/dist/esm/calcite-label.entry.js +40 -40
  433. package/dist/esm/calcite-link.entry.js +96 -96
  434. package/dist/esm/calcite-list-item-group.entry.js +46 -46
  435. package/dist/esm/calcite-loader.entry.js +65 -65
  436. package/dist/esm/calcite-menu-item.entry.js +246 -246
  437. package/dist/esm/calcite-menu.entry.js +161 -161
  438. package/dist/esm/calcite-modal.entry.js +282 -282
  439. package/dist/esm/calcite-navigation-logo.entry.js +52 -52
  440. package/dist/esm/calcite-navigation-user.entry.js +45 -45
  441. package/dist/esm/calcite-navigation.entry.js +126 -126
  442. package/dist/esm/calcite-notice.entry.js +105 -105
  443. package/dist/esm/calcite-option-group.entry.js +24 -24
  444. package/dist/esm/calcite-option_2.entry.js +271 -271
  445. package/dist/esm/calcite-pagination.entry.js +191 -191
  446. package/dist/esm/calcite-panel_2.entry.js +346 -346
  447. package/dist/esm/calcite-pick-list-group.entry.js +46 -46
  448. package/dist/esm/calcite-pick-list-item.entry.js +181 -181
  449. package/dist/esm/calcite-pick-list.entry.js +130 -130
  450. package/dist/esm/calcite-radio-button-group.entry.js +118 -118
  451. package/dist/esm/calcite-radio-button.entry.js +292 -292
  452. package/dist/esm/calcite-rating.entry.js +245 -245
  453. package/dist/esm/calcite-scrim.entry.js +93 -93
  454. package/dist/esm/calcite-segmented-control_2.entry.js +225 -225
  455. package/dist/esm/calcite-shell-center-row.entry.js +42 -42
  456. package/dist/esm/calcite-shell-panel_14.entry.js +2604 -2604
  457. package/dist/esm/calcite-sortable-list.entry.js +134 -134
  458. package/dist/esm/calcite-split-button.entry.js +92 -92
  459. package/dist/esm/calcite-stepper-item.entry.js +197 -197
  460. package/dist/esm/calcite-stepper.entry.js +187 -187
  461. package/dist/esm/calcite-switch.entry.js +100 -100
  462. package/dist/esm/calcite-text-area.entry.js +235 -235
  463. package/dist/esm/calcite-tile-select-group.entry.js +27 -27
  464. package/dist/esm/calcite-tile-select.entry.js +180 -180
  465. package/dist/esm/calcite-tile.entry.js +58 -58
  466. package/dist/esm/calcite-time-picker.entry.js +619 -619
  467. package/dist/esm/calcite-tip-group.entry.js +10 -10
  468. package/dist/esm/calcite-tip-manager.entry.js +185 -185
  469. package/dist/esm/calcite-tip.entry.js +94 -94
  470. package/dist/esm/calcite-tooltip.entry.js +185 -185
  471. package/dist/esm/calcite-tree_3.entry.js +821 -821
  472. package/dist/esm/card-manager_4.entry.js +652 -652
  473. package/dist/esm/{conditionalSlot-27a0fce0.js → conditionalSlot-91396dd5.js} +2 -2
  474. package/dist/esm/crowdsource-manager.entry.js +256 -256
  475. package/dist/esm/crowdsource-reporter.entry.js +60 -60
  476. package/dist/esm/{cs-f21a0628.js → cs-f651c3cd.js} +15 -15
  477. package/dist/esm/{da-dc48fc4c.js → da-e32ccc0a.js} +15 -15
  478. package/dist/esm/{date-0ed48e97.js → date-51fa981b.js} +1 -1
  479. package/dist/esm/{de-59290071.js → de-9b417aed.js} +15 -15
  480. package/dist/esm/{de-at-cd6e6ab7.js → de-at-f73447e2.js} +15 -15
  481. package/dist/esm/{de-ch-27c44e34.js → de-ch-7ec8c31e.js} +15 -15
  482. package/dist/esm/deduct-calculator.entry.js +90 -90
  483. package/dist/esm/{dom-843e3afd.js → dom-8a9e4ee8.js} +2 -2
  484. package/dist/esm/{downloadUtils-63661805.js → downloadUtils-43b53f5a.js} +660 -660
  485. package/dist/esm/edit-card_2.entry.js +345 -345
  486. package/dist/esm/{el-f09fdec6.js → el-9a3189a2.js} +15 -15
  487. package/dist/esm/{en-au-90087aa5.js → en-au-5aea3b73.js} +15 -15
  488. package/dist/esm/{en-ca-10751695.js → en-ca-fe3e706b.js} +15 -15
  489. package/dist/esm/{en-gb-0f8547bd.js → en-gb-a4278000.js} +15 -15
  490. package/dist/esm/{es-b0997cf1.js → es-383f9c9e.js} +15 -15
  491. package/dist/esm/{es-mx-226f5028.js → es-mx-7845b382.js} +15 -15
  492. package/dist/esm/{et-dc96c453.js → et-d8f8df06.js} +15 -15
  493. package/dist/esm/{fi-0941704d.js → fi-14894338.js} +15 -15
  494. package/dist/esm/{filter-1cac3edf.js → filter-bf34614b.js} +1 -1
  495. package/dist/esm/{floating-ui-d28d0fd6.js → floating-ui-9870f74c.js} +2 -2
  496. package/dist/esm/{focusTrapComponent-ff3a9f28.js → focusTrapComponent-34010d00.js} +1 -1
  497. package/dist/esm/{form-11c6a015.js → form-6669a774.js} +2 -2
  498. package/dist/esm/{fr-8da3458d.js → fr-6f570086.js} +15 -15
  499. package/dist/esm/{fr-ch-739ceddf.js → fr-ch-b9f89159.js} +15 -15
  500. package/dist/esm/{he-8b662dfa.js → he-174aca6e.js} +15 -15
  501. package/dist/esm/{hi-10996f89.js → hi-7e469aab.js} +15 -15
  502. package/dist/esm/{hr-42c2024d.js → hr-a4ac455a.js} +15 -15
  503. package/dist/esm/{hu-4768b3ff.js → hu-207da291.js} +15 -15
  504. package/dist/esm/{id-24a08170.js → id-8e4d57bf.js} +15 -15
  505. package/dist/esm/{index-b91c174c.js → index-4c4a4f3d.js} +1 -1
  506. package/dist/esm/{index-b5d9d795.js → index-d298aca9.js} +38 -180
  507. package/dist/esm/{index.es-3a3aa8e3.js → index.es-a185f2b1.js} +6 -6
  508. package/dist/esm/{interfaces-5a2fe8b4.js → interfaces-bf20e69c.js} +77 -77
  509. package/dist/esm/{it-ad09649f.js → it-7ade952c.js} +15 -15
  510. package/dist/esm/{it-ch-b05fc10d.js → it-ch-181d76ab.js} +15 -15
  511. package/dist/esm/{ja-ab839b73.js → ja-42013dd3.js} +15 -15
  512. package/dist/esm/{ko-c778539e.js → ko-8de07550.js} +15 -15
  513. package/dist/esm/{label-6a1caf64.js → label-661d8e10.js} +1 -1
  514. package/dist/esm/list-item.entry.js +60 -60
  515. package/dist/esm/{loadModules-2ecd1e44.js → loadModules-cd3569de.js} +19 -19
  516. package/dist/esm/{loadable-6bca96ad.js → loadable-08376d90.js} +1 -1
  517. package/dist/esm/loader.js +14 -5
  518. package/dist/esm/{locale-aa3de591.js → locale-54cac39a.js} +107 -107
  519. package/dist/esm/{locale-d8561d54.js → locale-73d0926a.js} +3 -3
  520. package/dist/esm/{lt-447d9aa9.js → lt-1ef29b5b.js} +15 -15
  521. package/dist/esm/{lv-4d715e11.js → lv-263a2f78.js} +15 -15
  522. package/dist/esm/map-picker_2.entry.js +243 -243
  523. package/dist/esm/map-select-tools_3.entry.js +1285 -1285
  524. package/dist/esm/{mapViewUtils-f0c04325.js → mapViewUtils-1e68cede.js} +384 -384
  525. package/dist/esm/{mk-b3d7401a.js → mk-d8bae136.js} +15 -15
  526. package/dist/esm/{nb-2b4a8366.js → nb-494542b3.js} +15 -15
  527. package/dist/esm/{nl-c0db1da2.js → nl-cd882d7f.js} +15 -15
  528. package/dist/esm/{openCloseComponent-2b5c6bed.js → openCloseComponent-a40fd6fd.js} +1 -1
  529. package/dist/esm/pci-calculator.entry.js +102 -102
  530. package/dist/esm/{pciUtils-59c29b42.js → pciUtils-ecda46e5.js} +836 -836
  531. package/dist/esm/{pl-0d322bb4.js → pl-b79095d5.js} +15 -15
  532. package/dist/esm/polyfills/core-js.js +11 -0
  533. package/dist/esm/polyfills/css-shim.js +1 -0
  534. package/dist/esm/polyfills/dom.js +79 -0
  535. package/dist/esm/polyfills/es5-html-element.js +1 -0
  536. package/dist/esm/polyfills/index.js +34 -0
  537. package/dist/esm/polyfills/system.js +6 -0
  538. package/dist/esm/{pt-5997598c.js → pt-5ca0b751.js} +15 -15
  539. package/dist/esm/{pt-br-6b77e7db.js → pt-br-e1a1ce60.js} +15 -15
  540. package/dist/esm/public-notification.entry.js +844 -844
  541. package/dist/esm/{publicNotificationStore-ade82148.js → publicNotificationStore-6ef555f3.js} +40 -40
  542. package/dist/esm/{ro-ac3724e0.js → ro-5cbc0f2a.js} +15 -15
  543. package/dist/esm/{ru-4e75151f.js → ru-e66f5b84.js} +15 -15
  544. package/dist/esm/{shared-list-render-abd19c8d.js → shared-list-render-5b788e63.js} +6 -6
  545. package/dist/esm/{sk-bbfa22a3.js → sk-be2b5cec.js} +15 -15
  546. package/dist/esm/{sl-867cecfc.js → sl-74600272.js} +15 -15
  547. package/dist/esm/solution-configuration.entry.js +888 -888
  548. package/dist/esm/solution-contents_3.entry.js +21506 -21506
  549. package/dist/esm/{solution-store-46bc46a5.js → solution-store-c107ca4d.js} +577 -577
  550. package/dist/esm/solutions-components.js +5 -5
  551. package/dist/esm/{sortableComponent-db502e97.js → sortableComponent-1dd8a4ae.js} +1 -1
  552. package/dist/esm/{sr-198b5c00.js → sr-58280ce5.js} +15 -15
  553. package/dist/esm/store-manager.entry.js +52 -52
  554. package/dist/esm/{sv-02d64370.js → sv-f0e2171a.js} +15 -15
  555. package/dist/esm/{t9n-76168237.js → t9n-745553e0.js} +2 -2
  556. package/dist/esm/{th-1616e303.js → th-6c3eac31.js} +15 -15
  557. package/dist/esm/{throttle-9ab70933.js → throttle-26fa347b.js} +1 -1
  558. package/dist/esm/{time-6721a4c2.js → time-7e3ba7c6.js} +1 -1
  559. package/dist/esm/{tr-f4619f64.js → tr-092713ca.js} +15 -15
  560. package/dist/esm/{uk-df7df34a.js → uk-95df0f95.js} +15 -15
  561. package/dist/esm/{utils-ccfd94a7.js → utils-4f695ec2.js} +1 -1
  562. package/dist/esm/{utils-f54411df.js → utils-ddff4ef3.js} +3 -3
  563. package/dist/esm/{vi-176ca9f7.js → vi-70a9857c.js} +15 -15
  564. package/dist/esm/{zh-cn-e13d83d1.js → zh-cn-e024ef2d.js} +15 -15
  565. package/dist/esm/{zh-hk-d97365d8.js → zh-hk-36ff9e8f.js} +15 -15
  566. package/dist/esm/{zh-tw-a2b6f0b7.js → zh-tw-96ddb74c.js} +15 -15
  567. package/dist/loader/index.d.ts +2 -2
  568. package/dist/solutions-components/{p-15ef7894.js → p-0056655c.js} +1 -1
  569. package/dist/solutions-components/{p-955a956a.entry.js → p-017265ef.entry.js} +1 -1
  570. package/dist/solutions-components/{p-844ee452.entry.js → p-017543d5.entry.js} +1 -1
  571. package/dist/solutions-components/{p-b2e6c578.js → p-0209ed2e.js} +1 -1
  572. package/dist/solutions-components/{p-5e59219b.entry.js → p-0245bb56.entry.js} +1 -1
  573. package/dist/solutions-components/{p-916f90ec.entry.js → p-043ead99.entry.js} +1 -1
  574. package/dist/solutions-components/p-048a2a6d.js +6 -0
  575. package/dist/solutions-components/{p-e02fcfa9.entry.js → p-050e12eb.entry.js} +1 -1
  576. package/dist/solutions-components/{p-b0c4138f.entry.js → p-06916de9.entry.js} +1 -1
  577. package/dist/solutions-components/{p-67ce3c0c.entry.js → p-08320fb9.entry.js} +2 -2
  578. package/dist/solutions-components/{p-21f00df6.js → p-08e12eb0.js} +1 -1
  579. package/dist/solutions-components/p-0a2c02fd.js +6 -0
  580. package/dist/solutions-components/{p-de58bd49.js → p-0a4bc416.js} +1 -1
  581. package/dist/solutions-components/{p-ef96894d.entry.js → p-0afa17dc.entry.js} +1 -1
  582. package/dist/solutions-components/{p-4bc7b875.entry.js → p-0b4eb6e4.entry.js} +1 -1
  583. package/dist/solutions-components/{p-7b9adfff.js → p-0d900572.js} +1 -1
  584. package/dist/solutions-components/{p-0fbc27fd.entry.js → p-0f4d3009.entry.js} +1 -1
  585. package/dist/solutions-components/{p-b921aa1a.entry.js → p-10181f33.entry.js} +1 -1
  586. package/dist/solutions-components/{p-804e4751.entry.js → p-105ef63c.entry.js} +1 -1
  587. package/dist/solutions-components/{p-35123c90.js → p-11983a08.js} +1 -1
  588. package/dist/solutions-components/p-1260db08.js +61 -0
  589. package/dist/solutions-components/{p-a0edbb27.js → p-129fcd0a.js} +1 -1
  590. package/dist/solutions-components/{p-c1ee0d69.js → p-13f7e487.js} +1 -1
  591. package/dist/solutions-components/p-14769a01.js +11 -0
  592. package/dist/solutions-components/{p-c6d83122.entry.js → p-14a4ad77.entry.js} +2 -2
  593. package/dist/solutions-components/{p-e07b8a72.entry.js → p-15e67907.entry.js} +1 -1
  594. package/dist/solutions-components/{p-32ef065d.entry.js → p-17799448.entry.js} +1 -1
  595. package/dist/solutions-components/{p-8a758303.js → p-185a82e0.js} +1 -1
  596. package/dist/solutions-components/p-191c59e9.js +6 -0
  597. package/dist/solutions-components/{p-7601988d.entry.js → p-1b63bec9.entry.js} +1 -1
  598. package/dist/solutions-components/{p-28d2670f.entry.js → p-1c810f4c.entry.js} +1 -1
  599. package/dist/solutions-components/{p-9603c3ff.entry.js → p-1d28ff09.entry.js} +1 -1
  600. package/dist/solutions-components/{p-4b95d05e.entry.js → p-1e30069a.entry.js} +1 -1
  601. package/dist/solutions-components/p-1e63db11.entry.js +6 -0
  602. package/dist/solutions-components/{p-a08bd8c1.entry.js → p-20274226.entry.js} +1 -1
  603. package/dist/solutions-components/{p-a843af2a.js → p-2411f1f6.js} +1 -1
  604. package/dist/solutions-components/{p-ad4d6d02.entry.js → p-2509b65f.entry.js} +2 -2
  605. package/dist/solutions-components/{p-216801d5.js → p-25faeab6.js} +1 -1
  606. package/dist/solutions-components/{p-f8dd2784.js → p-27f5bb4f.js} +2 -2
  607. package/dist/solutions-components/{p-b948ecd2.entry.js → p-2a0d8a46.entry.js} +1 -1
  608. package/dist/solutions-components/{p-27a1ac1f.entry.js → p-2dea68b6.entry.js} +2 -2
  609. package/dist/solutions-components/{p-de59d2f5.js → p-2ecd5cb7.js} +1 -1
  610. package/dist/solutions-components/{p-7aa949a3.entry.js → p-30dbc43d.entry.js} +2 -2
  611. package/dist/solutions-components/{p-46d5970b.entry.js → p-32d821d1.entry.js} +1 -1
  612. package/dist/solutions-components/{p-82199b7b.entry.js → p-3479d873.entry.js} +1 -1
  613. package/dist/solutions-components/{p-9fb16c72.entry.js → p-36d09c0c.entry.js} +1 -1
  614. package/dist/solutions-components/{p-75f26870.js → p-375f0b74.js} +6 -6
  615. package/dist/solutions-components/{p-cf1af08f.entry.js → p-38b4873b.entry.js} +1 -1
  616. package/dist/solutions-components/p-38d61356.js +18 -0
  617. package/dist/solutions-components/{p-a2748b38.entry.js → p-3a7156b8.entry.js} +1 -1
  618. package/dist/solutions-components/{p-022a9b7a.js → p-3b041268.js} +1 -1
  619. package/dist/solutions-components/{p-6a820c4d.js → p-3ca9bb95.js} +1 -1
  620. package/dist/solutions-components/{p-326fa270.js → p-3e5c8b2f.js} +1 -1
  621. package/dist/solutions-components/{p-1ede2e18.js → p-3ee6af74.js} +2 -2
  622. package/dist/solutions-components/{p-97c47bbd.entry.js → p-3eecbcf0.entry.js} +1 -1
  623. package/dist/solutions-components/{p-5c097e25.entry.js → p-40432de5.entry.js} +1 -1
  624. package/dist/solutions-components/{p-c9858d8f.entry.js → p-4058733e.entry.js} +1 -1
  625. package/dist/solutions-components/{p-9e727488.js → p-4152fae0.js} +1 -1
  626. package/dist/solutions-components/{p-12a4fa84.js → p-4321edfc.js} +1 -1
  627. package/dist/solutions-components/{p-761a033a.entry.js → p-4344b6ca.entry.js} +1 -1
  628. package/dist/solutions-components/{p-aeebdb15.js → p-44e26e37.js} +1 -1
  629. package/dist/solutions-components/{p-3445a8c6.js → p-477ae127.js} +1 -1
  630. package/dist/solutions-components/{p-9cb94ea0.js → p-4c8b1179.js} +1 -1
  631. package/dist/solutions-components/p-4e32bf8c.js +6 -0
  632. package/dist/solutions-components/{p-4c43820f.entry.js → p-4e93132b.entry.js} +1 -1
  633. package/dist/solutions-components/{p-1add4e39.entry.js → p-4ea79dc4.entry.js} +2 -2
  634. package/dist/solutions-components/{p-05db4340.js → p-4f51db32.js} +1 -1
  635. package/dist/solutions-components/{p-4d17943f.js → p-4f64d786.js} +1 -1
  636. package/dist/solutions-components/{p-2c0dc7b1.js → p-4ff653eb.js} +1 -1
  637. package/dist/solutions-components/{p-b1f84ae5.js → p-53347add.js} +1 -1
  638. package/dist/solutions-components/p-54fce798.js +11 -0
  639. package/dist/solutions-components/{p-abda8ca2.entry.js → p-573d282b.entry.js} +1 -1
  640. package/dist/solutions-components/{p-a258f5e7.js → p-58340eba.js} +1 -1
  641. package/dist/solutions-components/p-5930cd6d.entry.js +6 -0
  642. package/dist/solutions-components/p-5fc99541.js +257 -0
  643. package/dist/solutions-components/{p-ffac6f88.entry.js → p-6071078a.entry.js} +1 -1
  644. package/dist/solutions-components/{p-dc9dad31.entry.js → p-69863a28.entry.js} +1 -1
  645. package/dist/solutions-components/{p-a6900100.entry.js → p-699031c9.entry.js} +2 -2
  646. package/dist/solutions-components/{p-ab8f5c6b.entry.js → p-6998e886.entry.js} +1 -1
  647. package/dist/solutions-components/{p-bbb0d957.entry.js → p-6a813a31.entry.js} +1 -1
  648. package/dist/solutions-components/{p-ad72a379.entry.js → p-6b12b5eb.entry.js} +1 -1
  649. package/dist/solutions-components/{p-639cca97.js → p-6e89e9dd.js} +1 -1
  650. package/dist/solutions-components/{p-5adf37ea.entry.js → p-705b7f81.entry.js} +1 -1
  651. package/dist/solutions-components/p-75578ebf.entry.js +6 -0
  652. package/dist/solutions-components/{p-5383607a.js → p-7c72df3c.js} +3 -3
  653. package/dist/solutions-components/{p-03fccde6.entry.js → p-7ca47589.entry.js} +2 -2
  654. package/dist/solutions-components/{p-a040efff.js → p-7cb8a4db.js} +1 -1
  655. package/dist/solutions-components/p-7cc13b24.js +8 -0
  656. package/dist/solutions-components/{p-e4253e1b.entry.js → p-8008b2fe.entry.js} +1 -1
  657. package/dist/solutions-components/{p-22d580b0.entry.js → p-81531fbe.entry.js} +1 -1
  658. package/dist/solutions-components/{p-e10a62f4.entry.js → p-81627211.entry.js} +1 -1
  659. package/dist/solutions-components/{p-2d70d3fd.js → p-8aa806fe.js} +1 -1
  660. package/dist/solutions-components/{p-052ff2c7.js → p-8ae8b789.js} +1 -1
  661. package/dist/solutions-components/{p-4daae757.js → p-8b1236bf.js} +1 -1
  662. package/dist/solutions-components/{p-ee066c67.js → p-8b14f9aa.js} +3 -3
  663. package/dist/solutions-components/{p-56300653.js → p-8b4e79fd.js} +1 -1
  664. package/dist/solutions-components/{p-bba3fa4e.entry.js → p-8bc91d5b.entry.js} +2 -2
  665. package/dist/solutions-components/{p-cad5587c.entry.js → p-8df0c98c.entry.js} +1 -1
  666. package/dist/solutions-components/p-953cf07a.entry.js +6 -0
  667. package/dist/solutions-components/{p-5b9b1cbb.entry.js → p-95cf8aa0.entry.js} +1 -1
  668. package/dist/solutions-components/{p-29d41c7e.js → p-99ece5e1.js} +2 -2
  669. package/dist/solutions-components/{p-b4157e6a.js → p-9a2a551d.js} +1 -1
  670. package/dist/solutions-components/{p-541697d0.js → p-9b43b4cf.js} +1 -1
  671. package/dist/solutions-components/{p-647a4130.js → p-9f922d49.js} +2 -7
  672. package/dist/solutions-components/p-9fb09c2c.js +11 -0
  673. package/dist/solutions-components/{p-e645edf2.entry.js → p-a0e50ea6.entry.js} +1 -1
  674. package/dist/solutions-components/{p-31316d61.entry.js → p-a1154bb5.entry.js} +2 -2
  675. package/dist/solutions-components/{p-d62784a4.js → p-a709a84a.js} +1 -1
  676. package/dist/solutions-components/p-a99832c1.js +27 -0
  677. package/dist/solutions-components/{p-0f8440bb.entry.js → p-ad41cd27.entry.js} +1 -1
  678. package/dist/solutions-components/{p-bd3a3afe.js → p-ad962e25.js} +1 -1
  679. package/dist/solutions-components/{p-2b252afd.entry.js → p-ae1459ed.entry.js} +1 -1
  680. package/dist/solutions-components/{p-90bbf223.entry.js → p-af9510a4.entry.js} +1 -1
  681. package/dist/solutions-components/{p-4f0c3fc1.js → p-afc462f0.js} +1 -1
  682. package/dist/solutions-components/{p-6431fd69.js → p-b02a2b2f.js} +2 -2
  683. package/dist/solutions-components/{p-421d5e7c.js → p-b0eb13a1.js} +1 -1
  684. package/dist/solutions-components/{p-2656168f.entry.js → p-b1228e6c.entry.js} +1 -1
  685. package/dist/solutions-components/{p-0e7914e6.entry.js → p-b1ff9f2e.entry.js} +1 -1
  686. package/dist/solutions-components/p-b20bf7b7.entry.js +6 -0
  687. package/dist/solutions-components/{p-7920b5a2.entry.js → p-b361af64.entry.js} +1 -1
  688. package/dist/solutions-components/{p-a777b18c.js → p-b4a6abe2.js} +2 -2
  689. package/dist/solutions-components/{p-4e4b55b9.entry.js → p-b68b17b6.entry.js} +3 -3
  690. package/dist/solutions-components/{p-f41105c8.js → p-b73e9c4d.js} +1 -1
  691. package/dist/solutions-components/{p-19fe7725.js → p-b9111e12.js} +1 -1
  692. package/dist/solutions-components/{p-3cbe5ef3.js → p-b9653a1e.js} +1 -1
  693. package/dist/solutions-components/{p-5f5c371e.js → p-b9fa9ca9.js} +1 -1
  694. package/dist/solutions-components/{p-c07af9c2.entry.js → p-ba9bb2ba.entry.js} +2 -2
  695. package/dist/solutions-components/{p-b49bdc72.entry.js → p-bc35e445.entry.js} +1 -1
  696. package/dist/solutions-components/{p-c3f8b670.js → p-bccc74a8.js} +1 -1
  697. package/dist/solutions-components/{p-1990d9c8.entry.js → p-bd213033.entry.js} +1 -1
  698. package/dist/solutions-components/{p-a775ba2f.entry.js → p-c0dc792a.entry.js} +1 -1
  699. package/dist/solutions-components/{p-606ca126.js → p-c16e540d.js} +1 -1
  700. package/dist/solutions-components/{p-42c7a5fa.entry.js → p-c35b219b.entry.js} +1 -1
  701. package/dist/solutions-components/{p-b86b4512.entry.js → p-c38c0612.entry.js} +2 -2
  702. package/dist/solutions-components/{p-6b2f2b85.js → p-c8c3554b.js} +3 -3
  703. package/dist/solutions-components/{p-634e1240.js → p-cbebdffa.js} +1 -1
  704. package/dist/solutions-components/{p-91caf655.entry.js → p-cbf52aa2.entry.js} +2 -2
  705. package/dist/solutions-components/{p-825bac0e.js → p-ce21ee76.js} +1 -1
  706. package/dist/solutions-components/{p-57c08531.entry.js → p-ce3e73ae.entry.js} +1 -1
  707. package/dist/solutions-components/{p-d3a22725.js → p-cf14e2f3.js} +1 -1
  708. package/dist/solutions-components/{p-f28d69ac.entry.js → p-cfebc45c.entry.js} +1 -1
  709. package/dist/solutions-components/{p-6a524392.entry.js → p-d15a4f36.entry.js} +1 -1
  710. package/dist/solutions-components/{p-754e2df2.js → p-d3550542.js} +1 -1
  711. package/dist/solutions-components/{p-b5d67495.entry.js → p-d3dceabd.entry.js} +1 -1
  712. package/dist/solutions-components/{p-07bc4f07.entry.js → p-d43c1fc8.entry.js} +2 -2
  713. package/dist/solutions-components/{p-6de98c51.js → p-d7ddd3a2.js} +1 -1
  714. package/dist/solutions-components/{p-3e139360.js → p-d841cb8b.js} +1 -1
  715. package/dist/solutions-components/{p-2ae17fa2.js → p-d9868bac.js} +1 -1
  716. package/dist/solutions-components/{p-32f9c709.js → p-dc94bec2.js} +1 -1
  717. package/dist/solutions-components/{p-e6bee82f.js → p-dd0f8875.js} +1 -1
  718. package/dist/solutions-components/p-dec7b660.js +11 -0
  719. package/dist/solutions-components/{p-3f0193e9.js → p-deca8a07.js} +1 -1
  720. package/dist/solutions-components/{p-31ff3452.entry.js → p-df5ec082.entry.js} +1 -1
  721. package/dist/solutions-components/{p-ea282908.js → p-e046f728.js} +1 -1
  722. package/dist/solutions-components/{p-cf43278c.entry.js → p-e27ce6d2.entry.js} +1 -1
  723. package/dist/solutions-components/p-e2abc969.js +6 -0
  724. package/dist/solutions-components/{p-c5e294e4.js → p-e3f9e213.js} +1 -1
  725. package/dist/solutions-components/{p-2b96e551.entry.js → p-e43839a8.entry.js} +2 -2
  726. package/dist/solutions-components/{p-418d0b60.entry.js → p-e4d5188b.entry.js} +1 -1
  727. package/dist/solutions-components/{p-7b90c18e.entry.js → p-e666c0d6.entry.js} +1 -1
  728. package/dist/solutions-components/{p-39ff5ee5.js → p-e6c20791.js} +1 -1
  729. package/dist/solutions-components/{p-2005280f.js → p-ec4c8dc3.js} +1 -1
  730. package/dist/solutions-components/{p-93074bd4.entry.js → p-ef34c9e2.entry.js} +1 -1
  731. package/dist/solutions-components/{p-361f1fe1.js → p-f346f8ab.js} +2 -2
  732. package/dist/solutions-components/{p-680d193d.entry.js → p-f780ecc1.entry.js} +2 -2
  733. package/dist/solutions-components/p-f8be5d5f.js +7 -0
  734. package/dist/solutions-components/{p-c70392c4.entry.js → p-f9a56d6b.entry.js} +1 -1
  735. package/dist/solutions-components/{p-0ece6df1.entry.js → p-f9b9b211.entry.js} +1 -1
  736. package/dist/solutions-components/{p-a0a2c53d.js → p-fc2277fe.js} +1 -1
  737. package/dist/solutions-components/{p-40bde8b2.entry.js → p-fd65b14d.entry.js} +1 -1
  738. package/dist/solutions-components/{p-ef48bd77.entry.js → p-fe0e8542.entry.js} +1 -1
  739. package/dist/solutions-components/solutions-components.esm.js +1 -1
  740. package/dist/types/components/buffer-tools/buffer-tools.d.ts +170 -170
  741. package/dist/types/components/card-manager/card-manager.d.ts +70 -70
  742. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +174 -174
  743. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +26 -26
  744. package/dist/types/components/deduct-calculator/deduct-calculator.d.ts +90 -90
  745. package/dist/types/components/edit-card/edit-card.d.ts +140 -140
  746. package/dist/types/components/info-card/info-card.d.ts +143 -143
  747. package/dist/types/components/json-editor/json-editor.d.ts +229 -229
  748. package/dist/types/components/layer-table/layer-table.d.ts +276 -276
  749. package/dist/types/components/layout-manager/layout-manager.d.ts +69 -69
  750. package/dist/types/components/list-item/list-item.d.ts +26 -26
  751. package/dist/types/components/map-card/map-card.d.ts +83 -83
  752. package/dist/types/components/map-draw-tools/map-draw-tools.d.ts +231 -231
  753. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +160 -160
  754. package/dist/types/components/map-picker/map-picker.d.ts +109 -109
  755. package/dist/types/components/map-select-tools/map-select-tools.d.ts +469 -469
  756. package/dist/types/components/map-tools/map-tools.d.ts +104 -104
  757. package/dist/types/components/pci-calculator/pci-calculator.d.ts +71 -71
  758. package/dist/types/components/pdf-download/pdf-download.d.ts +101 -101
  759. package/dist/types/components/public-notification/public-notification.d.ts +610 -610
  760. package/dist/types/components/refine-selection/refine-selection.d.ts +234 -234
  761. package/dist/types/components/solution-configuration/solution-configuration.d.ts +205 -205
  762. package/dist/types/components/solution-contents/solution-contents.d.ts +46 -46
  763. package/dist/types/components/solution-item/solution-item.d.ts +71 -71
  764. package/dist/types/components/solution-item-details/solution-item-details.d.ts +100 -100
  765. package/dist/types/components/solution-item-icon/solution-item-icon.d.ts +44 -44
  766. package/dist/types/components/solution-item-sharing/solution-item-sharing.d.ts +62 -62
  767. package/dist/types/components/solution-organization-variables/solution-organization-variables.d.ts +63 -63
  768. package/dist/types/components/solution-resource-item/solution-resource-item.d.ts +144 -144
  769. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +180 -180
  770. package/dist/types/components/solution-spatial-ref/spatialreferences.d.ts +17 -17
  771. package/dist/types/components/solution-template-data/solution-template-data.d.ts +72 -72
  772. package/dist/types/components/solution-variables/solution-variables.d.ts +69 -69
  773. package/dist/types/components/store-manager/store-manager.d.ts +55 -55
  774. package/dist/types/components.d.ts +0 -2
  775. package/dist/types/index.d.ts +16 -16
  776. package/dist/types/stencil-public-runtime.d.ts +14 -27
  777. package/dist/types/utils/common.d.ts +49 -49
  778. package/dist/types/utils/csvDownload.d.ts +24 -24
  779. package/dist/types/utils/csvUtils.d.ts +22 -22
  780. package/dist/types/utils/downloadUtils.d.ts +118 -118
  781. package/dist/types/utils/interfaces.d.ts +398 -398
  782. package/dist/types/utils/languageUtil.d.ts +11 -11
  783. package/dist/types/utils/loadModules.d.ts +17 -17
  784. package/dist/types/utils/locale.d.ts +22 -22
  785. package/dist/types/utils/mapViewUtils.d.ts +124 -124
  786. package/dist/types/utils/pciUtils.d.ts +97 -97
  787. package/dist/types/utils/pdfUtils.d.ts +27 -27
  788. package/dist/types/utils/publicNotificationStore.d.ts +24 -24
  789. package/dist/types/utils/queryUtils.d.ts +95 -95
  790. package/dist/types/utils/solution-store.d.ts +234 -234
  791. package/dist/types/utils/templates.d.ts +50 -50
  792. package/dist/types/utils/test/mocks/jsApi.d.ts +59 -59
  793. package/dist/types/utils/test/testUtils.d.ts +36 -36
  794. package/dist/types/utils/types.d.ts +1 -1
  795. package/package.json +2 -2
  796. package/dist/collection/components/buffer-tools/test/buffer-tools.e2e.js +0 -29
  797. package/dist/collection/components/buffer-tools/test/buffer-tools.spec.js +0 -160
  798. package/dist/collection/components/card-manager/test/card-manager.e2e.js +0 -29
  799. package/dist/collection/components/card-manager/test/card-manager.spec.js +0 -37
  800. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.e2e.js +0 -29
  801. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.spec.js +0 -37
  802. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.e2e.js +0 -29
  803. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.spec.js +0 -37
  804. package/dist/collection/components/deduct-calculator/test/deduct-calculator.e2e.js +0 -29
  805. package/dist/collection/components/deduct-calculator/test/deduct-calculator.spec.js +0 -37
  806. package/dist/collection/components/edit-card/test/edit-card.e2e.js +0 -14
  807. package/dist/collection/components/edit-card/test/edit-card.spec.js +0 -22
  808. package/dist/collection/components/info-card/test/info-card.e2e.js +0 -29
  809. package/dist/collection/components/info-card/test/info-card.spec.js +0 -37
  810. package/dist/collection/components/json-editor/test/json-editor.e2e.js +0 -36
  811. package/dist/collection/components/json-editor/test/json-editor.spec.js +0 -65
  812. package/dist/collection/components/layer-table/test/layer-table.e2e.js +0 -29
  813. package/dist/collection/components/layer-table/test/layer-table.spec.js +0 -37
  814. package/dist/collection/components/layout-manager/test/layout-manager.e2e.js +0 -29
  815. package/dist/collection/components/layout-manager/test/layout-manager.spec.js +0 -37
  816. package/dist/collection/components/list-item/test/list-item.e2e.js +0 -29
  817. package/dist/collection/components/list-item/test/list-item.spec.js +0 -37
  818. package/dist/collection/components/map-card/test/map-card.e2e.js +0 -29
  819. package/dist/collection/components/map-card/test/map-card.spec.js +0 -37
  820. package/dist/collection/components/map-draw-tools/test/map-draw-tools.e2e.js +0 -29
  821. package/dist/collection/components/map-draw-tools/test/map-draw-tools.spec.js +0 -37
  822. package/dist/collection/components/map-layer-picker/test/map-layer-picker.e2e.js +0 -29
  823. package/dist/collection/components/map-layer-picker/test/map-layer-picker.spec.js +0 -114
  824. package/dist/collection/components/map-picker/test/map-picker.e2e.js +0 -29
  825. package/dist/collection/components/map-picker/test/map-picker.spec.js +0 -37
  826. package/dist/collection/components/map-select-tools/test/map-select-tools.e2e.js +0 -29
  827. package/dist/collection/components/map-select-tools/test/map-select-tools.spec.js +0 -366
  828. package/dist/collection/components/map-tools/test/map-tools.e2e.js +0 -29
  829. package/dist/collection/components/map-tools/test/map-tools.spec.js +0 -37
  830. package/dist/collection/components/pci-calculator/test/pci-calculator.e2e.js +0 -29
  831. package/dist/collection/components/pci-calculator/test/pci-calculator.spec.js +0 -37
  832. package/dist/collection/components/pdf-download/test/pdf-download.e2e.js +0 -76
  833. package/dist/collection/components/pdf-download/test/pdf-download.spec.js +0 -107
  834. package/dist/collection/components/public-notification/test/public-notification.spec.js +0 -161
  835. package/dist/collection/components/refine-selection/test/refine-selection.e2e.js +0 -14
  836. package/dist/collection/components/refine-selection/test/refine-selection.spec.js +0 -22
  837. package/dist/collection/components/solution-configuration/test/solution-configuration.e2e.js +0 -36
  838. package/dist/collection/components/solution-configuration/test/solution-configuration.spec.js +0 -119
  839. package/dist/collection/components/solution-contents/test/solution-contents.e2e.js +0 -94
  840. package/dist/collection/components/solution-contents/test/solution-contents.spec.js +0 -143
  841. package/dist/collection/components/solution-item/test/solution-item.e2e.js +0 -36
  842. package/dist/collection/components/solution-item/test/solution-item.spec.js +0 -77
  843. package/dist/collection/components/solution-item-details/test/solution-item-details.e2e.js +0 -36
  844. package/dist/collection/components/solution-item-details/test/solution-item-details.spec.js +0 -142
  845. package/dist/collection/components/solution-item-icon/test/solution-item-icon.e2e.js +0 -29
  846. package/dist/collection/components/solution-item-icon/test/solution-item-icon.spec.js +0 -39
  847. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.e2e.js +0 -36
  848. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.spec.js +0 -54
  849. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.e2e.js +0 -36
  850. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.spec.js +0 -65
  851. package/dist/collection/components/solution-resource-item/test/solution-resource-item.e2e.js +0 -36
  852. package/dist/collection/components/solution-resource-item/test/solution-resource-item.spec.js +0 -55
  853. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.e2e.js +0 -36
  854. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +0 -175
  855. package/dist/collection/components/solution-template-data/test/solution-template-data.e2e.js +0 -36
  856. package/dist/collection/components/solution-template-data/test/solution-template-data.spec.js +0 -60
  857. package/dist/collection/components/solution-variables/test/solution-variables.e2e.js +0 -36
  858. package/dist/collection/components/solution-variables/test/solution-variables.spec.js +0 -131
  859. package/dist/collection/utils/templates.e2e.js +0 -30
  860. package/dist/collection/utils/test/csvUtils.spec.js +0 -51
  861. package/dist/collection/utils/test/downloadUtils.spec.js +0 -357
  862. package/dist/collection/utils/test/pciUtils.spec.js +0 -302
  863. package/dist/collection/utils/test/solution-store.spec.js +0 -444
  864. package/dist/esm/resources-40d8e06f.js +0 -20
  865. package/dist/solutions-components/p-0cc32f06.js +0 -6
  866. package/dist/solutions-components/p-10248e04.js +0 -11
  867. package/dist/solutions-components/p-108fbf59.entry.js +0 -6
  868. package/dist/solutions-components/p-13290851.js +0 -259
  869. package/dist/solutions-components/p-164be8ef.entry.js +0 -6
  870. package/dist/solutions-components/p-1ea1dcac.js +0 -61
  871. package/dist/solutions-components/p-3aba40e8.js +0 -18
  872. package/dist/solutions-components/p-3bd99fc9.js +0 -11
  873. package/dist/solutions-components/p-3cce003d.js +0 -27
  874. package/dist/solutions-components/p-525f1188.js +0 -11
  875. package/dist/solutions-components/p-6665fa1f.js +0 -6
  876. package/dist/solutions-components/p-7c33e500.entry.js +0 -6
  877. package/dist/solutions-components/p-9310b882.js +0 -7
  878. package/dist/solutions-components/p-9bbc05ff.js +0 -11
  879. package/dist/solutions-components/p-a82f35c9.js +0 -6
  880. package/dist/solutions-components/p-b6578a32.js +0 -6
  881. package/dist/solutions-components/p-b684bbc7.entry.js +0 -6
  882. package/dist/solutions-components/p-baccfd70.entry.js +0 -6
  883. package/dist/solutions-components/p-bf9e18d4.js +0 -8
  884. package/dist/solutions-components/p-d6322e4b.js +0 -6
  885. /package/dist/cjs/{array-46bb7df1.js → array-51e7da8f.js} +0 -0
  886. /package/dist/cjs/{debounce-30afab47.js → debounce-69c3bada.js} +0 -0
  887. /package/dist/cjs/{guid-3abe3cc6.js → guid-ca85ade0.js} +0 -0
  888. /package/dist/cjs/{html2canvas-34208bbf.js → html2canvas-770c1171.js} +0 -0
  889. /package/dist/cjs/{interactive-2fe0f43a.js → interactive-4e212b36.js} +0 -0
  890. /package/dist/cjs/{key-b8b55ea3.js → key-b32a6438.js} +0 -0
  891. /package/dist/cjs/{math-5132d9bd.js → math-ef14a84a.js} +0 -0
  892. /package/dist/cjs/{observers-f5fa975b.js → observers-20fe6f01.js} +0 -0
  893. /package/dist/cjs/{purify-f8c3e427.js → purify-5389d8d6.js} +0 -0
  894. /package/dist/cjs/{resources-2901b608.js → resources-1d2258a1.js} +0 -0
  895. /package/dist/cjs/{resources-60c27547.js → resources-7c9bff85.js} +0 -0
  896. /package/dist/cjs/{resources-9f2b33ee.js → resources-9dcbf30f.js} +0 -0
  897. /package/dist/cjs/{resources-4da89742.js → resources-a7e3371d.js} +0 -0
  898. /package/dist/cjs/{resources-8233a151.js → resources-b176fc52.js} +0 -0
  899. /package/dist/cjs/{resources-77713c2e.js → resources-b4b4b4fe.js} +0 -0
  900. /package/dist/cjs/{resources-e1258e8a.js → resources-c6f066a4.js} +0 -0
  901. /package/dist/cjs/{resources-91409a5d.js → resources-f13e2605.js} +0 -0
  902. /package/dist/cjs/{resources-c913200c.js → resources-f3e30b7b.js} +0 -0
  903. /package/dist/cjs/{utils-bae432a9.js → utils-662561ad.js} +0 -0
  904. /package/dist/cjs/{utils-cd14113f.js → utils-8a0f3e68.js} +0 -0
  905. /package/dist/esm/{array-751a2b87.js → array-4a653f59.js} +0 -0
  906. /package/dist/esm/{debounce-229b1a22.js → debounce-4c884e5c.js} +0 -0
  907. /package/dist/esm/{guid-2bbb8cd1.js → guid-1608fd71.js} +0 -0
  908. /package/dist/esm/{html2canvas-a0a4df55.js → html2canvas-12c862c8.js} +0 -0
  909. /package/dist/esm/{interactive-eaf4be29.js → interactive-0733ee76.js} +0 -0
  910. /package/dist/esm/{key-7a525416.js → key-97b504af.js} +0 -0
  911. /package/dist/esm/{math-5f92f517.js → math-e006358c.js} +0 -0
  912. /package/dist/esm/{observers-9d66685a.js → observers-67bdf9e5.js} +0 -0
  913. /package/dist/esm/{purify-c99d2ace.js → purify-75c61cf7.js} +0 -0
  914. /package/dist/esm/{resources-d6a4d343.js → resources-01034dfa.js} +0 -0
  915. /package/dist/esm/{resources-c253772f.js → resources-34b761fa.js} +0 -0
  916. /package/dist/esm/{resources-a9b2d33c.js → resources-43d63050.js} +0 -0
  917. /package/dist/esm/{resources-dca3d475.js → resources-5490ccf4.js} +0 -0
  918. /package/dist/esm/{resources-c65f5654.js → resources-6b7800e6.js} +0 -0
  919. /package/dist/esm/{resources-5bce3953.js → resources-6be20fcc.js} +0 -0
  920. /package/dist/esm/{resources-58d30a0f.js → resources-913009ae.js} +0 -0
  921. /package/dist/{components/resources4.js → esm/resources-b5267429.js} +0 -0
  922. /package/dist/esm/{resources-94c47e64.js → resources-f97db74e.js} +0 -0
  923. /package/dist/esm/{utils-2c91c963.js → utils-649c76ab.js} +0 -0
  924. /package/dist/esm/{utils-18db6b1d.js → utils-dcd05f69.js} +0 -0
  925. /package/dist/solutions-components/{p-f055a840.js → p-0506e06f.js} +0 -0
  926. /package/dist/solutions-components/{p-283e3a2d.js → p-0630e686.js} +0 -0
  927. /package/dist/solutions-components/{p-fb7e0054.js → p-08ab045a.js} +0 -0
  928. /package/dist/solutions-components/{p-2291b598.js → p-0b32d4fe.js} +0 -0
  929. /package/dist/solutions-components/{p-5961c4e0.js → p-203b16df.js} +0 -0
  930. /package/dist/solutions-components/{p-3fc17d72.js → p-3adf63ca.js} +0 -0
  931. /package/dist/solutions-components/{p-d4c103a8.js → p-3b72043f.js} +0 -0
  932. /package/dist/solutions-components/{p-18f1772b.js → p-43ebe36a.js} +0 -0
  933. /package/dist/solutions-components/{p-58ce5639.js → p-5242a652.js} +0 -0
  934. /package/dist/solutions-components/{p-18869c0f.js → p-5d25ba99.js} +0 -0
  935. /package/dist/solutions-components/{p-1f468797.js → p-76b83a13.js} +0 -0
  936. /package/dist/solutions-components/{p-d554507d.js → p-7ac7b1a1.js} +0 -0
  937. /package/dist/solutions-components/{p-868df4a0.js → p-9ab03591.js} +0 -0
  938. /package/dist/solutions-components/{p-38ef0684.js → p-a963dd48.js} +0 -0
  939. /package/dist/solutions-components/{p-63a0e9bf.js → p-cc815aca.js} +0 -0
  940. /package/dist/solutions-components/{p-6f2edf5b.js → p-d556b5c4.js} +0 -0
  941. /package/dist/solutions-components/{p-215d3505.js → p-f93e6931.js} +0 -0
  942. /package/dist/solutions-components/{p-4805ff13.js → p-fb3ba11a.js} +0 -0
  943. /package/dist/solutions-components/{p-b9749e09.js → p-ff4afb7d.js} +0 -0
@@ -3,228 +3,228 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-b5d9d795.js';
7
- import { l as loadModules } from './loadModules-2ecd1e44.js';
8
- import { g as getLocaleComponentStrings } from './locale-aa3de591.js';
9
- import { w as setRequestedIcon, i as isPrimaryPointerButton, x as intersects } from './dom-843e3afd.js';
10
- import { g as guid } from './guid-2bbb8cd1.js';
11
- import { c as connectForm, d as disconnectForm, a as afterConnectDefaultValueSet, H as HiddenFormInputSlot } from './form-11c6a015.js';
12
- import { c as connectInteractive, d as disconnectInteractive, u as updateHostInteraction } from './interactive-eaf4be29.js';
13
- import { i as isActivationKey } from './key-7a525416.js';
14
- import { c as connectLabel, d as disconnectLabel, g as getLabelText } from './label-6a1caf64.js';
15
- import { s as setUpLoadableComponent, a as setComponentLoaded, c as componentFocusable } from './loadable-6bca96ad.js';
16
- import { n as numberStringFormatter, c as connectLocalized, d as disconnectLocalized } from './locale-d8561d54.js';
17
- import { d as decimalPlaces, c as clamp } from './math-5f92f517.js';
18
- import { f as EDrawMode } from './interfaces-5a2fe8b4.js';
19
- import { s as state } from './publicNotificationStore-ade82148.js';
6
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-d298aca9.js';
7
+ import { l as loadModules } from './loadModules-cd3569de.js';
8
+ import { g as getLocaleComponentStrings } from './locale-54cac39a.js';
9
+ import { w as setRequestedIcon, i as isPrimaryPointerButton, x as intersects } from './dom-8a9e4ee8.js';
10
+ import { g as guid } from './guid-1608fd71.js';
11
+ import { c as connectForm, d as disconnectForm, a as afterConnectDefaultValueSet, H as HiddenFormInputSlot } from './form-6669a774.js';
12
+ import { c as connectInteractive, d as disconnectInteractive, u as updateHostInteraction } from './interactive-0733ee76.js';
13
+ import { i as isActivationKey } from './key-97b504af.js';
14
+ import { c as connectLabel, d as disconnectLabel, g as getLabelText } from './label-661d8e10.js';
15
+ import { s as setUpLoadableComponent, a as setComponentLoaded, c as componentFocusable } from './loadable-08376d90.js';
16
+ import { n as numberStringFormatter, c as connectLocalized, d as disconnectLocalized } from './locale-73d0926a.js';
17
+ import { d as decimalPlaces, c as clamp } from './math-e006358c.js';
18
+ import { f as EDrawMode } from './interfaces-bf20e69c.js';
19
+ import { s as state } from './publicNotificationStore-6ef555f3.js';
20
20
  import './_commonjsHelpers-d5f9d613.js';
21
- import './resources-94c47e64.js';
22
- import './observers-9d66685a.js';
23
- import './index-b91c174c.js';
21
+ import './resources-f97db74e.js';
22
+ import './observers-67bdf9e5.js';
23
+ import './index-4c4a4f3d.js';
24
24
 
25
25
  const bufferToolsCss = ":host{display:block}.c-container{display:inline-flex}.flex-1{flex:\"1\"}.padding-end-1{padding-inline-end:1rem}.w-50{width:50%}";
26
26
 
27
- const BufferTools = class {
28
- constructor(hostRef) {
29
- registerInstance(this, hostRef);
30
- this.bufferComplete = createEvent(this, "bufferComplete", 7);
31
- this.distanceChanged = createEvent(this, "distanceChanged", 7);
32
- this.unitChanged = createEvent(this, "unitChanged", 7);
33
- this.appearance = "text";
34
- this.distance = 0;
35
- this.geometries = [];
36
- this.max = undefined;
37
- this.min = 0;
38
- this.sliderTicks = 10;
39
- this.unionResults = true;
40
- this.unit = "meters";
41
- this.disabled = false;
42
- this._translations = undefined;
43
- }
44
- //--------------------------------------------------------------------------
45
- //
46
- // Watch handlers
47
- //
48
- //--------------------------------------------------------------------------
49
- /**
50
- * Called each time the geometries prop is changed.
51
- * Buffer each of the geometries.
52
- *
53
- */
54
- geometriesWatchHandler() {
55
- this._buffer();
56
- }
57
- disabledWatchHandler() {
58
- this._buffer();
59
- }
60
- //--------------------------------------------------------------------------
61
- //
62
- // Functions (lifecycle)
63
- //
64
- //--------------------------------------------------------------------------
65
- /**
66
- * StencilJS: Called once just after the component is first connected to the DOM.
67
- *
68
- * @returns Promise when complete
69
- */
70
- async componentWillLoad() {
71
- await this._getTranslations();
72
- await this._initModules();
73
- }
74
- /**
75
- * Renders the component.
76
- */
77
- render() {
78
- return (h(Host, null, this.appearance === "text" ? this._getTextBoxDisplay() : this._getSliderDisplay()));
79
- }
80
- //--------------------------------------------------------------------------
81
- //
82
- // Functions (protected)
83
- //
84
- //--------------------------------------------------------------------------
85
- /**
86
- * Load esri javascript api modules
87
- *
88
- * @returns Promise resolving when function is done
89
- *
90
- * @protected
91
- */
92
- async _initModules() {
93
- const [geometryEngine] = await loadModules([
94
- "esri/geometry/geometryEngine"
95
- ]);
96
- this._geometryEngine = geometryEngine;
97
- }
98
- /**
99
- * Gets the nodes for each of the possible distance units
100
- *
101
- * @returns An array of option nodes
102
- *
103
- * @protected
104
- */
105
- _getUnits() {
106
- const units = {
107
- "feet": this._translations.feet,
108
- "meters": this._translations.meters,
109
- "miles": this._translations.miles,
110
- "kilometers": this._translations.kilometers
111
- };
112
- return Object.keys(units).map(u => {
113
- return (h("calcite-option", { label: units[u], selected: this.unit === u, value: u }));
114
- });
115
- }
116
- /**
117
- * Store the user defined distance value and create a buffer
118
- *
119
- * @param event the event from the calcite input control
120
- *
121
- * @protected
122
- */
123
- _setDistance(event) {
124
- const v = parseInt(event.target.value, 10);
125
- if (this.distance !== v && v >= this.min) {
126
- this.distanceChanged.emit({
127
- oldValue: this.distance,
128
- newValue: v
129
- });
130
- this.distance = v;
131
- if (this.distance > 0) {
132
- this._buffer();
133
- }
134
- else {
135
- this.bufferComplete.emit(undefined);
136
- }
137
- }
138
- }
139
- /**
140
- * Store the user defined unit value and create a buffer
141
- *
142
- * @protected
143
- */
144
- _setUnit(unit) {
145
- this.unitChanged.emit({
146
- oldValue: this.unit,
147
- newValue: unit
148
- });
149
- this.unit = unit;
150
- this._buffer();
151
- }
152
- /**
153
- * Create buffer geometry based on the user defined unit and distance
154
- *
155
- * @protected
156
- */
157
- _buffer() {
158
- if (!this.disabled) {
159
- if (this._bufferTimeout) {
160
- clearTimeout(this._bufferTimeout);
161
- }
162
- this._bufferTimeout = setTimeout(() => {
163
- var _a;
164
- // needs to be wgs 84 or Web Mercator
165
- if (((_a = this.geometries) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.unit && this.distance > 0) {
166
- const buffer = this._geometryEngine.geodesicBuffer(this.geometries, this.distance, this.unit, this.unionResults);
167
- this.bufferComplete.emit(buffer);
168
- }
169
- }, 400);
170
- }
171
- else {
172
- this.bufferComplete.emit(undefined);
173
- }
174
- }
175
- /**
176
- * Render distance and unit as calcite input and select controls
177
- * This option will be used when the "appearance" prop is set to "text"
178
- *
179
- * @returns a node with the supporting controls
180
- *
181
- * @protected
182
- */
183
- _getTextBoxDisplay() {
184
- return (h("div", { class: "c-container" }, h("calcite-input", { class: "padding-end-1 w-50", max: this.max && this.max > 0 ? this.max : undefined, min: this.min, "number-button-type": "vertical", onCalciteInputInput: (evt) => this._setDistance(evt), placeholder: "0", type: "number", value: this.distance ? this.distance.toString() : undefined }), h("calcite-select", { class: "flex-1 w-50", label: "label", onCalciteSelectChange: () => this._setUnit(this._unitElement.value), ref: (el) => { this._unitElement = el; } }, this._getUnits())));
185
- }
186
- /**
187
- * Render distance control as a slider
188
- * This option will be used when the "appearance" prop is set to "slider"
189
- *
190
- * @returns a node with the supporting control
191
- *
192
- * @protected
193
- */
194
- _getSliderDisplay() {
195
- return (h("div", null, h("calcite-slider", { labelHandles: true, max: this.max && this.max > 0 ? this.max : undefined, min: this.min, ticks: this.sliderTicks })));
196
- }
197
- /**
198
- * Fetches the component's translations
199
- *
200
- * @returns Promise when complete
201
- * @protected
202
- */
203
- async _getTranslations() {
204
- const messages = await getLocaleComponentStrings(this.el);
205
- this._translations = messages[0];
206
- }
207
- /** Provides access to protected methods for unit testing.
208
- *
209
- * @param methodName Name of protected method to run
210
- * @param arg1 First argument to forward to method, e.g., for "_setDistance", `CustomEvent`
211
- * @returns
212
- */
213
- _testAccess(methodName, arg1) {
214
- switch (methodName) {
215
- case "_setUnit":
216
- return this._setUnit(arg1);
217
- case "_setDistance":
218
- return this._setDistance(arg1);
219
- }
220
- return null;
221
- }
222
- get el() { return getElement(this); }
223
- static get watchers() { return {
224
- "geometries": ["geometriesWatchHandler"],
225
- "disabled": ["disabledWatchHandler"]
226
- }; }
227
- };
27
+ const BufferTools = class {
28
+ constructor(hostRef) {
29
+ registerInstance(this, hostRef);
30
+ this.bufferComplete = createEvent(this, "bufferComplete", 7);
31
+ this.distanceChanged = createEvent(this, "distanceChanged", 7);
32
+ this.unitChanged = createEvent(this, "unitChanged", 7);
33
+ this.appearance = "text";
34
+ this.distance = 0;
35
+ this.geometries = [];
36
+ this.max = undefined;
37
+ this.min = 0;
38
+ this.sliderTicks = 10;
39
+ this.unionResults = true;
40
+ this.unit = "meters";
41
+ this.disabled = false;
42
+ this._translations = undefined;
43
+ }
44
+ //--------------------------------------------------------------------------
45
+ //
46
+ // Watch handlers
47
+ //
48
+ //--------------------------------------------------------------------------
49
+ /**
50
+ * Called each time the geometries prop is changed.
51
+ * Buffer each of the geometries.
52
+ *
53
+ */
54
+ geometriesWatchHandler() {
55
+ this._buffer();
56
+ }
57
+ disabledWatchHandler() {
58
+ this._buffer();
59
+ }
60
+ //--------------------------------------------------------------------------
61
+ //
62
+ // Functions (lifecycle)
63
+ //
64
+ //--------------------------------------------------------------------------
65
+ /**
66
+ * StencilJS: Called once just after the component is first connected to the DOM.
67
+ *
68
+ * @returns Promise when complete
69
+ */
70
+ async componentWillLoad() {
71
+ await this._getTranslations();
72
+ await this._initModules();
73
+ }
74
+ /**
75
+ * Renders the component.
76
+ */
77
+ render() {
78
+ return (h(Host, null, this.appearance === "text" ? this._getTextBoxDisplay() : this._getSliderDisplay()));
79
+ }
80
+ //--------------------------------------------------------------------------
81
+ //
82
+ // Functions (protected)
83
+ //
84
+ //--------------------------------------------------------------------------
85
+ /**
86
+ * Load esri javascript api modules
87
+ *
88
+ * @returns Promise resolving when function is done
89
+ *
90
+ * @protected
91
+ */
92
+ async _initModules() {
93
+ const [geometryEngine] = await loadModules([
94
+ "esri/geometry/geometryEngine"
95
+ ]);
96
+ this._geometryEngine = geometryEngine;
97
+ }
98
+ /**
99
+ * Gets the nodes for each of the possible distance units
100
+ *
101
+ * @returns An array of option nodes
102
+ *
103
+ * @protected
104
+ */
105
+ _getUnits() {
106
+ const units = {
107
+ "feet": this._translations.feet,
108
+ "meters": this._translations.meters,
109
+ "miles": this._translations.miles,
110
+ "kilometers": this._translations.kilometers
111
+ };
112
+ return Object.keys(units).map(u => {
113
+ return (h("calcite-option", { label: units[u], selected: this.unit === u, value: u }));
114
+ });
115
+ }
116
+ /**
117
+ * Store the user defined distance value and create a buffer
118
+ *
119
+ * @param event the event from the calcite input control
120
+ *
121
+ * @protected
122
+ */
123
+ _setDistance(event) {
124
+ const v = parseInt(event.target.value, 10);
125
+ if (this.distance !== v && v >= this.min) {
126
+ this.distanceChanged.emit({
127
+ oldValue: this.distance,
128
+ newValue: v
129
+ });
130
+ this.distance = v;
131
+ if (this.distance > 0) {
132
+ this._buffer();
133
+ }
134
+ else {
135
+ this.bufferComplete.emit(undefined);
136
+ }
137
+ }
138
+ }
139
+ /**
140
+ * Store the user defined unit value and create a buffer
141
+ *
142
+ * @protected
143
+ */
144
+ _setUnit(unit) {
145
+ this.unitChanged.emit({
146
+ oldValue: this.unit,
147
+ newValue: unit
148
+ });
149
+ this.unit = unit;
150
+ this._buffer();
151
+ }
152
+ /**
153
+ * Create buffer geometry based on the user defined unit and distance
154
+ *
155
+ * @protected
156
+ */
157
+ _buffer() {
158
+ if (!this.disabled) {
159
+ if (this._bufferTimeout) {
160
+ clearTimeout(this._bufferTimeout);
161
+ }
162
+ this._bufferTimeout = setTimeout(() => {
163
+ var _a;
164
+ // needs to be wgs 84 or Web Mercator
165
+ if (((_a = this.geometries) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.unit && this.distance > 0) {
166
+ const buffer = this._geometryEngine.geodesicBuffer(this.geometries, this.distance, this.unit, this.unionResults);
167
+ this.bufferComplete.emit(buffer);
168
+ }
169
+ }, 400);
170
+ }
171
+ else {
172
+ this.bufferComplete.emit(undefined);
173
+ }
174
+ }
175
+ /**
176
+ * Render distance and unit as calcite input and select controls
177
+ * This option will be used when the "appearance" prop is set to "text"
178
+ *
179
+ * @returns a node with the supporting controls
180
+ *
181
+ * @protected
182
+ */
183
+ _getTextBoxDisplay() {
184
+ return (h("div", { class: "c-container" }, h("calcite-input", { class: "padding-end-1 w-50", max: this.max && this.max > 0 ? this.max : undefined, min: this.min, "number-button-type": "vertical", onCalciteInputInput: (evt) => this._setDistance(evt), placeholder: "0", type: "number", value: this.distance ? this.distance.toString() : undefined }), h("calcite-select", { class: "flex-1 w-50", label: "label", onCalciteSelectChange: () => this._setUnit(this._unitElement.value), ref: (el) => { this._unitElement = el; } }, this._getUnits())));
185
+ }
186
+ /**
187
+ * Render distance control as a slider
188
+ * This option will be used when the "appearance" prop is set to "slider"
189
+ *
190
+ * @returns a node with the supporting control
191
+ *
192
+ * @protected
193
+ */
194
+ _getSliderDisplay() {
195
+ return (h("div", null, h("calcite-slider", { labelHandles: true, max: this.max && this.max > 0 ? this.max : undefined, min: this.min, ticks: this.sliderTicks })));
196
+ }
197
+ /**
198
+ * Fetches the component's translations
199
+ *
200
+ * @returns Promise when complete
201
+ * @protected
202
+ */
203
+ async _getTranslations() {
204
+ const messages = await getLocaleComponentStrings(this.el);
205
+ this._translations = messages[0];
206
+ }
207
+ /** Provides access to protected methods for unit testing.
208
+ *
209
+ * @param methodName Name of protected method to run
210
+ * @param arg1 First argument to forward to method, e.g., for "_setDistance", `CustomEvent`
211
+ * @returns
212
+ */
213
+ _testAccess(methodName, arg1) {
214
+ switch (methodName) {
215
+ case "_setUnit":
216
+ return this._setUnit(arg1);
217
+ case "_setDistance":
218
+ return this._setDistance(arg1);
219
+ }
220
+ return null;
221
+ }
222
+ get el() { return getElement(this); }
223
+ static get watchers() { return {
224
+ "geometries": ["geometriesWatchHandler"],
225
+ "disabled": ["disabledWatchHandler"]
226
+ }; }
227
+ };
228
228
  BufferTools.style = bufferToolsCss;
229
229
 
230
230
  /*!
@@ -241,45 +241,45 @@ var StatusIconDefaults;
241
241
 
242
242
  const inputMessageCss = ":host([scale=m]),:host([scale=l]){--calcite-input-message-spacing-value:0.25rem}:host{visibility:hidden;box-sizing:border-box;display:flex;block-size:0px;inline-size:100%;align-items:center;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-1);visibility:visible;block-size:auto;opacity:1;transition:all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s}:host([scale=m]),:host([scale=l]){margin-block-start:var(--calcite-input-message-spacing-value)}.calcite-input-message-icon{pointer-events:none;display:inline-flex;flex-shrink:0;transition:all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s;margin-inline-end:0.5rem}:host([status=invalid]) .calcite-input-message-icon{color:var(--calcite-ui-danger)}:host([status=warning]) .calcite-input-message-icon{color:var(--calcite-ui-warning)}:host([status=valid]) .calcite-input-message-icon{color:var(--calcite-ui-success)}:host([status=idle]) .calcite-input-message-icon{color:var(--calcite-ui-brand)}:host([status]){color:var(--calcite-ui-text-1)}:host([status][scale=s]){font-size:var(--calcite-font-size--3);line-height:0.75rem}:host([status][scale=m]){margin-block-start:0.25rem;font-size:var(--calcite-font-size--2);line-height:1rem}:host([status][scale=l]){margin-block-start:0.25rem;font-size:var(--calcite-font-size--1);line-height:1rem}:host([hidden]){display:none}[hidden]{display:none}";
243
243
 
244
- const InputMessage = class {
245
- constructor(hostRef) {
246
- registerInstance(this, hostRef);
247
- this.icon = undefined;
248
- this.iconFlipRtl = false;
249
- this.scale = "m";
250
- this.status = "idle";
251
- }
252
- handleIconEl() {
253
- this.requestedIcon = setRequestedIcon(StatusIconDefaults, this.icon, this.status);
254
- }
255
- //--------------------------------------------------------------------------
256
- //
257
- // Lifecycle
258
- //
259
- //--------------------------------------------------------------------------
260
- connectedCallback() {
261
- this.requestedIcon = setRequestedIcon(StatusIconDefaults, this.icon, this.status);
262
- }
263
- render() {
264
- const hidden = this.el.hidden;
265
- return (h(Host, { "calcite-hydrated-hidden": hidden }, this.renderIcon(this.requestedIcon), h("slot", null)));
266
- }
267
- //--------------------------------------------------------------------------
268
- //
269
- // Private Methods
270
- //
271
- //--------------------------------------------------------------------------
272
- renderIcon(iconName) {
273
- if (iconName) {
274
- return (h("calcite-icon", { class: "calcite-input-message-icon", flipRtl: this.iconFlipRtl, icon: iconName, scale: "s" }));
275
- }
276
- }
277
- get el() { return getElement(this); }
278
- static get watchers() { return {
279
- "status": ["handleIconEl"],
280
- "icon": ["handleIconEl"]
281
- }; }
282
- };
244
+ const InputMessage = class {
245
+ constructor(hostRef) {
246
+ registerInstance(this, hostRef);
247
+ this.icon = undefined;
248
+ this.iconFlipRtl = false;
249
+ this.scale = "m";
250
+ this.status = "idle";
251
+ }
252
+ handleIconEl() {
253
+ this.requestedIcon = setRequestedIcon(StatusIconDefaults, this.icon, this.status);
254
+ }
255
+ //--------------------------------------------------------------------------
256
+ //
257
+ // Lifecycle
258
+ //
259
+ //--------------------------------------------------------------------------
260
+ connectedCallback() {
261
+ this.requestedIcon = setRequestedIcon(StatusIconDefaults, this.icon, this.status);
262
+ }
263
+ render() {
264
+ const hidden = this.el.hidden;
265
+ return (h(Host, { "calcite-hydrated-hidden": hidden }, this.renderIcon(this.requestedIcon), h("slot", null)));
266
+ }
267
+ //--------------------------------------------------------------------------
268
+ //
269
+ // Private Methods
270
+ //
271
+ //--------------------------------------------------------------------------
272
+ renderIcon(iconName) {
273
+ if (iconName) {
274
+ return (h("calcite-icon", { class: "calcite-input-message-icon", flipRtl: this.iconFlipRtl, icon: iconName, scale: "s" }));
275
+ }
276
+ }
277
+ get el() { return getElement(this); }
278
+ static get watchers() { return {
279
+ "status": ["handleIconEl"],
280
+ "icon": ["handleIconEl"]
281
+ }; }
282
+ };
283
283
  InputMessage.style = inputMessageCss;
284
284
 
285
285
  /*!
@@ -298,1190 +298,1190 @@ const maxTickElementThreshold = 250;
298
298
 
299
299
  const sliderCss = "@charset \"UTF-8\";:host([disabled]){cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}.scale--s{--calcite-slider-handle-size:0.625rem;--calcite-slider-handle-extension-height:0.4rem;--calcite-slider-container-font-size:var(--calcite-font-size--3)}.scale--s .handle__label,.scale--s .tick__label{line-height:.75rem}.scale--m{--calcite-slider-handle-size:0.875rem;--calcite-slider-handle-extension-height:0.5rem;--calcite-slider-container-font-size:var(--calcite-font-size--2)}.scale--m .handle__label,.scale--m .tick__label{line-height:1rem}.scale--l{--calcite-slider-handle-size:1rem;--calcite-slider-handle-extension-height:0.65rem;--calcite-slider-container-font-size:var(--calcite-font-size--1)}.scale--l .handle__label,.scale--l .tick__label{line-height:1rem}.handle__label,.tick__label{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-2);font-size:var(--calcite-slider-container-font-size)}:host{display:block}.container{position:relative;display:block;overflow-wrap:normal;word-break:normal;padding-inline:calc(var(--calcite-slider-handle-size) * 0.5);padding-block:calc(var(--calcite-slider-handle-size) * 0.5);margin-block:calc(var(--calcite-slider-handle-size) * 0.5);margin-inline:0;--calcite-slider-full-handle-height:calc(\n var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height)\n );touch-action:none}:host([disabled]) .track__range,:host([disabled]) .tick--active{background-color:var(--calcite-ui-text-3)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-0.375rem}.scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-0.5rem}.scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-0.55rem}:host([precise]:not([has-histogram])) .container .thumb--value{--calcite-slider-thumb-y-offset:calc(var(--calcite-slider-full-handle-height) * -1)}.thumb-container{position:relative;max-inline-size:100%}.thumb{--calcite-slider-thumb-x-offset:calc(var(--calcite-slider-handle-size) * 0.5);position:absolute;margin:0px;display:flex;cursor:pointer;flex-direction:column;align-items:center;border-style:none;background-color:transparent;padding:0px;font-family:inherit;outline:2px solid transparent;outline-offset:2px;transform:translate(var(--calcite-slider-thumb-x-offset), var(--calcite-slider-thumb-y-offset))}.thumb .handle__label.static,.thumb .handle__label.transformed{position:absolute;inset-block:0px;opacity:0}.thumb .handle__label.hyphen::after{content:\"—\";display:inline-block;inline-size:1em}.thumb .handle__label.hyphen--wrap{display:flex}.thumb .handle{box-sizing:border-box;border-radius:9999px;background-color:var(--calcite-ui-foreground-1);outline-color:transparent;block-size:var(--calcite-slider-handle-size);inline-size:var(--calcite-slider-handle-size);box-shadow:0 0 0 2px var(--calcite-ui-text-3) inset;transition:border var(--calcite-internal-animation-timing-medium) ease, background-color var(--calcite-internal-animation-timing-medium) ease, box-shadow var(--calcite-animation-timing) ease}.thumb .handle-extension{inline-size:0.125rem;block-size:var(--calcite-slider-handle-extension-height);background-color:var(--calcite-ui-text-3)}.thumb:hover .handle{box-shadow:0 0 0 3px var(--calcite-ui-brand) inset}.thumb:hover .handle-extension{background-color:var(--calcite-ui-brand)}.thumb:focus .handle{outline:2px solid var(--calcite-ui-focus-color, var(--calcite-ui-brand));outline-offset:calc(\n 2px *\n calc(\n 1 -\n 2 * clamp(\n 0,\n var(--calcite-ui-focus-offset-invert),\n 1\n )\n )\n )}.thumb:focus .handle-extension{background-color:var(--calcite-ui-brand)}.thumb.thumb--minValue{transform:translate(calc(var(--calcite-slider-thumb-x-offset) * -1), var(--calcite-slider-thumb-y-offset))}.thumb.thumb--precise{--calcite-slider-thumb-y-offset:-0.125rem}:host([label-handles]) .thumb{--calcite-slider-thumb-x-offset:50%}:host([label-handles]):host(:not([has-histogram])) .scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-1.4375rem}:host([label-handles]):host(:not([has-histogram])) .scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-1.875rem}:host([label-handles]):host(:not([has-histogram])) .scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-2rem}:host([has-histogram][label-handles]) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--minValue.thumb--precise .handle__label{margin-block-start:0.5em}:host(:not([has-histogram]):not([precise])) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--value .handle__label{margin-block-end:0.5em}:host([label-handles][precise]):host(:not([has-histogram])) .scale--s .thumb--value{--calcite-slider-thumb-y-offset:-2.075rem}:host([label-handles][precise]):host(:not([has-histogram])) .scale--m .thumb--value{--calcite-slider-thumb-y-offset:-2.75rem}:host([label-handles][precise]):host(:not([has-histogram])) .scale--l .thumb--value{--calcite-slider-thumb-y-offset:-3.0625rem}.thumb:focus .handle,.thumb--active .handle{background-color:var(--calcite-ui-brand);box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.16)}.thumb:hover.thumb--precise:after,.thumb:focus.thumb--precise:after,.thumb--active.thumb--precise:after{background-color:var(--calcite-ui-brand)}.track{position:relative;block-size:0.125rem;border-radius:0px;background-color:var(--calcite-ui-border-2);transition:all var(--calcite-internal-animation-timing-medium) ease-in}.track__range{position:absolute;inset-block-start:0px;block-size:0.125rem;background-color:var(--calcite-ui-brand)}.container--range .track__range:hover{cursor:ew-resize}.container--range .track__range:after{position:absolute;inline-size:100%;content:\"\";inset-block-start:calc(var(--calcite-slider-full-handle-height) * 0.5 * -1);block-size:calc(var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height))}@media (forced-colors: active){.thumb{outline-width:0;outline-offset:0}.handle{outline:2px solid transparent;outline-offset:2px}.thumb:focus .handle,.thumb .handle-extension,.thumb:hover .handle-extension,.thumb:focus .handle-extension,.thumb:active .handle-extension{background-color:canvasText}.track{background-color:canvasText}.track__range{background-color:highlight}}.tick{position:absolute;block-size:0.25rem;inline-size:0.125rem;border-width:1px;border-style:solid;background-color:var(--calcite-ui-border-input);border-color:var(--calcite-ui-foreground-1);inset-block-start:-2px;pointer-events:none;margin-inline-start:calc(-1 * 0.125rem)}.tick--active{background-color:var(--calcite-ui-brand)}.tick__label{pointer-events:none;margin-block-start:0.875rem;display:flex;justify-content:center}.tick__label--min{transition:opacity var(--calcite-animation-timing)}.tick__label--max{transition:opacity var(--calcite-internal-animation-timing-fast)}:host([has-histogram][label-handles]) .tick__label--min,:host([has-histogram][label-handles]) .tick__label--max,:host([has-histogram][precise]) .tick__label--min,:host([has-histogram][precise]) .tick__label--max{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-ui-text-3)}.graph{color:var(--calcite-ui-foreground-3);block-size:48px}:host([label-ticks][ticks]) .container{padding-block-end:calc(0.875rem + var(--calcite-slider-container-font-size))}:host([has-histogram]):host([precise][label-handles]) .container{padding-block-end:calc(var(--calcite-slider-full-handle-height) + 1em)}:host([has-histogram]):host([label-handles]:not([precise])) .container{padding-block-end:calc(var(--calcite-slider-handle-size) * 0.5 + 1em)}:host([has-histogram]):host([precise]:not([label-handles])) .container{padding-block-end:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container{padding-block-start:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container--range{padding-block-end:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([label-handles]:not([precise])) .container{padding-block-start:calc(var(--calcite-slider-full-handle-height) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container{padding-block-start:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container--range{padding-block-end:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}::slotted(input[slot=hidden-form-input]){margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;inset:0 !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}:host([hidden]){display:none}[hidden]{display:none}";
300
300
 
301
- function isRange(value) {
302
- return Array.isArray(value);
303
- }
304
- const Slider = class {
305
- constructor(hostRef) {
306
- registerInstance(this, hostRef);
307
- this.calciteSliderInput = createEvent(this, "calciteSliderInput", 6);
308
- this.calciteSliderChange = createEvent(this, "calciteSliderChange", 6);
309
- this.activeProp = "value";
310
- this.guid = `calcite-slider-${guid()}`;
311
- this.dragUpdate = (event) => {
312
- if (this.disabled) {
313
- return;
314
- }
315
- event.preventDefault();
316
- if (this.dragProp) {
317
- const value = this.translate(event.clientX || event.pageX);
318
- if (isRange(this.value) && this.dragProp === "minMaxValue") {
319
- if (this.minValueDragRange && this.maxValueDragRange && this.minMaxValueRange) {
320
- const newMinValue = value - this.minValueDragRange;
321
- const newMaxValue = value + this.maxValueDragRange;
322
- if (newMaxValue <= this.max &&
323
- newMinValue >= this.min &&
324
- newMaxValue - newMinValue === this.minMaxValueRange) {
325
- this.setValue({
326
- minValue: this.clamp(newMinValue, "minValue"),
327
- maxValue: this.clamp(newMaxValue, "maxValue"),
328
- });
329
- }
330
- }
331
- else {
332
- this.minValueDragRange = value - this.minValue;
333
- this.maxValueDragRange = this.maxValue - value;
334
- this.minMaxValueRange = this.maxValue - this.minValue;
335
- }
336
- }
337
- else {
338
- this.setValue({ [this.dragProp]: this.clamp(value, this.dragProp) });
339
- }
340
- }
341
- };
342
- this.pointerUpDragEnd = (event) => {
343
- if (this.disabled || !isPrimaryPointerButton(event)) {
344
- return;
345
- }
346
- this.dragEnd(event);
347
- };
348
- this.dragEnd = (event) => {
349
- if (this.disabled) {
350
- return;
351
- }
352
- this.removeDragListeners();
353
- this.focusActiveHandle(event.clientX);
354
- if (this.lastDragPropValue != this[this.dragProp]) {
355
- this.emitChange();
356
- }
357
- this.dragProp = null;
358
- this.lastDragPropValue = null;
359
- this.minValueDragRange = null;
360
- this.maxValueDragRange = null;
361
- this.minMaxValueRange = null;
362
- };
363
- /**
364
- * Set the reference of the track Element
365
- *
366
- * @internal
367
- * @param node
368
- */
369
- this.storeTrackRef = (node) => {
370
- this.trackEl = node;
371
- };
372
- /**
373
- * Returns a string representing the localized label value based if the groupSeparator prop is parsed.
374
- *
375
- * @param value
376
- */
377
- this.determineGroupSeparator = (value) => {
378
- if (typeof value === "number") {
379
- numberStringFormatter.numberFormatOptions = {
380
- locale: this.effectiveLocale,
381
- numberingSystem: this.numberingSystem,
382
- useGrouping: this.groupSeparator,
383
- };
384
- return numberStringFormatter.localize(value.toString());
385
- }
386
- };
387
- this.disabled = false;
388
- this.form = undefined;
389
- this.groupSeparator = false;
390
- this.hasHistogram = false;
391
- this.histogram = undefined;
392
- this.histogramStops = undefined;
393
- this.labelHandles = false;
394
- this.labelTicks = false;
395
- this.max = 100;
396
- this.maxLabel = undefined;
397
- this.maxValue = undefined;
398
- this.min = 0;
399
- this.minLabel = undefined;
400
- this.minValue = undefined;
401
- this.mirrored = false;
402
- this.name = undefined;
403
- this.numberingSystem = undefined;
404
- this.pageStep = undefined;
405
- this.precise = false;
406
- this.required = false;
407
- this.snap = false;
408
- this.step = 1;
409
- this.ticks = undefined;
410
- this.value = 0;
411
- this.scale = "m";
412
- this.effectiveLocale = "";
413
- this.minMaxValueRange = null;
414
- this.minValueDragRange = null;
415
- this.maxValueDragRange = null;
416
- this.tickValues = [];
417
- }
418
- histogramWatcher(newHistogram) {
419
- this.hasHistogram = !!newHistogram;
420
- }
421
- ticksWatcher() {
422
- this.tickValues = this.generateTickValues();
423
- }
424
- valueHandler() {
425
- this.setMinMaxFromValue();
426
- }
427
- minMaxValueHandler() {
428
- this.setValueFromMinMax();
429
- }
430
- //--------------------------------------------------------------------------
431
- //
432
- // Lifecycle
433
- //
434
- //--------------------------------------------------------------------------
435
- connectedCallback() {
436
- connectInteractive(this);
437
- connectLocalized(this);
438
- this.setMinMaxFromValue();
439
- this.setValueFromMinMax();
440
- connectLabel(this);
441
- connectForm(this);
442
- }
443
- disconnectedCallback() {
444
- disconnectInteractive(this);
445
- disconnectLabel(this);
446
- disconnectForm(this);
447
- disconnectLocalized(this);
448
- this.removeDragListeners();
449
- }
450
- componentWillLoad() {
451
- setUpLoadableComponent(this);
452
- if (!isRange(this.value)) {
453
- this.value = this.snap ? this.getClosestStep(this.value) : this.clamp(this.value);
454
- }
455
- this.ticksWatcher();
456
- this.histogramWatcher(this.histogram);
457
- afterConnectDefaultValueSet(this, this.value);
458
- }
459
- componentDidLoad() {
460
- setComponentLoaded(this);
461
- }
462
- componentDidRender() {
463
- if (this.labelHandles) {
464
- this.adjustHostObscuredHandleLabel("value");
465
- if (isRange(this.value)) {
466
- this.adjustHostObscuredHandleLabel("minValue");
467
- if (!(this.precise && !this.hasHistogram)) {
468
- this.hyphenateCollidingRangeHandleLabels();
469
- }
470
- }
471
- }
472
- this.hideObscuredBoundingTickLabels();
473
- updateHostInteraction(this);
474
- }
475
- render() {
476
- const id = this.el.id || this.guid;
477
- const maxProp = isRange(this.value) ? "maxValue" : "value";
478
- const value = isRange(this.value) ? this.maxValue : this.value;
479
- const displayedValue = this.determineGroupSeparator(value);
480
- const displayedMinValue = this.determineGroupSeparator(this.minValue);
481
- const min = this.minValue || this.min;
482
- const useMinValue = this.shouldUseMinValue();
483
- const minInterval = this.getUnitInterval(useMinValue ? this.minValue : min) * 100;
484
- const maxInterval = this.getUnitInterval(value) * 100;
485
- const mirror = this.shouldMirror();
486
- const leftThumbOffset = `${mirror ? 100 - minInterval : minInterval}%`;
487
- const rightThumbOffset = `${mirror ? maxInterval : 100 - maxInterval}%`;
488
- const valueIsRange = isRange(this.value);
489
- const handleLabelMinValueClasses = `${CSS.handleLabel} ${CSS.handleLabelMinValue}`;
490
- const handleLabelValueClasses = `${CSS.handleLabel} ${CSS.handleLabelValue}`;
491
- const handle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
492
- thumb: true,
493
- "thumb--value": true,
494
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
495
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
496
- // eslint-disable-next-line react/jsx-sort-props
497
- ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle" })));
498
- const labeledHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
499
- thumb: true,
500
- "thumb--value": true,
501
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
502
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
503
- // eslint-disable-next-line react/jsx-sort-props
504
- ref: (el) => (this.maxHandle = el) }, h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue), h("div", { class: "handle" })));
505
- const histogramLabeledHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
506
- thumb: true,
507
- "thumb--value": true,
508
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
509
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
510
- // eslint-disable-next-line react/jsx-sort-props
511
- ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle" }), h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue)));
512
- const preciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
513
- thumb: true,
514
- "thumb--value": true,
515
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
516
- "thumb--precise": true,
517
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
518
- // eslint-disable-next-line react/jsx-sort-props
519
- ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle" }), h("div", { class: "handle-extension" })));
520
- const histogramPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
521
- thumb: true,
522
- "thumb--value": true,
523
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
524
- "thumb--precise": true,
525
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
526
- // eslint-disable-next-line react/jsx-sort-props
527
- ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle-extension" }), h("div", { class: "handle" })));
528
- const labeledPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
529
- thumb: true,
530
- "thumb--value": true,
531
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
532
- "thumb--precise": true,
533
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
534
- // eslint-disable-next-line react/jsx-sort-props
535
- ref: (el) => (this.maxHandle = el) }, h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue), h("div", { class: "handle" }), h("div", { class: "handle-extension" })));
536
- const histogramLabeledPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
537
- thumb: true,
538
- "thumb--value": true,
539
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
540
- "thumb--precise": true,
541
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
542
- // eslint-disable-next-line react/jsx-sort-props
543
- ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle-extension" }), h("div", { class: "handle" }), h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue)));
544
- const minHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
545
- thumb: true,
546
- "thumb--minValue": true,
547
- "thumb--active": this.dragProp === "minValue",
548
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
549
- // eslint-disable-next-line react/jsx-sort-props
550
- ref: (el) => (this.minHandle = el) }, h("div", { class: "handle" })));
551
- const minLabeledHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
552
- thumb: true,
553
- "thumb--minValue": true,
554
- "thumb--active": this.dragProp === "minValue",
555
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
556
- // eslint-disable-next-line react/jsx-sort-props
557
- ref: (el) => (this.minHandle = el) }, h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue), h("div", { class: "handle" })));
558
- const minHistogramLabeledHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
559
- thumb: true,
560
- "thumb--minValue": true,
561
- "thumb--active": this.dragProp === "minValue",
562
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
563
- // eslint-disable-next-line react/jsx-sort-props
564
- ref: (el) => (this.minHandle = el) }, h("div", { class: "handle" }), h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue)));
565
- const minPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
566
- thumb: true,
567
- "thumb--minValue": true,
568
- "thumb--active": this.dragProp === "minValue",
569
- "thumb--precise": true,
570
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
571
- // eslint-disable-next-line react/jsx-sort-props
572
- ref: (el) => (this.minHandle = el) }, h("div", { class: "handle-extension" }), h("div", { class: "handle" })));
573
- const minLabeledPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
574
- thumb: true,
575
- "thumb--minValue": true,
576
- "thumb--active": this.dragProp === "minValue",
577
- "thumb--precise": true,
578
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
579
- // eslint-disable-next-line react/jsx-sort-props
580
- ref: (el) => (this.minHandle = el) }, h("div", { class: "handle-extension" }), h("div", { class: "handle" }), h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue)));
581
- return (h(Host, { id: id, onTouchStart: this.handleTouchStart }, h("div", { "aria-label": getLabelText(this), class: {
582
- ["container"]: true,
583
- ["container--range"]: valueIsRange,
584
- [`scale--${this.scale}`]: true,
585
- } }, this.renderGraph(), h("div", { class: "track",
586
- // eslint-disable-next-line react/jsx-sort-props
587
- ref: this.storeTrackRef }, h("div", { class: "track__range", onPointerDown: (event) => this.pointerDownDragStart(event, "minMaxValue"), style: {
588
- left: `${mirror ? 100 - maxInterval : minInterval}%`,
589
- right: `${mirror ? minInterval : 100 - maxInterval}%`,
590
- } }), h("div", { class: "ticks" }, this.tickValues.map((tick) => {
591
- const tickOffset = `${this.getUnitInterval(tick) * 100}%`;
592
- let activeTicks = tick >= min && tick <= value;
593
- if (useMinValue) {
594
- activeTicks = tick >= this.minValue && tick <= this.maxValue;
595
- }
596
- return (h("span", { class: {
597
- tick: true,
598
- "tick--active": activeTicks,
599
- }, style: {
600
- left: mirror ? "" : tickOffset,
601
- right: mirror ? tickOffset : "",
602
- } }, this.renderTickLabel(tick)));
603
- }))), h("div", { class: "thumb-container" }, !this.precise && !this.labelHandles && valueIsRange && minHandle, !this.hasHistogram &&
604
- !this.precise &&
605
- this.labelHandles &&
606
- valueIsRange &&
607
- minLabeledHandle, this.precise && !this.labelHandles && valueIsRange && minPreciseHandle, this.precise && this.labelHandles && valueIsRange && minLabeledPreciseHandle, this.hasHistogram &&
608
- !this.precise &&
609
- this.labelHandles &&
610
- valueIsRange &&
611
- minHistogramLabeledHandle, !this.precise && !this.labelHandles && handle, !this.hasHistogram && !this.precise && this.labelHandles && labeledHandle, !this.hasHistogram && this.precise && !this.labelHandles && preciseHandle, this.hasHistogram && this.precise && !this.labelHandles && histogramPreciseHandle, !this.hasHistogram && this.precise && this.labelHandles && labeledPreciseHandle, this.hasHistogram && !this.precise && this.labelHandles && histogramLabeledHandle, this.hasHistogram &&
612
- this.precise &&
613
- this.labelHandles &&
614
- histogramLabeledPreciseHandle, h(HiddenFormInputSlot, { component: this })))));
615
- }
616
- renderGraph() {
617
- return this.histogram ? (h("calcite-graph", { class: "graph", colorStops: this.histogramStops, data: this.histogram, highlightMax: isRange(this.value) ? this.maxValue : this.value, highlightMin: isRange(this.value) ? this.minValue : this.min, max: this.max, min: this.min })) : null;
618
- }
619
- renderTickLabel(tick) {
620
- const valueIsRange = isRange(this.value);
621
- const isMinTickLabel = tick === this.min;
622
- const isMaxTickLabel = tick === this.max;
623
- const displayedTickValue = this.determineGroupSeparator(tick);
624
- const tickLabel = (h("span", { class: {
625
- tick__label: true,
626
- [CSS.tickMin]: isMinTickLabel,
627
- [CSS.tickMax]: isMaxTickLabel,
628
- } }, displayedTickValue));
629
- if (this.labelTicks && !this.hasHistogram && !valueIsRange) {
630
- return tickLabel;
631
- }
632
- if (this.labelTicks &&
633
- !this.hasHistogram &&
634
- valueIsRange &&
635
- !this.precise &&
636
- !this.labelHandles) {
637
- return tickLabel;
638
- }
639
- if (this.labelTicks &&
640
- !this.hasHistogram &&
641
- valueIsRange &&
642
- !this.precise &&
643
- this.labelHandles) {
644
- return tickLabel;
645
- }
646
- if (this.labelTicks &&
647
- !this.hasHistogram &&
648
- valueIsRange &&
649
- this.precise &&
650
- (isMinTickLabel || isMaxTickLabel)) {
651
- return tickLabel;
652
- }
653
- if (this.labelTicks && this.hasHistogram && !this.precise && !this.labelHandles) {
654
- return tickLabel;
655
- }
656
- if (this.labelTicks &&
657
- this.hasHistogram &&
658
- this.precise &&
659
- !this.labelHandles &&
660
- (isMinTickLabel || isMaxTickLabel)) {
661
- return tickLabel;
662
- }
663
- if (this.labelTicks &&
664
- this.hasHistogram &&
665
- !this.precise &&
666
- this.labelHandles &&
667
- (isMinTickLabel || isMaxTickLabel)) {
668
- return tickLabel;
669
- }
670
- if (this.labelTicks &&
671
- this.hasHistogram &&
672
- this.precise &&
673
- this.labelHandles &&
674
- (isMinTickLabel || isMaxTickLabel)) {
675
- return tickLabel;
676
- }
677
- return null;
678
- }
679
- //--------------------------------------------------------------------------
680
- //
681
- // Event Listeners
682
- //
683
- //--------------------------------------------------------------------------
684
- keyDownHandler(event) {
685
- const mirror = this.shouldMirror();
686
- const { activeProp, max, min, pageStep, step } = this;
687
- const value = this[activeProp];
688
- const { key } = event;
689
- if (isActivationKey(key)) {
690
- event.preventDefault();
691
- return;
692
- }
693
- let adjustment;
694
- if (key === "ArrowUp" || key === "ArrowRight") {
695
- const directionFactor = mirror && key === "ArrowRight" ? -1 : 1;
696
- adjustment = value + step * directionFactor;
697
- }
698
- else if (key === "ArrowDown" || key === "ArrowLeft") {
699
- const directionFactor = mirror && key === "ArrowLeft" ? -1 : 1;
700
- adjustment = value - step * directionFactor;
701
- }
702
- else if (key === "PageUp") {
703
- if (pageStep) {
704
- adjustment = value + pageStep;
705
- }
706
- }
707
- else if (key === "PageDown") {
708
- if (pageStep) {
709
- adjustment = value - pageStep;
710
- }
711
- }
712
- else if (key === "Home") {
713
- adjustment = min;
714
- }
715
- else if (key === "End") {
716
- adjustment = max;
717
- }
718
- if (isNaN(adjustment)) {
719
- return;
720
- }
721
- event.preventDefault();
722
- const fixedDecimalAdjustment = Number(adjustment.toFixed(decimalPlaces(step)));
723
- this.setValue({
724
- [activeProp]: this.clamp(fixedDecimalAdjustment, activeProp),
725
- });
726
- }
727
- pointerDownHandler(event) {
728
- if (this.disabled || !isPrimaryPointerButton(event)) {
729
- return;
730
- }
731
- const x = event.clientX || event.pageX;
732
- const position = this.translate(x);
733
- let prop = "value";
734
- if (isRange(this.value)) {
735
- const inRange = position >= this.minValue && position <= this.maxValue;
736
- if (inRange && this.lastDragProp === "minMaxValue") {
737
- prop = "minMaxValue";
738
- }
739
- else {
740
- const closerToMax = Math.abs(this.maxValue - position) < Math.abs(this.minValue - position);
741
- prop = closerToMax || position > this.maxValue ? "maxValue" : "minValue";
742
- }
743
- }
744
- this.lastDragPropValue = this[prop];
745
- this.dragStart(prop);
746
- const isThumbActive = this.el.shadowRoot.querySelector(".thumb:active");
747
- if (!isThumbActive) {
748
- this.setValue({ [prop]: this.clamp(position, prop) });
749
- }
750
- this.focusActiveHandle(x);
751
- }
752
- handleTouchStart(event) {
753
- // needed to prevent extra click at the end of a handle drag
754
- event.preventDefault();
755
- }
756
- //--------------------------------------------------------------------------
757
- //
758
- // Public Methods
759
- //
760
- //--------------------------------------------------------------------------
761
- /** Sets focus on the component. */
762
- async setFocus() {
763
- await componentFocusable(this);
764
- const handle = this.minHandle ? this.minHandle : this.maxHandle;
765
- handle === null || handle === void 0 ? void 0 : handle.focus();
766
- }
767
- //--------------------------------------------------------------------------
768
- //
769
- // Private Methods
770
- //
771
- //--------------------------------------------------------------------------
772
- setValueFromMinMax() {
773
- const { minValue, maxValue } = this;
774
- if (typeof minValue === "number" && typeof maxValue === "number") {
775
- this.value = [minValue, maxValue];
776
- }
777
- }
778
- setMinMaxFromValue() {
779
- const { value } = this;
780
- if (isRange(value)) {
781
- this.minValue = value[0];
782
- this.maxValue = value[1];
783
- }
784
- }
785
- onLabelClick() {
786
- this.setFocus();
787
- }
788
- shouldMirror() {
789
- return this.mirrored && !this.hasHistogram;
790
- }
791
- shouldUseMinValue() {
792
- if (!isRange(this.value)) {
793
- return false;
794
- }
795
- return ((this.hasHistogram && this.maxValue === 0) || (!this.hasHistogram && this.minValue === 0));
796
- }
797
- getTickDensity() {
798
- const density = (this.max - this.min) / this.ticks / maxTickElementThreshold;
799
- return density < 1 ? 1 : density;
800
- }
801
- generateTickValues() {
802
- var _a;
803
- const tickInterval = (_a = this.ticks) !== null && _a !== void 0 ? _a : 0;
804
- if (tickInterval <= 0) {
805
- return [];
806
- }
807
- const ticks = [this.min];
808
- const density = this.getTickDensity();
809
- const tickOffset = tickInterval * density;
810
- let current = this.min;
811
- while (current < this.max) {
812
- current += tickOffset;
813
- ticks.push(Math.min(current, this.max));
814
- }
815
- if (!ticks.includes(this.max)) {
816
- ticks.push(this.max);
817
- }
818
- return ticks;
819
- }
820
- pointerDownDragStart(event, prop) {
821
- if (!isPrimaryPointerButton(event)) {
822
- return;
823
- }
824
- this.dragStart(prop);
825
- }
826
- dragStart(prop) {
827
- this.dragProp = prop;
828
- this.lastDragProp = this.dragProp;
829
- this.activeProp = prop;
830
- document.addEventListener("pointermove", this.dragUpdate);
831
- document.addEventListener("pointerup", this.pointerUpDragEnd);
832
- document.addEventListener("pointercancel", this.dragEnd);
833
- }
834
- focusActiveHandle(valueX) {
835
- switch (this.dragProp) {
836
- case "minValue":
837
- this.minHandle.focus();
838
- break;
839
- case "maxValue":
840
- case "value":
841
- this.maxHandle.focus();
842
- break;
843
- case "minMaxValue":
844
- this.getClosestHandle(valueX).focus();
845
- break;
846
- }
847
- }
848
- emitInput() {
849
- this.calciteSliderInput.emit();
850
- }
851
- emitChange() {
852
- this.calciteSliderChange.emit();
853
- }
854
- removeDragListeners() {
855
- document.removeEventListener("pointermove", this.dragUpdate);
856
- document.removeEventListener("pointerup", this.pointerUpDragEnd);
857
- document.removeEventListener("pointercancel", this.dragEnd);
858
- }
859
- /**
860
- * Set prop value(s) if changed at the component level
861
- *
862
- * @param {object} values - a set of key/value pairs delineating what properties in the component to update
863
- */
864
- setValue(values) {
865
- let valueChanged;
866
- Object.keys(values).forEach((propName) => {
867
- const newValue = values[propName];
868
- if (!valueChanged) {
869
- const oldValue = this[propName];
870
- valueChanged = oldValue !== newValue;
871
- }
872
- this[propName] = newValue;
873
- });
874
- if (!valueChanged) {
875
- return;
876
- }
877
- const dragging = this.dragProp;
878
- if (!dragging) {
879
- this.emitChange();
880
- }
881
- this.emitInput();
882
- }
883
- /**
884
- * If number is outside range, constrain to min or max
885
- *
886
- * @param value
887
- * @param prop
888
- * @internal
889
- */
890
- clamp(value, prop) {
891
- value = clamp(value, this.min, this.max);
892
- // ensure that maxValue and minValue don't swap positions
893
- if (prop === "maxValue") {
894
- value = Math.max(value, this.minValue);
895
- }
896
- if (prop === "minValue") {
897
- value = Math.min(value, this.maxValue);
898
- }
899
- return value;
900
- }
901
- /**
902
- * Translate a pixel position to value along the range
903
- *
904
- * @param x
905
- * @internal
906
- */
907
- translate(x) {
908
- const range = this.max - this.min;
909
- const { left, width } = this.trackEl.getBoundingClientRect();
910
- const percent = (x - left) / width;
911
- const mirror = this.shouldMirror();
912
- const clampedValue = this.clamp(this.min + range * (mirror ? 1 - percent : percent));
913
- let value = Number(clampedValue.toFixed(decimalPlaces(this.step)));
914
- if (this.snap && this.step) {
915
- value = this.getClosestStep(value);
916
- }
917
- return value;
918
- }
919
- /**
920
- * Get closest allowed value along stepped values
921
- *
922
- * @param num
923
- * @internal
924
- */
925
- getClosestStep(num) {
926
- num = Number(this.clamp(num).toFixed(decimalPlaces(this.step)));
927
- if (this.step) {
928
- const step = Math.round(num / this.step) * this.step;
929
- num = Number(this.clamp(step).toFixed(decimalPlaces(this.step)));
930
- }
931
- return num;
932
- }
933
- getClosestHandle(valueX) {
934
- return this.getDistanceX(this.maxHandle, valueX) > this.getDistanceX(this.minHandle, valueX)
935
- ? this.minHandle
936
- : this.maxHandle;
937
- }
938
- getDistanceX(el, valueX) {
939
- return Math.abs(el.getBoundingClientRect().left - valueX);
940
- }
941
- getFontSizeForElement(element) {
942
- return Number(window.getComputedStyle(element).getPropertyValue("font-size").match(/\d+/)[0]);
943
- }
944
- /**
945
- * Get position of value along range as fractional value
946
- *
947
- * @param num
948
- * @return {number} number in the unit interval [0,1]
949
- * @internal
950
- */
951
- getUnitInterval(num) {
952
- num = this.clamp(num);
953
- const range = this.max - this.min;
954
- return (num - this.min) / range;
955
- }
956
- adjustHostObscuredHandleLabel(name) {
957
- const label = this.el.shadowRoot.querySelector(`.handle__label--${name}`);
958
- const labelStatic = this.el.shadowRoot.querySelector(`.handle__label--${name}.static`);
959
- const labelTransformed = this.el.shadowRoot.querySelector(`.handle__label--${name}.transformed`);
960
- const labelStaticBounds = labelStatic.getBoundingClientRect();
961
- const labelStaticOffset = this.getHostOffset(labelStaticBounds.left, labelStaticBounds.right);
962
- label.style.transform = `translateX(${labelStaticOffset}px)`;
963
- labelTransformed.style.transform = `translateX(${labelStaticOffset}px)`;
964
- }
965
- hyphenateCollidingRangeHandleLabels() {
966
- const { shadowRoot } = this.el;
967
- const mirror = this.shouldMirror();
968
- const leftModifier = mirror ? "value" : "minValue";
969
- const rightModifier = mirror ? "minValue" : "value";
970
- const leftValueLabel = shadowRoot.querySelector(`.handle__label--${leftModifier}`);
971
- const leftValueLabelStatic = shadowRoot.querySelector(`.handle__label--${leftModifier}.static`);
972
- const leftValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${leftModifier}.transformed`);
973
- const leftValueLabelStaticHostOffset = this.getHostOffset(leftValueLabelStatic.getBoundingClientRect().left, leftValueLabelStatic.getBoundingClientRect().right);
974
- const rightValueLabel = shadowRoot.querySelector(`.handle__label--${rightModifier}`);
975
- const rightValueLabelStatic = shadowRoot.querySelector(`.handle__label--${rightModifier}.static`);
976
- const rightValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${rightModifier}.transformed`);
977
- const rightValueLabelStaticHostOffset = this.getHostOffset(rightValueLabelStatic.getBoundingClientRect().left, rightValueLabelStatic.getBoundingClientRect().right);
978
- const labelFontSize = this.getFontSizeForElement(leftValueLabel);
979
- const labelTransformedOverlap = this.getRangeLabelOverlap(leftValueLabelTransformed, rightValueLabelTransformed);
980
- const hyphenLabel = leftValueLabel;
981
- const labelOffset = labelFontSize / 2;
982
- if (labelTransformedOverlap > 0) {
983
- hyphenLabel.classList.add("hyphen", "hyphen--wrap");
984
- if (rightValueLabelStaticHostOffset === 0 && leftValueLabelStaticHostOffset === 0) {
985
- // Neither handle overlaps the host boundary
986
- let leftValueLabelTranslate = labelTransformedOverlap / 2 - labelOffset;
987
- leftValueLabelTranslate =
988
- Math.sign(leftValueLabelTranslate) === -1
989
- ? Math.abs(leftValueLabelTranslate)
990
- : -leftValueLabelTranslate;
991
- const leftValueLabelTransformedHostOffset = this.getHostOffset(leftValueLabelTransformed.getBoundingClientRect().left +
992
- leftValueLabelTranslate -
993
- labelOffset, leftValueLabelTransformed.getBoundingClientRect().right +
994
- leftValueLabelTranslate -
995
- labelOffset);
996
- let rightValueLabelTranslate = labelTransformedOverlap / 2;
997
- const rightValueLabelTransformedHostOffset = this.getHostOffset(rightValueLabelTransformed.getBoundingClientRect().left + rightValueLabelTranslate, rightValueLabelTransformed.getBoundingClientRect().right + rightValueLabelTranslate);
998
- if (leftValueLabelTransformedHostOffset !== 0) {
999
- leftValueLabelTranslate += leftValueLabelTransformedHostOffset;
1000
- rightValueLabelTranslate += leftValueLabelTransformedHostOffset;
1001
- }
1002
- if (rightValueLabelTransformedHostOffset !== 0) {
1003
- leftValueLabelTranslate += rightValueLabelTransformedHostOffset;
1004
- rightValueLabelTranslate += rightValueLabelTransformedHostOffset;
1005
- }
1006
- leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
1007
- leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
1008
- rightValueLabel.style.transform = `translateX(${rightValueLabelTranslate}px)`;
1009
- rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelTranslate}px)`;
1010
- }
1011
- else if (leftValueLabelStaticHostOffset > 0 || rightValueLabelStaticHostOffset > 0) {
1012
- // labels overlap host boundary on the left side
1013
- leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset + labelOffset}px)`;
1014
- rightValueLabel.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
1015
- rightValueLabelTransformed.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
1016
- }
1017
- else if (leftValueLabelStaticHostOffset < 0 || rightValueLabelStaticHostOffset < 0) {
1018
- // labels overlap host boundary on the right side
1019
- let leftValueLabelTranslate = Math.abs(leftValueLabelStaticHostOffset) + labelTransformedOverlap - labelOffset;
1020
- leftValueLabelTranslate =
1021
- Math.sign(leftValueLabelTranslate) === -1
1022
- ? Math.abs(leftValueLabelTranslate)
1023
- : -leftValueLabelTranslate;
1024
- leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
1025
- leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
1026
- }
1027
- }
1028
- else {
1029
- hyphenLabel.classList.remove("hyphen", "hyphen--wrap");
1030
- leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
1031
- leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
1032
- rightValueLabel.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
1033
- rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
1034
- }
1035
- }
1036
- /**
1037
- * Hides bounding tick labels that are obscured by either handle.
1038
- */
1039
- hideObscuredBoundingTickLabels() {
1040
- const valueIsRange = isRange(this.value);
1041
- if (!this.hasHistogram && !valueIsRange && !this.labelHandles && !this.precise) {
1042
- return;
1043
- }
1044
- if (!this.hasHistogram && !valueIsRange && this.labelHandles && !this.precise) {
1045
- return;
1046
- }
1047
- if (!this.hasHistogram && !valueIsRange && !this.labelHandles && this.precise) {
1048
- return;
1049
- }
1050
- if (!this.hasHistogram && !valueIsRange && this.labelHandles && this.precise) {
1051
- return;
1052
- }
1053
- if (!this.hasHistogram && valueIsRange && !this.precise) {
1054
- return;
1055
- }
1056
- if (this.hasHistogram && !this.precise && !this.labelHandles) {
1057
- return;
1058
- }
1059
- const minHandle = this.el.shadowRoot.querySelector(".thumb--minValue");
1060
- const maxHandle = this.el.shadowRoot.querySelector(".thumb--value");
1061
- const minTickLabel = this.el.shadowRoot.querySelector(".tick__label--min");
1062
- const maxTickLabel = this.el.shadowRoot.querySelector(".tick__label--max");
1063
- if (!minHandle && maxHandle && minTickLabel && maxTickLabel) {
1064
- minTickLabel.style.opacity = this.isMinTickLabelObscured(minTickLabel, maxHandle) ? "0" : "1";
1065
- maxTickLabel.style.opacity = this.isMaxTickLabelObscured(maxTickLabel, maxHandle) ? "0" : "1";
1066
- }
1067
- if (minHandle && maxHandle && minTickLabel && maxTickLabel) {
1068
- minTickLabel.style.opacity =
1069
- this.isMinTickLabelObscured(minTickLabel, minHandle) ||
1070
- this.isMinTickLabelObscured(minTickLabel, maxHandle)
1071
- ? "0"
1072
- : "1";
1073
- maxTickLabel.style.opacity =
1074
- this.isMaxTickLabelObscured(maxTickLabel, minHandle) ||
1075
- (this.isMaxTickLabelObscured(maxTickLabel, maxHandle) && this.hasHistogram)
1076
- ? "0"
1077
- : "1";
1078
- }
1079
- }
1080
- /**
1081
- * Returns an integer representing the number of pixels to offset on the left or right side based on desired position behavior.
1082
- *
1083
- * @param leftBounds
1084
- * @param rightBounds
1085
- * @internal
1086
- */
1087
- getHostOffset(leftBounds, rightBounds) {
1088
- const hostBounds = this.el.getBoundingClientRect();
1089
- const buffer = 7;
1090
- if (leftBounds + buffer < hostBounds.left) {
1091
- return hostBounds.left - leftBounds - buffer;
1092
- }
1093
- if (rightBounds - buffer > hostBounds.right) {
1094
- return -(rightBounds - hostBounds.right) + buffer;
1095
- }
1096
- return 0;
1097
- }
1098
- /**
1099
- * Returns an integer representing the number of pixels that the two given span elements are overlapping, taking into account
1100
- * a space in between the two spans equal to the font-size set on them to account for the space needed to render a hyphen.
1101
- *
1102
- * @param leftLabel
1103
- * @param rightLabel
1104
- */
1105
- getRangeLabelOverlap(leftLabel, rightLabel) {
1106
- const leftLabelBounds = leftLabel.getBoundingClientRect();
1107
- const rightLabelBounds = rightLabel.getBoundingClientRect();
1108
- const leftLabelFontSize = this.getFontSizeForElement(leftLabel);
1109
- const rangeLabelOverlap = leftLabelBounds.right + leftLabelFontSize - rightLabelBounds.left;
1110
- return Math.max(rangeLabelOverlap, 0);
1111
- }
1112
- /**
1113
- * Returns a boolean value representing if the minLabel span element is obscured (being overlapped) by the given handle div element.
1114
- *
1115
- * @param minLabel
1116
- * @param handle
1117
- */
1118
- isMinTickLabelObscured(minLabel, handle) {
1119
- const minLabelBounds = minLabel.getBoundingClientRect();
1120
- const handleBounds = handle.getBoundingClientRect();
1121
- return intersects(minLabelBounds, handleBounds);
1122
- }
1123
- /**
1124
- * Returns a boolean value representing if the maxLabel span element is obscured (being overlapped) by the given handle div element.
1125
- *
1126
- * @param maxLabel
1127
- * @param handle
1128
- */
1129
- isMaxTickLabelObscured(maxLabel, handle) {
1130
- const maxLabelBounds = maxLabel.getBoundingClientRect();
1131
- const handleBounds = handle.getBoundingClientRect();
1132
- return intersects(maxLabelBounds, handleBounds);
1133
- }
1134
- static get delegatesFocus() { return true; }
1135
- get el() { return getElement(this); }
1136
- static get watchers() { return {
1137
- "histogram": ["histogramWatcher"],
1138
- "ticks": ["ticksWatcher"],
1139
- "value": ["valueHandler"],
1140
- "minValue": ["minMaxValueHandler"],
1141
- "maxValue": ["minMaxValueHandler"]
1142
- }; }
1143
- };
301
+ function isRange(value) {
302
+ return Array.isArray(value);
303
+ }
304
+ const Slider = class {
305
+ constructor(hostRef) {
306
+ registerInstance(this, hostRef);
307
+ this.calciteSliderInput = createEvent(this, "calciteSliderInput", 6);
308
+ this.calciteSliderChange = createEvent(this, "calciteSliderChange", 6);
309
+ this.activeProp = "value";
310
+ this.guid = `calcite-slider-${guid()}`;
311
+ this.dragUpdate = (event) => {
312
+ if (this.disabled) {
313
+ return;
314
+ }
315
+ event.preventDefault();
316
+ if (this.dragProp) {
317
+ const value = this.translate(event.clientX || event.pageX);
318
+ if (isRange(this.value) && this.dragProp === "minMaxValue") {
319
+ if (this.minValueDragRange && this.maxValueDragRange && this.minMaxValueRange) {
320
+ const newMinValue = value - this.minValueDragRange;
321
+ const newMaxValue = value + this.maxValueDragRange;
322
+ if (newMaxValue <= this.max &&
323
+ newMinValue >= this.min &&
324
+ newMaxValue - newMinValue === this.minMaxValueRange) {
325
+ this.setValue({
326
+ minValue: this.clamp(newMinValue, "minValue"),
327
+ maxValue: this.clamp(newMaxValue, "maxValue"),
328
+ });
329
+ }
330
+ }
331
+ else {
332
+ this.minValueDragRange = value - this.minValue;
333
+ this.maxValueDragRange = this.maxValue - value;
334
+ this.minMaxValueRange = this.maxValue - this.minValue;
335
+ }
336
+ }
337
+ else {
338
+ this.setValue({ [this.dragProp]: this.clamp(value, this.dragProp) });
339
+ }
340
+ }
341
+ };
342
+ this.pointerUpDragEnd = (event) => {
343
+ if (this.disabled || !isPrimaryPointerButton(event)) {
344
+ return;
345
+ }
346
+ this.dragEnd(event);
347
+ };
348
+ this.dragEnd = (event) => {
349
+ if (this.disabled) {
350
+ return;
351
+ }
352
+ this.removeDragListeners();
353
+ this.focusActiveHandle(event.clientX);
354
+ if (this.lastDragPropValue != this[this.dragProp]) {
355
+ this.emitChange();
356
+ }
357
+ this.dragProp = null;
358
+ this.lastDragPropValue = null;
359
+ this.minValueDragRange = null;
360
+ this.maxValueDragRange = null;
361
+ this.minMaxValueRange = null;
362
+ };
363
+ /**
364
+ * Set the reference of the track Element
365
+ *
366
+ * @internal
367
+ * @param node
368
+ */
369
+ this.storeTrackRef = (node) => {
370
+ this.trackEl = node;
371
+ };
372
+ /**
373
+ * Returns a string representing the localized label value based if the groupSeparator prop is parsed.
374
+ *
375
+ * @param value
376
+ */
377
+ this.determineGroupSeparator = (value) => {
378
+ if (typeof value === "number") {
379
+ numberStringFormatter.numberFormatOptions = {
380
+ locale: this.effectiveLocale,
381
+ numberingSystem: this.numberingSystem,
382
+ useGrouping: this.groupSeparator,
383
+ };
384
+ return numberStringFormatter.localize(value.toString());
385
+ }
386
+ };
387
+ this.disabled = false;
388
+ this.form = undefined;
389
+ this.groupSeparator = false;
390
+ this.hasHistogram = false;
391
+ this.histogram = undefined;
392
+ this.histogramStops = undefined;
393
+ this.labelHandles = false;
394
+ this.labelTicks = false;
395
+ this.max = 100;
396
+ this.maxLabel = undefined;
397
+ this.maxValue = undefined;
398
+ this.min = 0;
399
+ this.minLabel = undefined;
400
+ this.minValue = undefined;
401
+ this.mirrored = false;
402
+ this.name = undefined;
403
+ this.numberingSystem = undefined;
404
+ this.pageStep = undefined;
405
+ this.precise = false;
406
+ this.required = false;
407
+ this.snap = false;
408
+ this.step = 1;
409
+ this.ticks = undefined;
410
+ this.value = 0;
411
+ this.scale = "m";
412
+ this.effectiveLocale = "";
413
+ this.minMaxValueRange = null;
414
+ this.minValueDragRange = null;
415
+ this.maxValueDragRange = null;
416
+ this.tickValues = [];
417
+ }
418
+ histogramWatcher(newHistogram) {
419
+ this.hasHistogram = !!newHistogram;
420
+ }
421
+ ticksWatcher() {
422
+ this.tickValues = this.generateTickValues();
423
+ }
424
+ valueHandler() {
425
+ this.setMinMaxFromValue();
426
+ }
427
+ minMaxValueHandler() {
428
+ this.setValueFromMinMax();
429
+ }
430
+ //--------------------------------------------------------------------------
431
+ //
432
+ // Lifecycle
433
+ //
434
+ //--------------------------------------------------------------------------
435
+ connectedCallback() {
436
+ connectInteractive(this);
437
+ connectLocalized(this);
438
+ this.setMinMaxFromValue();
439
+ this.setValueFromMinMax();
440
+ connectLabel(this);
441
+ connectForm(this);
442
+ }
443
+ disconnectedCallback() {
444
+ disconnectInteractive(this);
445
+ disconnectLabel(this);
446
+ disconnectForm(this);
447
+ disconnectLocalized(this);
448
+ this.removeDragListeners();
449
+ }
450
+ componentWillLoad() {
451
+ setUpLoadableComponent(this);
452
+ if (!isRange(this.value)) {
453
+ this.value = this.snap ? this.getClosestStep(this.value) : this.clamp(this.value);
454
+ }
455
+ this.ticksWatcher();
456
+ this.histogramWatcher(this.histogram);
457
+ afterConnectDefaultValueSet(this, this.value);
458
+ }
459
+ componentDidLoad() {
460
+ setComponentLoaded(this);
461
+ }
462
+ componentDidRender() {
463
+ if (this.labelHandles) {
464
+ this.adjustHostObscuredHandleLabel("value");
465
+ if (isRange(this.value)) {
466
+ this.adjustHostObscuredHandleLabel("minValue");
467
+ if (!(this.precise && !this.hasHistogram)) {
468
+ this.hyphenateCollidingRangeHandleLabels();
469
+ }
470
+ }
471
+ }
472
+ this.hideObscuredBoundingTickLabels();
473
+ updateHostInteraction(this);
474
+ }
475
+ render() {
476
+ const id = this.el.id || this.guid;
477
+ const maxProp = isRange(this.value) ? "maxValue" : "value";
478
+ const value = isRange(this.value) ? this.maxValue : this.value;
479
+ const displayedValue = this.determineGroupSeparator(value);
480
+ const displayedMinValue = this.determineGroupSeparator(this.minValue);
481
+ const min = this.minValue || this.min;
482
+ const useMinValue = this.shouldUseMinValue();
483
+ const minInterval = this.getUnitInterval(useMinValue ? this.minValue : min) * 100;
484
+ const maxInterval = this.getUnitInterval(value) * 100;
485
+ const mirror = this.shouldMirror();
486
+ const leftThumbOffset = `${mirror ? 100 - minInterval : minInterval}%`;
487
+ const rightThumbOffset = `${mirror ? maxInterval : 100 - maxInterval}%`;
488
+ const valueIsRange = isRange(this.value);
489
+ const handleLabelMinValueClasses = `${CSS.handleLabel} ${CSS.handleLabelMinValue}`;
490
+ const handleLabelValueClasses = `${CSS.handleLabel} ${CSS.handleLabelValue}`;
491
+ const handle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
492
+ thumb: true,
493
+ "thumb--value": true,
494
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
495
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
496
+ // eslint-disable-next-line react/jsx-sort-props
497
+ ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle" })));
498
+ const labeledHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
499
+ thumb: true,
500
+ "thumb--value": true,
501
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
502
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
503
+ // eslint-disable-next-line react/jsx-sort-props
504
+ ref: (el) => (this.maxHandle = el) }, h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue), h("div", { class: "handle" })));
505
+ const histogramLabeledHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
506
+ thumb: true,
507
+ "thumb--value": true,
508
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
509
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
510
+ // eslint-disable-next-line react/jsx-sort-props
511
+ ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle" }), h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue)));
512
+ const preciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
513
+ thumb: true,
514
+ "thumb--value": true,
515
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
516
+ "thumb--precise": true,
517
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
518
+ // eslint-disable-next-line react/jsx-sort-props
519
+ ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle" }), h("div", { class: "handle-extension" })));
520
+ const histogramPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
521
+ thumb: true,
522
+ "thumb--value": true,
523
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
524
+ "thumb--precise": true,
525
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
526
+ // eslint-disable-next-line react/jsx-sort-props
527
+ ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle-extension" }), h("div", { class: "handle" })));
528
+ const labeledPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
529
+ thumb: true,
530
+ "thumb--value": true,
531
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
532
+ "thumb--precise": true,
533
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
534
+ // eslint-disable-next-line react/jsx-sort-props
535
+ ref: (el) => (this.maxHandle = el) }, h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue), h("div", { class: "handle" }), h("div", { class: "handle-extension" })));
536
+ const histogramLabeledPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": valueIsRange ? this.maxLabel : this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": value, class: {
537
+ thumb: true,
538
+ "thumb--value": true,
539
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
540
+ "thumb--precise": true,
541
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
542
+ // eslint-disable-next-line react/jsx-sort-props
543
+ ref: (el) => (this.maxHandle = el) }, h("div", { class: "handle-extension" }), h("div", { class: "handle" }), h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue)));
544
+ const minHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
545
+ thumb: true,
546
+ "thumb--minValue": true,
547
+ "thumb--active": this.dragProp === "minValue",
548
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
549
+ // eslint-disable-next-line react/jsx-sort-props
550
+ ref: (el) => (this.minHandle = el) }, h("div", { class: "handle" })));
551
+ const minLabeledHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
552
+ thumb: true,
553
+ "thumb--minValue": true,
554
+ "thumb--active": this.dragProp === "minValue",
555
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
556
+ // eslint-disable-next-line react/jsx-sort-props
557
+ ref: (el) => (this.minHandle = el) }, h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue), h("div", { class: "handle" })));
558
+ const minHistogramLabeledHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
559
+ thumb: true,
560
+ "thumb--minValue": true,
561
+ "thumb--active": this.dragProp === "minValue",
562
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
563
+ // eslint-disable-next-line react/jsx-sort-props
564
+ ref: (el) => (this.minHandle = el) }, h("div", { class: "handle" }), h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue)));
565
+ const minPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
566
+ thumb: true,
567
+ "thumb--minValue": true,
568
+ "thumb--active": this.dragProp === "minValue",
569
+ "thumb--precise": true,
570
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
571
+ // eslint-disable-next-line react/jsx-sort-props
572
+ ref: (el) => (this.minHandle = el) }, h("div", { class: "handle-extension" }), h("div", { class: "handle" })));
573
+ const minLabeledPreciseHandle = (h("div", { "aria-disabled": this.disabled, "aria-label": this.minLabel, "aria-orientation": "horizontal", "aria-valuemax": this.max, "aria-valuemin": this.min, "aria-valuenow": this.minValue, class: {
574
+ thumb: true,
575
+ "thumb--minValue": true,
576
+ "thumb--active": this.dragProp === "minValue",
577
+ "thumb--precise": true,
578
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
579
+ // eslint-disable-next-line react/jsx-sort-props
580
+ ref: (el) => (this.minHandle = el) }, h("div", { class: "handle-extension" }), h("div", { class: "handle" }), h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue)));
581
+ return (h(Host, { id: id, onTouchStart: this.handleTouchStart }, h("div", { "aria-label": getLabelText(this), class: {
582
+ ["container"]: true,
583
+ ["container--range"]: valueIsRange,
584
+ [`scale--${this.scale}`]: true,
585
+ } }, this.renderGraph(), h("div", { class: "track",
586
+ // eslint-disable-next-line react/jsx-sort-props
587
+ ref: this.storeTrackRef }, h("div", { class: "track__range", onPointerDown: (event) => this.pointerDownDragStart(event, "minMaxValue"), style: {
588
+ left: `${mirror ? 100 - maxInterval : minInterval}%`,
589
+ right: `${mirror ? minInterval : 100 - maxInterval}%`,
590
+ } }), h("div", { class: "ticks" }, this.tickValues.map((tick) => {
591
+ const tickOffset = `${this.getUnitInterval(tick) * 100}%`;
592
+ let activeTicks = tick >= min && tick <= value;
593
+ if (useMinValue) {
594
+ activeTicks = tick >= this.minValue && tick <= this.maxValue;
595
+ }
596
+ return (h("span", { class: {
597
+ tick: true,
598
+ "tick--active": activeTicks,
599
+ }, style: {
600
+ left: mirror ? "" : tickOffset,
601
+ right: mirror ? tickOffset : "",
602
+ } }, this.renderTickLabel(tick)));
603
+ }))), h("div", { class: "thumb-container" }, !this.precise && !this.labelHandles && valueIsRange && minHandle, !this.hasHistogram &&
604
+ !this.precise &&
605
+ this.labelHandles &&
606
+ valueIsRange &&
607
+ minLabeledHandle, this.precise && !this.labelHandles && valueIsRange && minPreciseHandle, this.precise && this.labelHandles && valueIsRange && minLabeledPreciseHandle, this.hasHistogram &&
608
+ !this.precise &&
609
+ this.labelHandles &&
610
+ valueIsRange &&
611
+ minHistogramLabeledHandle, !this.precise && !this.labelHandles && handle, !this.hasHistogram && !this.precise && this.labelHandles && labeledHandle, !this.hasHistogram && this.precise && !this.labelHandles && preciseHandle, this.hasHistogram && this.precise && !this.labelHandles && histogramPreciseHandle, !this.hasHistogram && this.precise && this.labelHandles && labeledPreciseHandle, this.hasHistogram && !this.precise && this.labelHandles && histogramLabeledHandle, this.hasHistogram &&
612
+ this.precise &&
613
+ this.labelHandles &&
614
+ histogramLabeledPreciseHandle, h(HiddenFormInputSlot, { component: this })))));
615
+ }
616
+ renderGraph() {
617
+ return this.histogram ? (h("calcite-graph", { class: "graph", colorStops: this.histogramStops, data: this.histogram, highlightMax: isRange(this.value) ? this.maxValue : this.value, highlightMin: isRange(this.value) ? this.minValue : this.min, max: this.max, min: this.min })) : null;
618
+ }
619
+ renderTickLabel(tick) {
620
+ const valueIsRange = isRange(this.value);
621
+ const isMinTickLabel = tick === this.min;
622
+ const isMaxTickLabel = tick === this.max;
623
+ const displayedTickValue = this.determineGroupSeparator(tick);
624
+ const tickLabel = (h("span", { class: {
625
+ tick__label: true,
626
+ [CSS.tickMin]: isMinTickLabel,
627
+ [CSS.tickMax]: isMaxTickLabel,
628
+ } }, displayedTickValue));
629
+ if (this.labelTicks && !this.hasHistogram && !valueIsRange) {
630
+ return tickLabel;
631
+ }
632
+ if (this.labelTicks &&
633
+ !this.hasHistogram &&
634
+ valueIsRange &&
635
+ !this.precise &&
636
+ !this.labelHandles) {
637
+ return tickLabel;
638
+ }
639
+ if (this.labelTicks &&
640
+ !this.hasHistogram &&
641
+ valueIsRange &&
642
+ !this.precise &&
643
+ this.labelHandles) {
644
+ return tickLabel;
645
+ }
646
+ if (this.labelTicks &&
647
+ !this.hasHistogram &&
648
+ valueIsRange &&
649
+ this.precise &&
650
+ (isMinTickLabel || isMaxTickLabel)) {
651
+ return tickLabel;
652
+ }
653
+ if (this.labelTicks && this.hasHistogram && !this.precise && !this.labelHandles) {
654
+ return tickLabel;
655
+ }
656
+ if (this.labelTicks &&
657
+ this.hasHistogram &&
658
+ this.precise &&
659
+ !this.labelHandles &&
660
+ (isMinTickLabel || isMaxTickLabel)) {
661
+ return tickLabel;
662
+ }
663
+ if (this.labelTicks &&
664
+ this.hasHistogram &&
665
+ !this.precise &&
666
+ this.labelHandles &&
667
+ (isMinTickLabel || isMaxTickLabel)) {
668
+ return tickLabel;
669
+ }
670
+ if (this.labelTicks &&
671
+ this.hasHistogram &&
672
+ this.precise &&
673
+ this.labelHandles &&
674
+ (isMinTickLabel || isMaxTickLabel)) {
675
+ return tickLabel;
676
+ }
677
+ return null;
678
+ }
679
+ //--------------------------------------------------------------------------
680
+ //
681
+ // Event Listeners
682
+ //
683
+ //--------------------------------------------------------------------------
684
+ keyDownHandler(event) {
685
+ const mirror = this.shouldMirror();
686
+ const { activeProp, max, min, pageStep, step } = this;
687
+ const value = this[activeProp];
688
+ const { key } = event;
689
+ if (isActivationKey(key)) {
690
+ event.preventDefault();
691
+ return;
692
+ }
693
+ let adjustment;
694
+ if (key === "ArrowUp" || key === "ArrowRight") {
695
+ const directionFactor = mirror && key === "ArrowRight" ? -1 : 1;
696
+ adjustment = value + step * directionFactor;
697
+ }
698
+ else if (key === "ArrowDown" || key === "ArrowLeft") {
699
+ const directionFactor = mirror && key === "ArrowLeft" ? -1 : 1;
700
+ adjustment = value - step * directionFactor;
701
+ }
702
+ else if (key === "PageUp") {
703
+ if (pageStep) {
704
+ adjustment = value + pageStep;
705
+ }
706
+ }
707
+ else if (key === "PageDown") {
708
+ if (pageStep) {
709
+ adjustment = value - pageStep;
710
+ }
711
+ }
712
+ else if (key === "Home") {
713
+ adjustment = min;
714
+ }
715
+ else if (key === "End") {
716
+ adjustment = max;
717
+ }
718
+ if (isNaN(adjustment)) {
719
+ return;
720
+ }
721
+ event.preventDefault();
722
+ const fixedDecimalAdjustment = Number(adjustment.toFixed(decimalPlaces(step)));
723
+ this.setValue({
724
+ [activeProp]: this.clamp(fixedDecimalAdjustment, activeProp),
725
+ });
726
+ }
727
+ pointerDownHandler(event) {
728
+ if (this.disabled || !isPrimaryPointerButton(event)) {
729
+ return;
730
+ }
731
+ const x = event.clientX || event.pageX;
732
+ const position = this.translate(x);
733
+ let prop = "value";
734
+ if (isRange(this.value)) {
735
+ const inRange = position >= this.minValue && position <= this.maxValue;
736
+ if (inRange && this.lastDragProp === "minMaxValue") {
737
+ prop = "minMaxValue";
738
+ }
739
+ else {
740
+ const closerToMax = Math.abs(this.maxValue - position) < Math.abs(this.minValue - position);
741
+ prop = closerToMax || position > this.maxValue ? "maxValue" : "minValue";
742
+ }
743
+ }
744
+ this.lastDragPropValue = this[prop];
745
+ this.dragStart(prop);
746
+ const isThumbActive = this.el.shadowRoot.querySelector(".thumb:active");
747
+ if (!isThumbActive) {
748
+ this.setValue({ [prop]: this.clamp(position, prop) });
749
+ }
750
+ this.focusActiveHandle(x);
751
+ }
752
+ handleTouchStart(event) {
753
+ // needed to prevent extra click at the end of a handle drag
754
+ event.preventDefault();
755
+ }
756
+ //--------------------------------------------------------------------------
757
+ //
758
+ // Public Methods
759
+ //
760
+ //--------------------------------------------------------------------------
761
+ /** Sets focus on the component. */
762
+ async setFocus() {
763
+ await componentFocusable(this);
764
+ const handle = this.minHandle ? this.minHandle : this.maxHandle;
765
+ handle === null || handle === void 0 ? void 0 : handle.focus();
766
+ }
767
+ //--------------------------------------------------------------------------
768
+ //
769
+ // Private Methods
770
+ //
771
+ //--------------------------------------------------------------------------
772
+ setValueFromMinMax() {
773
+ const { minValue, maxValue } = this;
774
+ if (typeof minValue === "number" && typeof maxValue === "number") {
775
+ this.value = [minValue, maxValue];
776
+ }
777
+ }
778
+ setMinMaxFromValue() {
779
+ const { value } = this;
780
+ if (isRange(value)) {
781
+ this.minValue = value[0];
782
+ this.maxValue = value[1];
783
+ }
784
+ }
785
+ onLabelClick() {
786
+ this.setFocus();
787
+ }
788
+ shouldMirror() {
789
+ return this.mirrored && !this.hasHistogram;
790
+ }
791
+ shouldUseMinValue() {
792
+ if (!isRange(this.value)) {
793
+ return false;
794
+ }
795
+ return ((this.hasHistogram && this.maxValue === 0) || (!this.hasHistogram && this.minValue === 0));
796
+ }
797
+ getTickDensity() {
798
+ const density = (this.max - this.min) / this.ticks / maxTickElementThreshold;
799
+ return density < 1 ? 1 : density;
800
+ }
801
+ generateTickValues() {
802
+ var _a;
803
+ const tickInterval = (_a = this.ticks) !== null && _a !== void 0 ? _a : 0;
804
+ if (tickInterval <= 0) {
805
+ return [];
806
+ }
807
+ const ticks = [this.min];
808
+ const density = this.getTickDensity();
809
+ const tickOffset = tickInterval * density;
810
+ let current = this.min;
811
+ while (current < this.max) {
812
+ current += tickOffset;
813
+ ticks.push(Math.min(current, this.max));
814
+ }
815
+ if (!ticks.includes(this.max)) {
816
+ ticks.push(this.max);
817
+ }
818
+ return ticks;
819
+ }
820
+ pointerDownDragStart(event, prop) {
821
+ if (!isPrimaryPointerButton(event)) {
822
+ return;
823
+ }
824
+ this.dragStart(prop);
825
+ }
826
+ dragStart(prop) {
827
+ this.dragProp = prop;
828
+ this.lastDragProp = this.dragProp;
829
+ this.activeProp = prop;
830
+ document.addEventListener("pointermove", this.dragUpdate);
831
+ document.addEventListener("pointerup", this.pointerUpDragEnd);
832
+ document.addEventListener("pointercancel", this.dragEnd);
833
+ }
834
+ focusActiveHandle(valueX) {
835
+ switch (this.dragProp) {
836
+ case "minValue":
837
+ this.minHandle.focus();
838
+ break;
839
+ case "maxValue":
840
+ case "value":
841
+ this.maxHandle.focus();
842
+ break;
843
+ case "minMaxValue":
844
+ this.getClosestHandle(valueX).focus();
845
+ break;
846
+ }
847
+ }
848
+ emitInput() {
849
+ this.calciteSliderInput.emit();
850
+ }
851
+ emitChange() {
852
+ this.calciteSliderChange.emit();
853
+ }
854
+ removeDragListeners() {
855
+ document.removeEventListener("pointermove", this.dragUpdate);
856
+ document.removeEventListener("pointerup", this.pointerUpDragEnd);
857
+ document.removeEventListener("pointercancel", this.dragEnd);
858
+ }
859
+ /**
860
+ * Set prop value(s) if changed at the component level
861
+ *
862
+ * @param {object} values - a set of key/value pairs delineating what properties in the component to update
863
+ */
864
+ setValue(values) {
865
+ let valueChanged;
866
+ Object.keys(values).forEach((propName) => {
867
+ const newValue = values[propName];
868
+ if (!valueChanged) {
869
+ const oldValue = this[propName];
870
+ valueChanged = oldValue !== newValue;
871
+ }
872
+ this[propName] = newValue;
873
+ });
874
+ if (!valueChanged) {
875
+ return;
876
+ }
877
+ const dragging = this.dragProp;
878
+ if (!dragging) {
879
+ this.emitChange();
880
+ }
881
+ this.emitInput();
882
+ }
883
+ /**
884
+ * If number is outside range, constrain to min or max
885
+ *
886
+ * @param value
887
+ * @param prop
888
+ * @internal
889
+ */
890
+ clamp(value, prop) {
891
+ value = clamp(value, this.min, this.max);
892
+ // ensure that maxValue and minValue don't swap positions
893
+ if (prop === "maxValue") {
894
+ value = Math.max(value, this.minValue);
895
+ }
896
+ if (prop === "minValue") {
897
+ value = Math.min(value, this.maxValue);
898
+ }
899
+ return value;
900
+ }
901
+ /**
902
+ * Translate a pixel position to value along the range
903
+ *
904
+ * @param x
905
+ * @internal
906
+ */
907
+ translate(x) {
908
+ const range = this.max - this.min;
909
+ const { left, width } = this.trackEl.getBoundingClientRect();
910
+ const percent = (x - left) / width;
911
+ const mirror = this.shouldMirror();
912
+ const clampedValue = this.clamp(this.min + range * (mirror ? 1 - percent : percent));
913
+ let value = Number(clampedValue.toFixed(decimalPlaces(this.step)));
914
+ if (this.snap && this.step) {
915
+ value = this.getClosestStep(value);
916
+ }
917
+ return value;
918
+ }
919
+ /**
920
+ * Get closest allowed value along stepped values
921
+ *
922
+ * @param num
923
+ * @internal
924
+ */
925
+ getClosestStep(num) {
926
+ num = Number(this.clamp(num).toFixed(decimalPlaces(this.step)));
927
+ if (this.step) {
928
+ const step = Math.round(num / this.step) * this.step;
929
+ num = Number(this.clamp(step).toFixed(decimalPlaces(this.step)));
930
+ }
931
+ return num;
932
+ }
933
+ getClosestHandle(valueX) {
934
+ return this.getDistanceX(this.maxHandle, valueX) > this.getDistanceX(this.minHandle, valueX)
935
+ ? this.minHandle
936
+ : this.maxHandle;
937
+ }
938
+ getDistanceX(el, valueX) {
939
+ return Math.abs(el.getBoundingClientRect().left - valueX);
940
+ }
941
+ getFontSizeForElement(element) {
942
+ return Number(window.getComputedStyle(element).getPropertyValue("font-size").match(/\d+/)[0]);
943
+ }
944
+ /**
945
+ * Get position of value along range as fractional value
946
+ *
947
+ * @param num
948
+ * @return {number} number in the unit interval [0,1]
949
+ * @internal
950
+ */
951
+ getUnitInterval(num) {
952
+ num = this.clamp(num);
953
+ const range = this.max - this.min;
954
+ return (num - this.min) / range;
955
+ }
956
+ adjustHostObscuredHandleLabel(name) {
957
+ const label = this.el.shadowRoot.querySelector(`.handle__label--${name}`);
958
+ const labelStatic = this.el.shadowRoot.querySelector(`.handle__label--${name}.static`);
959
+ const labelTransformed = this.el.shadowRoot.querySelector(`.handle__label--${name}.transformed`);
960
+ const labelStaticBounds = labelStatic.getBoundingClientRect();
961
+ const labelStaticOffset = this.getHostOffset(labelStaticBounds.left, labelStaticBounds.right);
962
+ label.style.transform = `translateX(${labelStaticOffset}px)`;
963
+ labelTransformed.style.transform = `translateX(${labelStaticOffset}px)`;
964
+ }
965
+ hyphenateCollidingRangeHandleLabels() {
966
+ const { shadowRoot } = this.el;
967
+ const mirror = this.shouldMirror();
968
+ const leftModifier = mirror ? "value" : "minValue";
969
+ const rightModifier = mirror ? "minValue" : "value";
970
+ const leftValueLabel = shadowRoot.querySelector(`.handle__label--${leftModifier}`);
971
+ const leftValueLabelStatic = shadowRoot.querySelector(`.handle__label--${leftModifier}.static`);
972
+ const leftValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${leftModifier}.transformed`);
973
+ const leftValueLabelStaticHostOffset = this.getHostOffset(leftValueLabelStatic.getBoundingClientRect().left, leftValueLabelStatic.getBoundingClientRect().right);
974
+ const rightValueLabel = shadowRoot.querySelector(`.handle__label--${rightModifier}`);
975
+ const rightValueLabelStatic = shadowRoot.querySelector(`.handle__label--${rightModifier}.static`);
976
+ const rightValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${rightModifier}.transformed`);
977
+ const rightValueLabelStaticHostOffset = this.getHostOffset(rightValueLabelStatic.getBoundingClientRect().left, rightValueLabelStatic.getBoundingClientRect().right);
978
+ const labelFontSize = this.getFontSizeForElement(leftValueLabel);
979
+ const labelTransformedOverlap = this.getRangeLabelOverlap(leftValueLabelTransformed, rightValueLabelTransformed);
980
+ const hyphenLabel = leftValueLabel;
981
+ const labelOffset = labelFontSize / 2;
982
+ if (labelTransformedOverlap > 0) {
983
+ hyphenLabel.classList.add("hyphen", "hyphen--wrap");
984
+ if (rightValueLabelStaticHostOffset === 0 && leftValueLabelStaticHostOffset === 0) {
985
+ // Neither handle overlaps the host boundary
986
+ let leftValueLabelTranslate = labelTransformedOverlap / 2 - labelOffset;
987
+ leftValueLabelTranslate =
988
+ Math.sign(leftValueLabelTranslate) === -1
989
+ ? Math.abs(leftValueLabelTranslate)
990
+ : -leftValueLabelTranslate;
991
+ const leftValueLabelTransformedHostOffset = this.getHostOffset(leftValueLabelTransformed.getBoundingClientRect().left +
992
+ leftValueLabelTranslate -
993
+ labelOffset, leftValueLabelTransformed.getBoundingClientRect().right +
994
+ leftValueLabelTranslate -
995
+ labelOffset);
996
+ let rightValueLabelTranslate = labelTransformedOverlap / 2;
997
+ const rightValueLabelTransformedHostOffset = this.getHostOffset(rightValueLabelTransformed.getBoundingClientRect().left + rightValueLabelTranslate, rightValueLabelTransformed.getBoundingClientRect().right + rightValueLabelTranslate);
998
+ if (leftValueLabelTransformedHostOffset !== 0) {
999
+ leftValueLabelTranslate += leftValueLabelTransformedHostOffset;
1000
+ rightValueLabelTranslate += leftValueLabelTransformedHostOffset;
1001
+ }
1002
+ if (rightValueLabelTransformedHostOffset !== 0) {
1003
+ leftValueLabelTranslate += rightValueLabelTransformedHostOffset;
1004
+ rightValueLabelTranslate += rightValueLabelTransformedHostOffset;
1005
+ }
1006
+ leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
1007
+ leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
1008
+ rightValueLabel.style.transform = `translateX(${rightValueLabelTranslate}px)`;
1009
+ rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelTranslate}px)`;
1010
+ }
1011
+ else if (leftValueLabelStaticHostOffset > 0 || rightValueLabelStaticHostOffset > 0) {
1012
+ // labels overlap host boundary on the left side
1013
+ leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset + labelOffset}px)`;
1014
+ rightValueLabel.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
1015
+ rightValueLabelTransformed.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
1016
+ }
1017
+ else if (leftValueLabelStaticHostOffset < 0 || rightValueLabelStaticHostOffset < 0) {
1018
+ // labels overlap host boundary on the right side
1019
+ let leftValueLabelTranslate = Math.abs(leftValueLabelStaticHostOffset) + labelTransformedOverlap - labelOffset;
1020
+ leftValueLabelTranslate =
1021
+ Math.sign(leftValueLabelTranslate) === -1
1022
+ ? Math.abs(leftValueLabelTranslate)
1023
+ : -leftValueLabelTranslate;
1024
+ leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
1025
+ leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
1026
+ }
1027
+ }
1028
+ else {
1029
+ hyphenLabel.classList.remove("hyphen", "hyphen--wrap");
1030
+ leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
1031
+ leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
1032
+ rightValueLabel.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
1033
+ rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
1034
+ }
1035
+ }
1036
+ /**
1037
+ * Hides bounding tick labels that are obscured by either handle.
1038
+ */
1039
+ hideObscuredBoundingTickLabels() {
1040
+ const valueIsRange = isRange(this.value);
1041
+ if (!this.hasHistogram && !valueIsRange && !this.labelHandles && !this.precise) {
1042
+ return;
1043
+ }
1044
+ if (!this.hasHistogram && !valueIsRange && this.labelHandles && !this.precise) {
1045
+ return;
1046
+ }
1047
+ if (!this.hasHistogram && !valueIsRange && !this.labelHandles && this.precise) {
1048
+ return;
1049
+ }
1050
+ if (!this.hasHistogram && !valueIsRange && this.labelHandles && this.precise) {
1051
+ return;
1052
+ }
1053
+ if (!this.hasHistogram && valueIsRange && !this.precise) {
1054
+ return;
1055
+ }
1056
+ if (this.hasHistogram && !this.precise && !this.labelHandles) {
1057
+ return;
1058
+ }
1059
+ const minHandle = this.el.shadowRoot.querySelector(".thumb--minValue");
1060
+ const maxHandle = this.el.shadowRoot.querySelector(".thumb--value");
1061
+ const minTickLabel = this.el.shadowRoot.querySelector(".tick__label--min");
1062
+ const maxTickLabel = this.el.shadowRoot.querySelector(".tick__label--max");
1063
+ if (!minHandle && maxHandle && minTickLabel && maxTickLabel) {
1064
+ minTickLabel.style.opacity = this.isMinTickLabelObscured(minTickLabel, maxHandle) ? "0" : "1";
1065
+ maxTickLabel.style.opacity = this.isMaxTickLabelObscured(maxTickLabel, maxHandle) ? "0" : "1";
1066
+ }
1067
+ if (minHandle && maxHandle && minTickLabel && maxTickLabel) {
1068
+ minTickLabel.style.opacity =
1069
+ this.isMinTickLabelObscured(minTickLabel, minHandle) ||
1070
+ this.isMinTickLabelObscured(minTickLabel, maxHandle)
1071
+ ? "0"
1072
+ : "1";
1073
+ maxTickLabel.style.opacity =
1074
+ this.isMaxTickLabelObscured(maxTickLabel, minHandle) ||
1075
+ (this.isMaxTickLabelObscured(maxTickLabel, maxHandle) && this.hasHistogram)
1076
+ ? "0"
1077
+ : "1";
1078
+ }
1079
+ }
1080
+ /**
1081
+ * Returns an integer representing the number of pixels to offset on the left or right side based on desired position behavior.
1082
+ *
1083
+ * @param leftBounds
1084
+ * @param rightBounds
1085
+ * @internal
1086
+ */
1087
+ getHostOffset(leftBounds, rightBounds) {
1088
+ const hostBounds = this.el.getBoundingClientRect();
1089
+ const buffer = 7;
1090
+ if (leftBounds + buffer < hostBounds.left) {
1091
+ return hostBounds.left - leftBounds - buffer;
1092
+ }
1093
+ if (rightBounds - buffer > hostBounds.right) {
1094
+ return -(rightBounds - hostBounds.right) + buffer;
1095
+ }
1096
+ return 0;
1097
+ }
1098
+ /**
1099
+ * Returns an integer representing the number of pixels that the two given span elements are overlapping, taking into account
1100
+ * a space in between the two spans equal to the font-size set on them to account for the space needed to render a hyphen.
1101
+ *
1102
+ * @param leftLabel
1103
+ * @param rightLabel
1104
+ */
1105
+ getRangeLabelOverlap(leftLabel, rightLabel) {
1106
+ const leftLabelBounds = leftLabel.getBoundingClientRect();
1107
+ const rightLabelBounds = rightLabel.getBoundingClientRect();
1108
+ const leftLabelFontSize = this.getFontSizeForElement(leftLabel);
1109
+ const rangeLabelOverlap = leftLabelBounds.right + leftLabelFontSize - rightLabelBounds.left;
1110
+ return Math.max(rangeLabelOverlap, 0);
1111
+ }
1112
+ /**
1113
+ * Returns a boolean value representing if the minLabel span element is obscured (being overlapped) by the given handle div element.
1114
+ *
1115
+ * @param minLabel
1116
+ * @param handle
1117
+ */
1118
+ isMinTickLabelObscured(minLabel, handle) {
1119
+ const minLabelBounds = minLabel.getBoundingClientRect();
1120
+ const handleBounds = handle.getBoundingClientRect();
1121
+ return intersects(minLabelBounds, handleBounds);
1122
+ }
1123
+ /**
1124
+ * Returns a boolean value representing if the maxLabel span element is obscured (being overlapped) by the given handle div element.
1125
+ *
1126
+ * @param maxLabel
1127
+ * @param handle
1128
+ */
1129
+ isMaxTickLabelObscured(maxLabel, handle) {
1130
+ const maxLabelBounds = maxLabel.getBoundingClientRect();
1131
+ const handleBounds = handle.getBoundingClientRect();
1132
+ return intersects(maxLabelBounds, handleBounds);
1133
+ }
1134
+ static get delegatesFocus() { return true; }
1135
+ get el() { return getElement(this); }
1136
+ static get watchers() { return {
1137
+ "histogram": ["histogramWatcher"],
1138
+ "ticks": ["ticksWatcher"],
1139
+ "value": ["valueHandler"],
1140
+ "minValue": ["minMaxValueHandler"],
1141
+ "maxValue": ["minMaxValueHandler"]
1142
+ }; }
1143
+ };
1144
1144
  Slider.style = sliderCss;
1145
1145
 
1146
1146
  const mapDrawToolsCss = ":host{display:block}.border{outline:1px solid var(--calcite-ui-border-input)}.div-visible{display:inherit}.div-not-visible{display:none !important}.padding-top-1-2{padding-top:.5rem}.main-label{display:flex;float:left}html[dir=\"rtl\"] .main-label{display:flex;float:right}.margin-top-1{margin-top:1rem}.border-left{border-left:1px solid rgba(110,110,110,.3)}.border-left[dir=\"rtl\"]{border-right:1px solid rgba(110,110,110,.3)}.esri-widget{box-sizing:border-box;color:#323232;font-size:14px;font-family:\"Avenir Next\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:1.3em;background-color:#fff;--esri-widget-padding-v:12px;--esri-widget-padding-h:15px;--esri-widget-padding:var(--esri-widget-padding-v) var(--esri-widget-padding-h)}.esri-sketch__panel{align-items:center;display:flex;flex-flow:row wrap;padding:0;justify-content:flex-start !important}.esri-sketch__section{align-items:center;display:flex;flex-flow:row wrap;padding:0 7px;margin:6px 0}";
1147
1147
 
1148
- const MapDrawTools = class {
1149
- constructor(hostRef) {
1150
- registerInstance(this, hostRef);
1151
- this.selectionLoadingChange = createEvent(this, "selectionLoadingChange", 7);
1152
- this.sketchGraphicsChange = createEvent(this, "sketchGraphicsChange", 7);
1153
- this.drawUndo = createEvent(this, "drawUndo", 7);
1154
- this.drawRedo = createEvent(this, "drawRedo", 7);
1155
- this.active = false;
1156
- this.drawMode = EDrawMode.SKETCH;
1157
- this.editGraphicsEnabled = true;
1158
- this.graphics = undefined;
1159
- this.mapView = undefined;
1160
- this.pointSymbol = undefined;
1161
- this.polylineSymbol = undefined;
1162
- this.polygonSymbol = undefined;
1163
- this.redoEnabled = false;
1164
- this.undoEnabled = false;
1165
- this._translations = undefined;
1166
- this._selectionMode = undefined;
1167
- }
1168
- //--------------------------------------------------------------------------
1169
- //
1170
- // Watch handlers
1171
- //
1172
- //--------------------------------------------------------------------------
1173
- /**
1174
- * Called each time the graphics prop is changed.
1175
- */
1176
- graphicsWatchHandler(v, oldV) {
1177
- if (v && v.length > 0 && JSON.stringify(v) !== JSON.stringify(oldV) && this._sketchGraphicsLayer) {
1178
- this._updateGraphicsSymbols(v);
1179
- this._sketchGraphicsLayer.removeAll();
1180
- this._sketchGraphicsLayer.addMany(v);
1181
- }
1182
- }
1183
- /**
1184
- * Called each time the mapView prop is changed.
1185
- */
1186
- mapViewWatchHandler(v, oldV) {
1187
- if (v && v !== oldV) {
1188
- this._init();
1189
- }
1190
- }
1191
- //--------------------------------------------------------------------------
1192
- //
1193
- // Methods (public)
1194
- //
1195
- //--------------------------------------------------------------------------
1196
- /**
1197
- * Clears the user drawn graphics
1198
- *
1199
- * @returns Promise that resolves when the operation is complete
1200
- */
1201
- async clear() {
1202
- this._clearSketch();
1203
- }
1204
- /**
1205
- * Set the sketch widget to update mode with the current graphic
1206
- *
1207
- * @returns Promise that resolves when the operation is complete
1208
- */
1209
- async updateGraphics() {
1210
- this._updateGraphics();
1211
- }
1212
- //--------------------------------------------------------------------------
1213
- //
1214
- // Functions (lifecycle)
1215
- //
1216
- //--------------------------------------------------------------------------
1217
- /**
1218
- * StencilJS: Called once just after the component is first connected to the DOM.
1219
- *
1220
- * @returns Promise when complete
1221
- */
1222
- async componentWillLoad() {
1223
- await this._getTranslations();
1224
- await this._initModules();
1225
- }
1226
- /**
1227
- * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
1228
- *
1229
- * @returns Promise when complete
1230
- */
1231
- componentDidLoad() {
1232
- this._init();
1233
- }
1234
- /**
1235
- * StencilJS: Called every time the component is disconnected from the DOM
1236
- *
1237
- * @returns void
1238
- */
1239
- disconnectedCallback() {
1240
- // cancel any existing create operations
1241
- this._sketchWidget.cancel();
1242
- // clear any current temp sketch
1243
- this._clearSketch();
1244
- }
1245
- /**
1246
- * Renders the component.
1247
- */
1248
- render() {
1249
- const containerClass = this.drawMode === EDrawMode.SKETCH ?
1250
- "border" : "border esri-widget esri-sketch__panel";
1251
- const undoRedoClass = this.drawMode === EDrawMode.SKETCH ?
1252
- "display-none" : "esri-widget esri-sketch__panel border-left esri-sketch__section";
1253
- return (h(Host, null, h("div", { class: containerClass }, h("div", { ref: (el) => { this._sketchElement = el; } }), h("div", { class: undoRedoClass }, h("calcite-action", { disabled: !this.undoEnabled, icon: "undo", onClick: () => this._undo(), scale: "s", text: this._translations.undo }), h("calcite-action", { disabled: !this.redoEnabled, icon: "redo", onClick: () => this._redo(), scale: "s", text: this._translations.redo })))));
1254
- }
1255
- //--------------------------------------------------------------------------
1256
- //
1257
- // Functions (protected)
1258
- //
1259
- //--------------------------------------------------------------------------
1260
- /**
1261
- * Load esri javascript api modules
1262
- *
1263
- * @returns Promise resolving when function is done
1264
- *
1265
- * @protected
1266
- */
1267
- async _initModules() {
1268
- const [GraphicsLayer, Sketch, SketchViewModel] = await loadModules([
1269
- "esri/layers/GraphicsLayer",
1270
- "esri/widgets/Sketch",
1271
- "esri/widgets/Sketch/SketchViewModel"
1272
- ]);
1273
- this.GraphicsLayer = GraphicsLayer;
1274
- this.Sketch = Sketch;
1275
- this.SketchViewModel = SketchViewModel;
1276
- }
1277
- /**
1278
- * Initialize the graphics layer and the tools that support creating new graphics
1279
- *
1280
- * @protected
1281
- */
1282
- _init() {
1283
- if (this.mapView && this._sketchElement) {
1284
- this._initGraphicsLayer();
1285
- this._initSketch();
1286
- }
1287
- }
1288
- /**
1289
- * Initialize the graphics layer
1290
- *
1291
- * @returns Promise when the operation has completed
1292
- * @protected
1293
- */
1294
- _initGraphicsLayer() {
1295
- const title = this._translations.sketchLayer;
1296
- const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
1297
- if (sketchIndex > -1) {
1298
- this._sketchGraphicsLayer = this.mapView.map.layers.getItemAt(sketchIndex);
1299
- }
1300
- else {
1301
- this._sketchGraphicsLayer = new this.GraphicsLayer({ title, listMode: "hide" });
1302
- state.managedLayers.push(title);
1303
- this.mapView.map.layers.add(this._sketchGraphicsLayer);
1304
- }
1305
- if (this.graphics && this.graphics.length > 0) {
1306
- this._sketchGraphicsLayer.addMany(this.graphics);
1307
- }
1308
- }
1309
- /**
1310
- * Initialize the skecth widget
1311
- *
1312
- * @protected
1313
- */
1314
- _initSketch() {
1315
- const sketchOptions = {
1316
- layer: this._sketchGraphicsLayer,
1317
- view: this.mapView,
1318
- defaultCreateOptions: {
1319
- mode: "hybrid"
1320
- },
1321
- defaultUpdateOptions: {
1322
- preserveAspectRatio: false,
1323
- enableScaling: false,
1324
- enableRotation: false,
1325
- tool: "reshape",
1326
- toggleToolOnClick: false
1327
- }
1328
- };
1329
- this._sketchWidget = new this.Sketch(Object.assign(Object.assign({}, sketchOptions), { container: this._sketchElement, creationMode: "single", visibleElements: {
1330
- duplicateButton: false,
1331
- selectionTools: {
1332
- "lasso-selection": false,
1333
- "rectangle-selection": false
1334
- }, createTools: {
1335
- circle: false
1336
- },
1337
- undoRedoMenu: false,
1338
- settingsMenu: this.drawMode === EDrawMode.SKETCH
1339
- } }));
1340
- this._sketchViewModel = new this.SketchViewModel(Object.assign({}, sketchOptions));
1341
- this._sketchWidget.viewModel.polylineSymbol = this.polylineSymbol;
1342
- this._sketchWidget.viewModel.pointSymbol = this.pointSymbol;
1343
- this._sketchWidget.viewModel.polygonSymbol = this.polygonSymbol;
1344
- let forceCreate = false;
1345
- this._sketchWidget.on("create", (evt) => {
1346
- if (evt.state === "complete") {
1347
- this.graphics = [evt.graphic];
1348
- this.sketchGraphicsChange.emit({
1349
- graphics: this.graphics,
1350
- useOIDs: false
1351
- });
1352
- if (this.drawMode === EDrawMode.REFINE) {
1353
- // calling create during complete will force the cancel event
1354
- // https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#event-create
1355
- forceCreate = true;
1356
- this._sketchWidget.viewModel.create(evt.tool);
1357
- }
1358
- }
1359
- if (evt.state === "cancel" && this.drawMode === EDrawMode.REFINE && forceCreate) {
1360
- forceCreate = !forceCreate;
1361
- this._sketchWidget.viewModel.create(evt.tool);
1362
- }
1363
- });
1364
- this._sketchWidget.on("update", (evt) => {
1365
- var _a;
1366
- if (!this.editGraphicsEnabled) {
1367
- this._sketchWidget.viewModel.cancel();
1368
- this._sketchViewModel.cancel();
1369
- }
1370
- else {
1371
- const eventType = (_a = evt === null || evt === void 0 ? void 0 : evt.toolEventInfo) === null || _a === void 0 ? void 0 : _a.type;
1372
- if (eventType === "reshape-stop" || eventType === "move-stop") {
1373
- this.graphics = evt.graphics;
1374
- this.sketchGraphicsChange.emit({
1375
- graphics: this.graphics,
1376
- useOIDs: false
1377
- });
1378
- }
1379
- }
1380
- });
1381
- this._sketchWidget.on("delete", () => {
1382
- this.graphics = [];
1383
- this.sketchGraphicsChange.emit({
1384
- graphics: this.graphics,
1385
- useOIDs: false
1386
- });
1387
- });
1388
- this._sketchWidget.on("undo", (evt) => {
1389
- this.graphics = evt.graphics;
1390
- this.sketchGraphicsChange.emit({
1391
- graphics: this.graphics,
1392
- useOIDs: false
1393
- });
1394
- });
1395
- this._sketchWidget.on("redo", (evt) => {
1396
- this.graphics = evt.graphics;
1397
- this.sketchGraphicsChange.emit({
1398
- graphics: this.graphics,
1399
- useOIDs: false
1400
- });
1401
- });
1402
- }
1403
- /**
1404
- * Clear any stored graphics and remove all graphics from the graphics layer
1405
- *
1406
- * @protected
1407
- */
1408
- _clearSketch() {
1409
- var _a;
1410
- this._sketchWidget.viewModel.cancel();
1411
- this.graphics = [];
1412
- (_a = this._sketchGraphicsLayer) === null || _a === void 0 ? void 0 : _a.removeAll();
1413
- }
1414
- /**
1415
- * Emit the undo event
1416
- *
1417
- * @protected
1418
- */
1419
- _undo() {
1420
- this.drawUndo.emit();
1421
- }
1422
- /**
1423
- * Emit the undo event
1424
- *
1425
- * @protected
1426
- */
1427
- _redo() {
1428
- this.drawRedo.emit();
1429
- }
1430
- /**
1431
- * Set the sketch widget to update mode with the current graphic
1432
- *
1433
- * reshape tool only supports a single graphic
1434
- *
1435
- * @protected
1436
- */
1437
- _updateGraphics() {
1438
- setTimeout(() => {
1439
- if (this.graphics.length === 1) {
1440
- void this._sketchWidget.update(this.graphics, {
1441
- tool: "reshape",
1442
- enableRotation: false,
1443
- enableScaling: false,
1444
- preserveAspectRatio: false,
1445
- toggleToolOnClick: false
1446
- });
1447
- }
1448
- }, 100);
1449
- }
1450
- /**
1451
- * Any time graphics are added update the symbology so they will always be consistent
1452
- * regardless of where they are from.
1453
- * https://github.com/Esri/solutions-components/issues/246
1454
- *
1455
- * reshape tool only supports a single graphic
1456
- *
1457
- * @protected
1458
- */
1459
- _updateGraphicsSymbols(graphics) {
1460
- // graphics will only be of one gemetry type
1461
- const graphic = graphics[0];
1462
- const type = graphic.geometry.type;
1463
- const symbol = type === "point" ? this.pointSymbol :
1464
- type === "polyline" ? this.polylineSymbol :
1465
- type === "polygon" ? this.polygonSymbol : undefined;
1466
- if (symbol) {
1467
- graphics.forEach(g => g.symbol = symbol);
1468
- }
1469
- }
1470
- /**
1471
- * Fetches the component's translations
1472
- *
1473
- * @protected
1474
- */
1475
- async _getTranslations() {
1476
- const translations = await getLocaleComponentStrings(this.el);
1477
- this._translations = translations[0];
1478
- }
1479
- get el() { return getElement(this); }
1480
- static get watchers() { return {
1481
- "graphics": ["graphicsWatchHandler"],
1482
- "mapView": ["mapViewWatchHandler"]
1483
- }; }
1484
- };
1148
+ const MapDrawTools = class {
1149
+ constructor(hostRef) {
1150
+ registerInstance(this, hostRef);
1151
+ this.selectionLoadingChange = createEvent(this, "selectionLoadingChange", 7);
1152
+ this.sketchGraphicsChange = createEvent(this, "sketchGraphicsChange", 7);
1153
+ this.drawUndo = createEvent(this, "drawUndo", 7);
1154
+ this.drawRedo = createEvent(this, "drawRedo", 7);
1155
+ this.active = false;
1156
+ this.drawMode = EDrawMode.SKETCH;
1157
+ this.editGraphicsEnabled = true;
1158
+ this.graphics = undefined;
1159
+ this.mapView = undefined;
1160
+ this.pointSymbol = undefined;
1161
+ this.polylineSymbol = undefined;
1162
+ this.polygonSymbol = undefined;
1163
+ this.redoEnabled = false;
1164
+ this.undoEnabled = false;
1165
+ this._translations = undefined;
1166
+ this._selectionMode = undefined;
1167
+ }
1168
+ //--------------------------------------------------------------------------
1169
+ //
1170
+ // Watch handlers
1171
+ //
1172
+ //--------------------------------------------------------------------------
1173
+ /**
1174
+ * Called each time the graphics prop is changed.
1175
+ */
1176
+ graphicsWatchHandler(v, oldV) {
1177
+ if (v && v.length > 0 && JSON.stringify(v) !== JSON.stringify(oldV) && this._sketchGraphicsLayer) {
1178
+ this._updateGraphicsSymbols(v);
1179
+ this._sketchGraphicsLayer.removeAll();
1180
+ this._sketchGraphicsLayer.addMany(v);
1181
+ }
1182
+ }
1183
+ /**
1184
+ * Called each time the mapView prop is changed.
1185
+ */
1186
+ mapViewWatchHandler(v, oldV) {
1187
+ if (v && v !== oldV) {
1188
+ this._init();
1189
+ }
1190
+ }
1191
+ //--------------------------------------------------------------------------
1192
+ //
1193
+ // Methods (public)
1194
+ //
1195
+ //--------------------------------------------------------------------------
1196
+ /**
1197
+ * Clears the user drawn graphics
1198
+ *
1199
+ * @returns Promise that resolves when the operation is complete
1200
+ */
1201
+ async clear() {
1202
+ this._clearSketch();
1203
+ }
1204
+ /**
1205
+ * Set the sketch widget to update mode with the current graphic
1206
+ *
1207
+ * @returns Promise that resolves when the operation is complete
1208
+ */
1209
+ async updateGraphics() {
1210
+ this._updateGraphics();
1211
+ }
1212
+ //--------------------------------------------------------------------------
1213
+ //
1214
+ // Functions (lifecycle)
1215
+ //
1216
+ //--------------------------------------------------------------------------
1217
+ /**
1218
+ * StencilJS: Called once just after the component is first connected to the DOM.
1219
+ *
1220
+ * @returns Promise when complete
1221
+ */
1222
+ async componentWillLoad() {
1223
+ await this._getTranslations();
1224
+ await this._initModules();
1225
+ }
1226
+ /**
1227
+ * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
1228
+ *
1229
+ * @returns Promise when complete
1230
+ */
1231
+ componentDidLoad() {
1232
+ this._init();
1233
+ }
1234
+ /**
1235
+ * StencilJS: Called every time the component is disconnected from the DOM
1236
+ *
1237
+ * @returns void
1238
+ */
1239
+ disconnectedCallback() {
1240
+ // cancel any existing create operations
1241
+ this._sketchWidget.cancel();
1242
+ // clear any current temp sketch
1243
+ this._clearSketch();
1244
+ }
1245
+ /**
1246
+ * Renders the component.
1247
+ */
1248
+ render() {
1249
+ const containerClass = this.drawMode === EDrawMode.SKETCH ?
1250
+ "border" : "border esri-widget esri-sketch__panel";
1251
+ const undoRedoClass = this.drawMode === EDrawMode.SKETCH ?
1252
+ "display-none" : "esri-widget esri-sketch__panel border-left esri-sketch__section";
1253
+ return (h(Host, null, h("div", { class: containerClass }, h("div", { ref: (el) => { this._sketchElement = el; } }), h("div", { class: undoRedoClass }, h("calcite-action", { disabled: !this.undoEnabled, icon: "undo", onClick: () => this._undo(), scale: "s", text: this._translations.undo }), h("calcite-action", { disabled: !this.redoEnabled, icon: "redo", onClick: () => this._redo(), scale: "s", text: this._translations.redo })))));
1254
+ }
1255
+ //--------------------------------------------------------------------------
1256
+ //
1257
+ // Functions (protected)
1258
+ //
1259
+ //--------------------------------------------------------------------------
1260
+ /**
1261
+ * Load esri javascript api modules
1262
+ *
1263
+ * @returns Promise resolving when function is done
1264
+ *
1265
+ * @protected
1266
+ */
1267
+ async _initModules() {
1268
+ const [GraphicsLayer, Sketch, SketchViewModel] = await loadModules([
1269
+ "esri/layers/GraphicsLayer",
1270
+ "esri/widgets/Sketch",
1271
+ "esri/widgets/Sketch/SketchViewModel"
1272
+ ]);
1273
+ this.GraphicsLayer = GraphicsLayer;
1274
+ this.Sketch = Sketch;
1275
+ this.SketchViewModel = SketchViewModel;
1276
+ }
1277
+ /**
1278
+ * Initialize the graphics layer and the tools that support creating new graphics
1279
+ *
1280
+ * @protected
1281
+ */
1282
+ _init() {
1283
+ if (this.mapView && this._sketchElement) {
1284
+ this._initGraphicsLayer();
1285
+ this._initSketch();
1286
+ }
1287
+ }
1288
+ /**
1289
+ * Initialize the graphics layer
1290
+ *
1291
+ * @returns Promise when the operation has completed
1292
+ * @protected
1293
+ */
1294
+ _initGraphicsLayer() {
1295
+ const title = this._translations.sketchLayer;
1296
+ const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
1297
+ if (sketchIndex > -1) {
1298
+ this._sketchGraphicsLayer = this.mapView.map.layers.getItemAt(sketchIndex);
1299
+ }
1300
+ else {
1301
+ this._sketchGraphicsLayer = new this.GraphicsLayer({ title, listMode: "hide" });
1302
+ state.managedLayers.push(title);
1303
+ this.mapView.map.layers.add(this._sketchGraphicsLayer);
1304
+ }
1305
+ if (this.graphics && this.graphics.length > 0) {
1306
+ this._sketchGraphicsLayer.addMany(this.graphics);
1307
+ }
1308
+ }
1309
+ /**
1310
+ * Initialize the skecth widget
1311
+ *
1312
+ * @protected
1313
+ */
1314
+ _initSketch() {
1315
+ const sketchOptions = {
1316
+ layer: this._sketchGraphicsLayer,
1317
+ view: this.mapView,
1318
+ defaultCreateOptions: {
1319
+ mode: "hybrid"
1320
+ },
1321
+ defaultUpdateOptions: {
1322
+ preserveAspectRatio: false,
1323
+ enableScaling: false,
1324
+ enableRotation: false,
1325
+ tool: "reshape",
1326
+ toggleToolOnClick: false
1327
+ }
1328
+ };
1329
+ this._sketchWidget = new this.Sketch(Object.assign(Object.assign({}, sketchOptions), { container: this._sketchElement, creationMode: "single", visibleElements: {
1330
+ duplicateButton: false,
1331
+ selectionTools: {
1332
+ "lasso-selection": false,
1333
+ "rectangle-selection": false
1334
+ }, createTools: {
1335
+ circle: false
1336
+ },
1337
+ undoRedoMenu: false,
1338
+ settingsMenu: this.drawMode === EDrawMode.SKETCH
1339
+ } }));
1340
+ this._sketchViewModel = new this.SketchViewModel(Object.assign({}, sketchOptions));
1341
+ this._sketchWidget.viewModel.polylineSymbol = this.polylineSymbol;
1342
+ this._sketchWidget.viewModel.pointSymbol = this.pointSymbol;
1343
+ this._sketchWidget.viewModel.polygonSymbol = this.polygonSymbol;
1344
+ let forceCreate = false;
1345
+ this._sketchWidget.on("create", (evt) => {
1346
+ if (evt.state === "complete") {
1347
+ this.graphics = [evt.graphic];
1348
+ this.sketchGraphicsChange.emit({
1349
+ graphics: this.graphics,
1350
+ useOIDs: false
1351
+ });
1352
+ if (this.drawMode === EDrawMode.REFINE) {
1353
+ // calling create during complete will force the cancel event
1354
+ // https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#event-create
1355
+ forceCreate = true;
1356
+ this._sketchWidget.viewModel.create(evt.tool);
1357
+ }
1358
+ }
1359
+ if (evt.state === "cancel" && this.drawMode === EDrawMode.REFINE && forceCreate) {
1360
+ forceCreate = !forceCreate;
1361
+ this._sketchWidget.viewModel.create(evt.tool);
1362
+ }
1363
+ });
1364
+ this._sketchWidget.on("update", (evt) => {
1365
+ var _a;
1366
+ if (!this.editGraphicsEnabled) {
1367
+ this._sketchWidget.viewModel.cancel();
1368
+ this._sketchViewModel.cancel();
1369
+ }
1370
+ else {
1371
+ const eventType = (_a = evt === null || evt === void 0 ? void 0 : evt.toolEventInfo) === null || _a === void 0 ? void 0 : _a.type;
1372
+ if (eventType === "reshape-stop" || eventType === "move-stop") {
1373
+ this.graphics = evt.graphics;
1374
+ this.sketchGraphicsChange.emit({
1375
+ graphics: this.graphics,
1376
+ useOIDs: false
1377
+ });
1378
+ }
1379
+ }
1380
+ });
1381
+ this._sketchWidget.on("delete", () => {
1382
+ this.graphics = [];
1383
+ this.sketchGraphicsChange.emit({
1384
+ graphics: this.graphics,
1385
+ useOIDs: false
1386
+ });
1387
+ });
1388
+ this._sketchWidget.on("undo", (evt) => {
1389
+ this.graphics = evt.graphics;
1390
+ this.sketchGraphicsChange.emit({
1391
+ graphics: this.graphics,
1392
+ useOIDs: false
1393
+ });
1394
+ });
1395
+ this._sketchWidget.on("redo", (evt) => {
1396
+ this.graphics = evt.graphics;
1397
+ this.sketchGraphicsChange.emit({
1398
+ graphics: this.graphics,
1399
+ useOIDs: false
1400
+ });
1401
+ });
1402
+ }
1403
+ /**
1404
+ * Clear any stored graphics and remove all graphics from the graphics layer
1405
+ *
1406
+ * @protected
1407
+ */
1408
+ _clearSketch() {
1409
+ var _a;
1410
+ this._sketchWidget.viewModel.cancel();
1411
+ this.graphics = [];
1412
+ (_a = this._sketchGraphicsLayer) === null || _a === void 0 ? void 0 : _a.removeAll();
1413
+ }
1414
+ /**
1415
+ * Emit the undo event
1416
+ *
1417
+ * @protected
1418
+ */
1419
+ _undo() {
1420
+ this.drawUndo.emit();
1421
+ }
1422
+ /**
1423
+ * Emit the undo event
1424
+ *
1425
+ * @protected
1426
+ */
1427
+ _redo() {
1428
+ this.drawRedo.emit();
1429
+ }
1430
+ /**
1431
+ * Set the sketch widget to update mode with the current graphic
1432
+ *
1433
+ * reshape tool only supports a single graphic
1434
+ *
1435
+ * @protected
1436
+ */
1437
+ _updateGraphics() {
1438
+ setTimeout(() => {
1439
+ if (this.graphics.length === 1) {
1440
+ void this._sketchWidget.update(this.graphics, {
1441
+ tool: "reshape",
1442
+ enableRotation: false,
1443
+ enableScaling: false,
1444
+ preserveAspectRatio: false,
1445
+ toggleToolOnClick: false
1446
+ });
1447
+ }
1448
+ }, 100);
1449
+ }
1450
+ /**
1451
+ * Any time graphics are added update the symbology so they will always be consistent
1452
+ * regardless of where they are from.
1453
+ * https://github.com/Esri/solutions-components/issues/246
1454
+ *
1455
+ * reshape tool only supports a single graphic
1456
+ *
1457
+ * @protected
1458
+ */
1459
+ _updateGraphicsSymbols(graphics) {
1460
+ // graphics will only be of one gemetry type
1461
+ const graphic = graphics[0];
1462
+ const type = graphic.geometry.type;
1463
+ const symbol = type === "point" ? this.pointSymbol :
1464
+ type === "polyline" ? this.polylineSymbol :
1465
+ type === "polygon" ? this.polygonSymbol : undefined;
1466
+ if (symbol) {
1467
+ graphics.forEach(g => g.symbol = symbol);
1468
+ }
1469
+ }
1470
+ /**
1471
+ * Fetches the component's translations
1472
+ *
1473
+ * @protected
1474
+ */
1475
+ async _getTranslations() {
1476
+ const translations = await getLocaleComponentStrings(this.el);
1477
+ this._translations = translations[0];
1478
+ }
1479
+ get el() { return getElement(this); }
1480
+ static get watchers() { return {
1481
+ "graphics": ["graphicsWatchHandler"],
1482
+ "mapView": ["mapViewWatchHandler"]
1483
+ }; }
1484
+ };
1485
1485
  MapDrawTools.style = mapDrawToolsCss;
1486
1486
 
1487
1487
  export { BufferTools as buffer_tools, InputMessage as calcite_input_message, Slider as calcite_slider, MapDrawTools as map_draw_tools };