@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
@@ -7,228 +7,228 @@
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- const index = require('./index-0e50040c.js');
11
- const loadModules = require('./loadModules-31cab7ac.js');
12
- const locale = require('./locale-d15cd743.js');
13
- const dom = require('./dom-c1807fc1.js');
14
- const guid = require('./guid-3abe3cc6.js');
15
- const form = require('./form-9d8ebf06.js');
16
- const interactive = require('./interactive-2fe0f43a.js');
17
- const key = require('./key-b8b55ea3.js');
18
- const label = require('./label-6e33e971.js');
19
- const loadable = require('./loadable-bac9cdd6.js');
20
- const locale$1 = require('./locale-c63a1b57.js');
21
- const math = require('./math-5132d9bd.js');
22
- const interfaces = require('./interfaces-d539e30c.js');
23
- const publicNotificationStore = require('./publicNotificationStore-55edd658.js');
10
+ const index = require('./index-6654298b.js');
11
+ const loadModules = require('./loadModules-ae7715f2.js');
12
+ const locale = require('./locale-b113c6b2.js');
13
+ const dom = require('./dom-d529bae8.js');
14
+ const guid = require('./guid-ca85ade0.js');
15
+ const form = require('./form-bcf49eae.js');
16
+ const interactive = require('./interactive-4e212b36.js');
17
+ const key = require('./key-b32a6438.js');
18
+ const label = require('./label-215c4af3.js');
19
+ const loadable = require('./loadable-6da743c6.js');
20
+ const locale$1 = require('./locale-477d8d51.js');
21
+ const math = require('./math-ef14a84a.js');
22
+ const interfaces = require('./interfaces-ad03ec39.js');
23
+ const publicNotificationStore = require('./publicNotificationStore-ec1bdd2d.js');
24
24
  require('./_commonjsHelpers-384729db.js');
25
- require('./resources-77713c2e.js');
26
- require('./observers-f5fa975b.js');
27
- require('./index-2b60e135.js');
25
+ require('./resources-b4b4b4fe.js');
26
+ require('./observers-20fe6f01.js');
27
+ require('./index-e1b1954f.js');
28
28
 
29
29
  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%}";
30
30
 
31
- const BufferTools = class {
32
- constructor(hostRef) {
33
- index.registerInstance(this, hostRef);
34
- this.bufferComplete = index.createEvent(this, "bufferComplete", 7);
35
- this.distanceChanged = index.createEvent(this, "distanceChanged", 7);
36
- this.unitChanged = index.createEvent(this, "unitChanged", 7);
37
- this.appearance = "text";
38
- this.distance = 0;
39
- this.geometries = [];
40
- this.max = undefined;
41
- this.min = 0;
42
- this.sliderTicks = 10;
43
- this.unionResults = true;
44
- this.unit = "meters";
45
- this.disabled = false;
46
- this._translations = undefined;
47
- }
48
- //--------------------------------------------------------------------------
49
- //
50
- // Watch handlers
51
- //
52
- //--------------------------------------------------------------------------
53
- /**
54
- * Called each time the geometries prop is changed.
55
- * Buffer each of the geometries.
56
- *
57
- */
58
- geometriesWatchHandler() {
59
- this._buffer();
60
- }
61
- disabledWatchHandler() {
62
- this._buffer();
63
- }
64
- //--------------------------------------------------------------------------
65
- //
66
- // Functions (lifecycle)
67
- //
68
- //--------------------------------------------------------------------------
69
- /**
70
- * StencilJS: Called once just after the component is first connected to the DOM.
71
- *
72
- * @returns Promise when complete
73
- */
74
- async componentWillLoad() {
75
- await this._getTranslations();
76
- await this._initModules();
77
- }
78
- /**
79
- * Renders the component.
80
- */
81
- render() {
82
- return (index.h(index.Host, null, this.appearance === "text" ? this._getTextBoxDisplay() : this._getSliderDisplay()));
83
- }
84
- //--------------------------------------------------------------------------
85
- //
86
- // Functions (protected)
87
- //
88
- //--------------------------------------------------------------------------
89
- /**
90
- * Load esri javascript api modules
91
- *
92
- * @returns Promise resolving when function is done
93
- *
94
- * @protected
95
- */
96
- async _initModules() {
97
- const [geometryEngine] = await loadModules.loadModules([
98
- "esri/geometry/geometryEngine"
99
- ]);
100
- this._geometryEngine = geometryEngine;
101
- }
102
- /**
103
- * Gets the nodes for each of the possible distance units
104
- *
105
- * @returns An array of option nodes
106
- *
107
- * @protected
108
- */
109
- _getUnits() {
110
- const units = {
111
- "feet": this._translations.feet,
112
- "meters": this._translations.meters,
113
- "miles": this._translations.miles,
114
- "kilometers": this._translations.kilometers
115
- };
116
- return Object.keys(units).map(u => {
117
- return (index.h("calcite-option", { label: units[u], selected: this.unit === u, value: u }));
118
- });
119
- }
120
- /**
121
- * Store the user defined distance value and create a buffer
122
- *
123
- * @param event the event from the calcite input control
124
- *
125
- * @protected
126
- */
127
- _setDistance(event) {
128
- const v = parseInt(event.target.value, 10);
129
- if (this.distance !== v && v >= this.min) {
130
- this.distanceChanged.emit({
131
- oldValue: this.distance,
132
- newValue: v
133
- });
134
- this.distance = v;
135
- if (this.distance > 0) {
136
- this._buffer();
137
- }
138
- else {
139
- this.bufferComplete.emit(undefined);
140
- }
141
- }
142
- }
143
- /**
144
- * Store the user defined unit value and create a buffer
145
- *
146
- * @protected
147
- */
148
- _setUnit(unit) {
149
- this.unitChanged.emit({
150
- oldValue: this.unit,
151
- newValue: unit
152
- });
153
- this.unit = unit;
154
- this._buffer();
155
- }
156
- /**
157
- * Create buffer geometry based on the user defined unit and distance
158
- *
159
- * @protected
160
- */
161
- _buffer() {
162
- if (!this.disabled) {
163
- if (this._bufferTimeout) {
164
- clearTimeout(this._bufferTimeout);
165
- }
166
- this._bufferTimeout = setTimeout(() => {
167
- var _a;
168
- // needs to be wgs 84 or Web Mercator
169
- if (((_a = this.geometries) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.unit && this.distance > 0) {
170
- const buffer = this._geometryEngine.geodesicBuffer(this.geometries, this.distance, this.unit, this.unionResults);
171
- this.bufferComplete.emit(buffer);
172
- }
173
- }, 400);
174
- }
175
- else {
176
- this.bufferComplete.emit(undefined);
177
- }
178
- }
179
- /**
180
- * Render distance and unit as calcite input and select controls
181
- * This option will be used when the "appearance" prop is set to "text"
182
- *
183
- * @returns a node with the supporting controls
184
- *
185
- * @protected
186
- */
187
- _getTextBoxDisplay() {
188
- return (index.h("div", { class: "c-container" }, index.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 }), index.h("calcite-select", { class: "flex-1 w-50", label: "label", onCalciteSelectChange: () => this._setUnit(this._unitElement.value), ref: (el) => { this._unitElement = el; } }, this._getUnits())));
189
- }
190
- /**
191
- * Render distance control as a slider
192
- * This option will be used when the "appearance" prop is set to "slider"
193
- *
194
- * @returns a node with the supporting control
195
- *
196
- * @protected
197
- */
198
- _getSliderDisplay() {
199
- return (index.h("div", null, index.h("calcite-slider", { labelHandles: true, max: this.max && this.max > 0 ? this.max : undefined, min: this.min, ticks: this.sliderTicks })));
200
- }
201
- /**
202
- * Fetches the component's translations
203
- *
204
- * @returns Promise when complete
205
- * @protected
206
- */
207
- async _getTranslations() {
208
- const messages = await locale.getLocaleComponentStrings(this.el);
209
- this._translations = messages[0];
210
- }
211
- /** Provides access to protected methods for unit testing.
212
- *
213
- * @param methodName Name of protected method to run
214
- * @param arg1 First argument to forward to method, e.g., for "_setDistance", `CustomEvent`
215
- * @returns
216
- */
217
- _testAccess(methodName, arg1) {
218
- switch (methodName) {
219
- case "_setUnit":
220
- return this._setUnit(arg1);
221
- case "_setDistance":
222
- return this._setDistance(arg1);
223
- }
224
- return null;
225
- }
226
- get el() { return index.getElement(this); }
227
- static get watchers() { return {
228
- "geometries": ["geometriesWatchHandler"],
229
- "disabled": ["disabledWatchHandler"]
230
- }; }
231
- };
31
+ const BufferTools = class {
32
+ constructor(hostRef) {
33
+ index.registerInstance(this, hostRef);
34
+ this.bufferComplete = index.createEvent(this, "bufferComplete", 7);
35
+ this.distanceChanged = index.createEvent(this, "distanceChanged", 7);
36
+ this.unitChanged = index.createEvent(this, "unitChanged", 7);
37
+ this.appearance = "text";
38
+ this.distance = 0;
39
+ this.geometries = [];
40
+ this.max = undefined;
41
+ this.min = 0;
42
+ this.sliderTicks = 10;
43
+ this.unionResults = true;
44
+ this.unit = "meters";
45
+ this.disabled = false;
46
+ this._translations = undefined;
47
+ }
48
+ //--------------------------------------------------------------------------
49
+ //
50
+ // Watch handlers
51
+ //
52
+ //--------------------------------------------------------------------------
53
+ /**
54
+ * Called each time the geometries prop is changed.
55
+ * Buffer each of the geometries.
56
+ *
57
+ */
58
+ geometriesWatchHandler() {
59
+ this._buffer();
60
+ }
61
+ disabledWatchHandler() {
62
+ this._buffer();
63
+ }
64
+ //--------------------------------------------------------------------------
65
+ //
66
+ // Functions (lifecycle)
67
+ //
68
+ //--------------------------------------------------------------------------
69
+ /**
70
+ * StencilJS: Called once just after the component is first connected to the DOM.
71
+ *
72
+ * @returns Promise when complete
73
+ */
74
+ async componentWillLoad() {
75
+ await this._getTranslations();
76
+ await this._initModules();
77
+ }
78
+ /**
79
+ * Renders the component.
80
+ */
81
+ render() {
82
+ return (index.h(index.Host, null, this.appearance === "text" ? this._getTextBoxDisplay() : this._getSliderDisplay()));
83
+ }
84
+ //--------------------------------------------------------------------------
85
+ //
86
+ // Functions (protected)
87
+ //
88
+ //--------------------------------------------------------------------------
89
+ /**
90
+ * Load esri javascript api modules
91
+ *
92
+ * @returns Promise resolving when function is done
93
+ *
94
+ * @protected
95
+ */
96
+ async _initModules() {
97
+ const [geometryEngine] = await loadModules.loadModules([
98
+ "esri/geometry/geometryEngine"
99
+ ]);
100
+ this._geometryEngine = geometryEngine;
101
+ }
102
+ /**
103
+ * Gets the nodes for each of the possible distance units
104
+ *
105
+ * @returns An array of option nodes
106
+ *
107
+ * @protected
108
+ */
109
+ _getUnits() {
110
+ const units = {
111
+ "feet": this._translations.feet,
112
+ "meters": this._translations.meters,
113
+ "miles": this._translations.miles,
114
+ "kilometers": this._translations.kilometers
115
+ };
116
+ return Object.keys(units).map(u => {
117
+ return (index.h("calcite-option", { label: units[u], selected: this.unit === u, value: u }));
118
+ });
119
+ }
120
+ /**
121
+ * Store the user defined distance value and create a buffer
122
+ *
123
+ * @param event the event from the calcite input control
124
+ *
125
+ * @protected
126
+ */
127
+ _setDistance(event) {
128
+ const v = parseInt(event.target.value, 10);
129
+ if (this.distance !== v && v >= this.min) {
130
+ this.distanceChanged.emit({
131
+ oldValue: this.distance,
132
+ newValue: v
133
+ });
134
+ this.distance = v;
135
+ if (this.distance > 0) {
136
+ this._buffer();
137
+ }
138
+ else {
139
+ this.bufferComplete.emit(undefined);
140
+ }
141
+ }
142
+ }
143
+ /**
144
+ * Store the user defined unit value and create a buffer
145
+ *
146
+ * @protected
147
+ */
148
+ _setUnit(unit) {
149
+ this.unitChanged.emit({
150
+ oldValue: this.unit,
151
+ newValue: unit
152
+ });
153
+ this.unit = unit;
154
+ this._buffer();
155
+ }
156
+ /**
157
+ * Create buffer geometry based on the user defined unit and distance
158
+ *
159
+ * @protected
160
+ */
161
+ _buffer() {
162
+ if (!this.disabled) {
163
+ if (this._bufferTimeout) {
164
+ clearTimeout(this._bufferTimeout);
165
+ }
166
+ this._bufferTimeout = setTimeout(() => {
167
+ var _a;
168
+ // needs to be wgs 84 or Web Mercator
169
+ if (((_a = this.geometries) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.unit && this.distance > 0) {
170
+ const buffer = this._geometryEngine.geodesicBuffer(this.geometries, this.distance, this.unit, this.unionResults);
171
+ this.bufferComplete.emit(buffer);
172
+ }
173
+ }, 400);
174
+ }
175
+ else {
176
+ this.bufferComplete.emit(undefined);
177
+ }
178
+ }
179
+ /**
180
+ * Render distance and unit as calcite input and select controls
181
+ * This option will be used when the "appearance" prop is set to "text"
182
+ *
183
+ * @returns a node with the supporting controls
184
+ *
185
+ * @protected
186
+ */
187
+ _getTextBoxDisplay() {
188
+ return (index.h("div", { class: "c-container" }, index.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 }), index.h("calcite-select", { class: "flex-1 w-50", label: "label", onCalciteSelectChange: () => this._setUnit(this._unitElement.value), ref: (el) => { this._unitElement = el; } }, this._getUnits())));
189
+ }
190
+ /**
191
+ * Render distance control as a slider
192
+ * This option will be used when the "appearance" prop is set to "slider"
193
+ *
194
+ * @returns a node with the supporting control
195
+ *
196
+ * @protected
197
+ */
198
+ _getSliderDisplay() {
199
+ return (index.h("div", null, index.h("calcite-slider", { labelHandles: true, max: this.max && this.max > 0 ? this.max : undefined, min: this.min, ticks: this.sliderTicks })));
200
+ }
201
+ /**
202
+ * Fetches the component's translations
203
+ *
204
+ * @returns Promise when complete
205
+ * @protected
206
+ */
207
+ async _getTranslations() {
208
+ const messages = await locale.getLocaleComponentStrings(this.el);
209
+ this._translations = messages[0];
210
+ }
211
+ /** Provides access to protected methods for unit testing.
212
+ *
213
+ * @param methodName Name of protected method to run
214
+ * @param arg1 First argument to forward to method, e.g., for "_setDistance", `CustomEvent`
215
+ * @returns
216
+ */
217
+ _testAccess(methodName, arg1) {
218
+ switch (methodName) {
219
+ case "_setUnit":
220
+ return this._setUnit(arg1);
221
+ case "_setDistance":
222
+ return this._setDistance(arg1);
223
+ }
224
+ return null;
225
+ }
226
+ get el() { return index.getElement(this); }
227
+ static get watchers() { return {
228
+ "geometries": ["geometriesWatchHandler"],
229
+ "disabled": ["disabledWatchHandler"]
230
+ }; }
231
+ };
232
232
  BufferTools.style = bufferToolsCss;
233
233
 
234
234
  /*!
@@ -245,45 +245,45 @@ var StatusIconDefaults;
245
245
 
246
246
  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}";
247
247
 
248
- const InputMessage = class {
249
- constructor(hostRef) {
250
- index.registerInstance(this, hostRef);
251
- this.icon = undefined;
252
- this.iconFlipRtl = false;
253
- this.scale = "m";
254
- this.status = "idle";
255
- }
256
- handleIconEl() {
257
- this.requestedIcon = dom.setRequestedIcon(StatusIconDefaults, this.icon, this.status);
258
- }
259
- //--------------------------------------------------------------------------
260
- //
261
- // Lifecycle
262
- //
263
- //--------------------------------------------------------------------------
264
- connectedCallback() {
265
- this.requestedIcon = dom.setRequestedIcon(StatusIconDefaults, this.icon, this.status);
266
- }
267
- render() {
268
- const hidden = this.el.hidden;
269
- return (index.h(index.Host, { "calcite-hydrated-hidden": hidden }, this.renderIcon(this.requestedIcon), index.h("slot", null)));
270
- }
271
- //--------------------------------------------------------------------------
272
- //
273
- // Private Methods
274
- //
275
- //--------------------------------------------------------------------------
276
- renderIcon(iconName) {
277
- if (iconName) {
278
- return (index.h("calcite-icon", { class: "calcite-input-message-icon", flipRtl: this.iconFlipRtl, icon: iconName, scale: "s" }));
279
- }
280
- }
281
- get el() { return index.getElement(this); }
282
- static get watchers() { return {
283
- "status": ["handleIconEl"],
284
- "icon": ["handleIconEl"]
285
- }; }
286
- };
248
+ const InputMessage = class {
249
+ constructor(hostRef) {
250
+ index.registerInstance(this, hostRef);
251
+ this.icon = undefined;
252
+ this.iconFlipRtl = false;
253
+ this.scale = "m";
254
+ this.status = "idle";
255
+ }
256
+ handleIconEl() {
257
+ this.requestedIcon = dom.setRequestedIcon(StatusIconDefaults, this.icon, this.status);
258
+ }
259
+ //--------------------------------------------------------------------------
260
+ //
261
+ // Lifecycle
262
+ //
263
+ //--------------------------------------------------------------------------
264
+ connectedCallback() {
265
+ this.requestedIcon = dom.setRequestedIcon(StatusIconDefaults, this.icon, this.status);
266
+ }
267
+ render() {
268
+ const hidden = this.el.hidden;
269
+ return (index.h(index.Host, { "calcite-hydrated-hidden": hidden }, this.renderIcon(this.requestedIcon), index.h("slot", null)));
270
+ }
271
+ //--------------------------------------------------------------------------
272
+ //
273
+ // Private Methods
274
+ //
275
+ //--------------------------------------------------------------------------
276
+ renderIcon(iconName) {
277
+ if (iconName) {
278
+ return (index.h("calcite-icon", { class: "calcite-input-message-icon", flipRtl: this.iconFlipRtl, icon: iconName, scale: "s" }));
279
+ }
280
+ }
281
+ get el() { return index.getElement(this); }
282
+ static get watchers() { return {
283
+ "status": ["handleIconEl"],
284
+ "icon": ["handleIconEl"]
285
+ }; }
286
+ };
287
287
  InputMessage.style = inputMessageCss;
288
288
 
289
289
  /*!
@@ -302,1190 +302,1190 @@ const maxTickElementThreshold = 250;
302
302
 
303
303
  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}";
304
304
 
305
- function isRange(value) {
306
- return Array.isArray(value);
307
- }
308
- const Slider = class {
309
- constructor(hostRef) {
310
- index.registerInstance(this, hostRef);
311
- this.calciteSliderInput = index.createEvent(this, "calciteSliderInput", 6);
312
- this.calciteSliderChange = index.createEvent(this, "calciteSliderChange", 6);
313
- this.activeProp = "value";
314
- this.guid = `calcite-slider-${guid.guid()}`;
315
- this.dragUpdate = (event) => {
316
- if (this.disabled) {
317
- return;
318
- }
319
- event.preventDefault();
320
- if (this.dragProp) {
321
- const value = this.translate(event.clientX || event.pageX);
322
- if (isRange(this.value) && this.dragProp === "minMaxValue") {
323
- if (this.minValueDragRange && this.maxValueDragRange && this.minMaxValueRange) {
324
- const newMinValue = value - this.minValueDragRange;
325
- const newMaxValue = value + this.maxValueDragRange;
326
- if (newMaxValue <= this.max &&
327
- newMinValue >= this.min &&
328
- newMaxValue - newMinValue === this.minMaxValueRange) {
329
- this.setValue({
330
- minValue: this.clamp(newMinValue, "minValue"),
331
- maxValue: this.clamp(newMaxValue, "maxValue"),
332
- });
333
- }
334
- }
335
- else {
336
- this.minValueDragRange = value - this.minValue;
337
- this.maxValueDragRange = this.maxValue - value;
338
- this.minMaxValueRange = this.maxValue - this.minValue;
339
- }
340
- }
341
- else {
342
- this.setValue({ [this.dragProp]: this.clamp(value, this.dragProp) });
343
- }
344
- }
345
- };
346
- this.pointerUpDragEnd = (event) => {
347
- if (this.disabled || !dom.isPrimaryPointerButton(event)) {
348
- return;
349
- }
350
- this.dragEnd(event);
351
- };
352
- this.dragEnd = (event) => {
353
- if (this.disabled) {
354
- return;
355
- }
356
- this.removeDragListeners();
357
- this.focusActiveHandle(event.clientX);
358
- if (this.lastDragPropValue != this[this.dragProp]) {
359
- this.emitChange();
360
- }
361
- this.dragProp = null;
362
- this.lastDragPropValue = null;
363
- this.minValueDragRange = null;
364
- this.maxValueDragRange = null;
365
- this.minMaxValueRange = null;
366
- };
367
- /**
368
- * Set the reference of the track Element
369
- *
370
- * @internal
371
- * @param node
372
- */
373
- this.storeTrackRef = (node) => {
374
- this.trackEl = node;
375
- };
376
- /**
377
- * Returns a string representing the localized label value based if the groupSeparator prop is parsed.
378
- *
379
- * @param value
380
- */
381
- this.determineGroupSeparator = (value) => {
382
- if (typeof value === "number") {
383
- locale$1.numberStringFormatter.numberFormatOptions = {
384
- locale: this.effectiveLocale,
385
- numberingSystem: this.numberingSystem,
386
- useGrouping: this.groupSeparator,
387
- };
388
- return locale$1.numberStringFormatter.localize(value.toString());
389
- }
390
- };
391
- this.disabled = false;
392
- this.form = undefined;
393
- this.groupSeparator = false;
394
- this.hasHistogram = false;
395
- this.histogram = undefined;
396
- this.histogramStops = undefined;
397
- this.labelHandles = false;
398
- this.labelTicks = false;
399
- this.max = 100;
400
- this.maxLabel = undefined;
401
- this.maxValue = undefined;
402
- this.min = 0;
403
- this.minLabel = undefined;
404
- this.minValue = undefined;
405
- this.mirrored = false;
406
- this.name = undefined;
407
- this.numberingSystem = undefined;
408
- this.pageStep = undefined;
409
- this.precise = false;
410
- this.required = false;
411
- this.snap = false;
412
- this.step = 1;
413
- this.ticks = undefined;
414
- this.value = 0;
415
- this.scale = "m";
416
- this.effectiveLocale = "";
417
- this.minMaxValueRange = null;
418
- this.minValueDragRange = null;
419
- this.maxValueDragRange = null;
420
- this.tickValues = [];
421
- }
422
- histogramWatcher(newHistogram) {
423
- this.hasHistogram = !!newHistogram;
424
- }
425
- ticksWatcher() {
426
- this.tickValues = this.generateTickValues();
427
- }
428
- valueHandler() {
429
- this.setMinMaxFromValue();
430
- }
431
- minMaxValueHandler() {
432
- this.setValueFromMinMax();
433
- }
434
- //--------------------------------------------------------------------------
435
- //
436
- // Lifecycle
437
- //
438
- //--------------------------------------------------------------------------
439
- connectedCallback() {
440
- interactive.connectInteractive(this);
441
- locale$1.connectLocalized(this);
442
- this.setMinMaxFromValue();
443
- this.setValueFromMinMax();
444
- label.connectLabel(this);
445
- form.connectForm(this);
446
- }
447
- disconnectedCallback() {
448
- interactive.disconnectInteractive(this);
449
- label.disconnectLabel(this);
450
- form.disconnectForm(this);
451
- locale$1.disconnectLocalized(this);
452
- this.removeDragListeners();
453
- }
454
- componentWillLoad() {
455
- loadable.setUpLoadableComponent(this);
456
- if (!isRange(this.value)) {
457
- this.value = this.snap ? this.getClosestStep(this.value) : this.clamp(this.value);
458
- }
459
- this.ticksWatcher();
460
- this.histogramWatcher(this.histogram);
461
- form.afterConnectDefaultValueSet(this, this.value);
462
- }
463
- componentDidLoad() {
464
- loadable.setComponentLoaded(this);
465
- }
466
- componentDidRender() {
467
- if (this.labelHandles) {
468
- this.adjustHostObscuredHandleLabel("value");
469
- if (isRange(this.value)) {
470
- this.adjustHostObscuredHandleLabel("minValue");
471
- if (!(this.precise && !this.hasHistogram)) {
472
- this.hyphenateCollidingRangeHandleLabels();
473
- }
474
- }
475
- }
476
- this.hideObscuredBoundingTickLabels();
477
- interactive.updateHostInteraction(this);
478
- }
479
- render() {
480
- const id = this.el.id || this.guid;
481
- const maxProp = isRange(this.value) ? "maxValue" : "value";
482
- const value = isRange(this.value) ? this.maxValue : this.value;
483
- const displayedValue = this.determineGroupSeparator(value);
484
- const displayedMinValue = this.determineGroupSeparator(this.minValue);
485
- const min = this.minValue || this.min;
486
- const useMinValue = this.shouldUseMinValue();
487
- const minInterval = this.getUnitInterval(useMinValue ? this.minValue : min) * 100;
488
- const maxInterval = this.getUnitInterval(value) * 100;
489
- const mirror = this.shouldMirror();
490
- const leftThumbOffset = `${mirror ? 100 - minInterval : minInterval}%`;
491
- const rightThumbOffset = `${mirror ? maxInterval : 100 - maxInterval}%`;
492
- const valueIsRange = isRange(this.value);
493
- const handleLabelMinValueClasses = `${CSS.handleLabel} ${CSS.handleLabelMinValue}`;
494
- const handleLabelValueClasses = `${CSS.handleLabel} ${CSS.handleLabelValue}`;
495
- const handle = (index.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: {
496
- thumb: true,
497
- "thumb--value": true,
498
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
499
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
500
- // eslint-disable-next-line react/jsx-sort-props
501
- ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle" })));
502
- const labeledHandle = (index.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: {
503
- thumb: true,
504
- "thumb--value": true,
505
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
506
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
507
- // eslint-disable-next-line react/jsx-sort-props
508
- ref: (el) => (this.maxHandle = el) }, index.h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue), index.h("div", { class: "handle" })));
509
- const histogramLabeledHandle = (index.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: {
510
- thumb: true,
511
- "thumb--value": true,
512
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
513
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
514
- // eslint-disable-next-line react/jsx-sort-props
515
- ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue)));
516
- const preciseHandle = (index.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: {
517
- thumb: true,
518
- "thumb--value": true,
519
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
520
- "thumb--precise": true,
521
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
522
- // eslint-disable-next-line react/jsx-sort-props
523
- ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle" }), index.h("div", { class: "handle-extension" })));
524
- const histogramPreciseHandle = (index.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: {
525
- thumb: true,
526
- "thumb--value": true,
527
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
528
- "thumb--precise": true,
529
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
530
- // eslint-disable-next-line react/jsx-sort-props
531
- ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" })));
532
- const labeledPreciseHandle = (index.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: {
533
- thumb: true,
534
- "thumb--value": true,
535
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
536
- "thumb--precise": true,
537
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
538
- // eslint-disable-next-line react/jsx-sort-props
539
- ref: (el) => (this.maxHandle = el) }, index.h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue), index.h("div", { class: "handle" }), index.h("div", { class: "handle-extension" })));
540
- const histogramLabeledPreciseHandle = (index.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: {
541
- thumb: true,
542
- "thumb--value": true,
543
- "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
544
- "thumb--precise": true,
545
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
546
- // eslint-disable-next-line react/jsx-sort-props
547
- ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue)));
548
- const minHandle = (index.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: {
549
- thumb: true,
550
- "thumb--minValue": true,
551
- "thumb--active": this.dragProp === "minValue",
552
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
553
- // eslint-disable-next-line react/jsx-sort-props
554
- ref: (el) => (this.minHandle = el) }, index.h("div", { class: "handle" })));
555
- const minLabeledHandle = (index.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: {
556
- thumb: true,
557
- "thumb--minValue": true,
558
- "thumb--active": this.dragProp === "minValue",
559
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
560
- // eslint-disable-next-line react/jsx-sort-props
561
- ref: (el) => (this.minHandle = el) }, index.h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue), index.h("div", { class: "handle" })));
562
- const minHistogramLabeledHandle = (index.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: {
563
- thumb: true,
564
- "thumb--minValue": true,
565
- "thumb--active": this.dragProp === "minValue",
566
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
567
- // eslint-disable-next-line react/jsx-sort-props
568
- ref: (el) => (this.minHandle = el) }, index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue)));
569
- const minPreciseHandle = (index.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: {
570
- thumb: true,
571
- "thumb--minValue": true,
572
- "thumb--active": this.dragProp === "minValue",
573
- "thumb--precise": true,
574
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
575
- // eslint-disable-next-line react/jsx-sort-props
576
- ref: (el) => (this.minHandle = el) }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" })));
577
- const minLabeledPreciseHandle = (index.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: {
578
- thumb: true,
579
- "thumb--minValue": true,
580
- "thumb--active": this.dragProp === "minValue",
581
- "thumb--precise": true,
582
- }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
583
- // eslint-disable-next-line react/jsx-sort-props
584
- ref: (el) => (this.minHandle = el) }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue)));
585
- return (index.h(index.Host, { id: id, onTouchStart: this.handleTouchStart }, index.h("div", { "aria-label": label.getLabelText(this), class: {
586
- ["container"]: true,
587
- ["container--range"]: valueIsRange,
588
- [`scale--${this.scale}`]: true,
589
- } }, this.renderGraph(), index.h("div", { class: "track",
590
- // eslint-disable-next-line react/jsx-sort-props
591
- ref: this.storeTrackRef }, index.h("div", { class: "track__range", onPointerDown: (event) => this.pointerDownDragStart(event, "minMaxValue"), style: {
592
- left: `${mirror ? 100 - maxInterval : minInterval}%`,
593
- right: `${mirror ? minInterval : 100 - maxInterval}%`,
594
- } }), index.h("div", { class: "ticks" }, this.tickValues.map((tick) => {
595
- const tickOffset = `${this.getUnitInterval(tick) * 100}%`;
596
- let activeTicks = tick >= min && tick <= value;
597
- if (useMinValue) {
598
- activeTicks = tick >= this.minValue && tick <= this.maxValue;
599
- }
600
- return (index.h("span", { class: {
601
- tick: true,
602
- "tick--active": activeTicks,
603
- }, style: {
604
- left: mirror ? "" : tickOffset,
605
- right: mirror ? tickOffset : "",
606
- } }, this.renderTickLabel(tick)));
607
- }))), index.h("div", { class: "thumb-container" }, !this.precise && !this.labelHandles && valueIsRange && minHandle, !this.hasHistogram &&
608
- !this.precise &&
609
- this.labelHandles &&
610
- valueIsRange &&
611
- minLabeledHandle, this.precise && !this.labelHandles && valueIsRange && minPreciseHandle, this.precise && this.labelHandles && valueIsRange && minLabeledPreciseHandle, this.hasHistogram &&
612
- !this.precise &&
613
- this.labelHandles &&
614
- valueIsRange &&
615
- 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 &&
616
- this.precise &&
617
- this.labelHandles &&
618
- histogramLabeledPreciseHandle, index.h(form.HiddenFormInputSlot, { component: this })))));
619
- }
620
- renderGraph() {
621
- return this.histogram ? (index.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;
622
- }
623
- renderTickLabel(tick) {
624
- const valueIsRange = isRange(this.value);
625
- const isMinTickLabel = tick === this.min;
626
- const isMaxTickLabel = tick === this.max;
627
- const displayedTickValue = this.determineGroupSeparator(tick);
628
- const tickLabel = (index.h("span", { class: {
629
- tick__label: true,
630
- [CSS.tickMin]: isMinTickLabel,
631
- [CSS.tickMax]: isMaxTickLabel,
632
- } }, displayedTickValue));
633
- if (this.labelTicks && !this.hasHistogram && !valueIsRange) {
634
- return tickLabel;
635
- }
636
- if (this.labelTicks &&
637
- !this.hasHistogram &&
638
- valueIsRange &&
639
- !this.precise &&
640
- !this.labelHandles) {
641
- return tickLabel;
642
- }
643
- if (this.labelTicks &&
644
- !this.hasHistogram &&
645
- valueIsRange &&
646
- !this.precise &&
647
- this.labelHandles) {
648
- return tickLabel;
649
- }
650
- if (this.labelTicks &&
651
- !this.hasHistogram &&
652
- valueIsRange &&
653
- this.precise &&
654
- (isMinTickLabel || isMaxTickLabel)) {
655
- return tickLabel;
656
- }
657
- if (this.labelTicks && this.hasHistogram && !this.precise && !this.labelHandles) {
658
- return tickLabel;
659
- }
660
- if (this.labelTicks &&
661
- this.hasHistogram &&
662
- this.precise &&
663
- !this.labelHandles &&
664
- (isMinTickLabel || isMaxTickLabel)) {
665
- return tickLabel;
666
- }
667
- if (this.labelTicks &&
668
- this.hasHistogram &&
669
- !this.precise &&
670
- this.labelHandles &&
671
- (isMinTickLabel || isMaxTickLabel)) {
672
- return tickLabel;
673
- }
674
- if (this.labelTicks &&
675
- this.hasHistogram &&
676
- this.precise &&
677
- this.labelHandles &&
678
- (isMinTickLabel || isMaxTickLabel)) {
679
- return tickLabel;
680
- }
681
- return null;
682
- }
683
- //--------------------------------------------------------------------------
684
- //
685
- // Event Listeners
686
- //
687
- //--------------------------------------------------------------------------
688
- keyDownHandler(event) {
689
- const mirror = this.shouldMirror();
690
- const { activeProp, max, min, pageStep, step } = this;
691
- const value = this[activeProp];
692
- const { key: key$1 } = event;
693
- if (key.isActivationKey(key$1)) {
694
- event.preventDefault();
695
- return;
696
- }
697
- let adjustment;
698
- if (key$1 === "ArrowUp" || key$1 === "ArrowRight") {
699
- const directionFactor = mirror && key$1 === "ArrowRight" ? -1 : 1;
700
- adjustment = value + step * directionFactor;
701
- }
702
- else if (key$1 === "ArrowDown" || key$1 === "ArrowLeft") {
703
- const directionFactor = mirror && key$1 === "ArrowLeft" ? -1 : 1;
704
- adjustment = value - step * directionFactor;
705
- }
706
- else if (key$1 === "PageUp") {
707
- if (pageStep) {
708
- adjustment = value + pageStep;
709
- }
710
- }
711
- else if (key$1 === "PageDown") {
712
- if (pageStep) {
713
- adjustment = value - pageStep;
714
- }
715
- }
716
- else if (key$1 === "Home") {
717
- adjustment = min;
718
- }
719
- else if (key$1 === "End") {
720
- adjustment = max;
721
- }
722
- if (isNaN(adjustment)) {
723
- return;
724
- }
725
- event.preventDefault();
726
- const fixedDecimalAdjustment = Number(adjustment.toFixed(math.decimalPlaces(step)));
727
- this.setValue({
728
- [activeProp]: this.clamp(fixedDecimalAdjustment, activeProp),
729
- });
730
- }
731
- pointerDownHandler(event) {
732
- if (this.disabled || !dom.isPrimaryPointerButton(event)) {
733
- return;
734
- }
735
- const x = event.clientX || event.pageX;
736
- const position = this.translate(x);
737
- let prop = "value";
738
- if (isRange(this.value)) {
739
- const inRange = position >= this.minValue && position <= this.maxValue;
740
- if (inRange && this.lastDragProp === "minMaxValue") {
741
- prop = "minMaxValue";
742
- }
743
- else {
744
- const closerToMax = Math.abs(this.maxValue - position) < Math.abs(this.minValue - position);
745
- prop = closerToMax || position > this.maxValue ? "maxValue" : "minValue";
746
- }
747
- }
748
- this.lastDragPropValue = this[prop];
749
- this.dragStart(prop);
750
- const isThumbActive = this.el.shadowRoot.querySelector(".thumb:active");
751
- if (!isThumbActive) {
752
- this.setValue({ [prop]: this.clamp(position, prop) });
753
- }
754
- this.focusActiveHandle(x);
755
- }
756
- handleTouchStart(event) {
757
- // needed to prevent extra click at the end of a handle drag
758
- event.preventDefault();
759
- }
760
- //--------------------------------------------------------------------------
761
- //
762
- // Public Methods
763
- //
764
- //--------------------------------------------------------------------------
765
- /** Sets focus on the component. */
766
- async setFocus() {
767
- await loadable.componentFocusable(this);
768
- const handle = this.minHandle ? this.minHandle : this.maxHandle;
769
- handle === null || handle === void 0 ? void 0 : handle.focus();
770
- }
771
- //--------------------------------------------------------------------------
772
- //
773
- // Private Methods
774
- //
775
- //--------------------------------------------------------------------------
776
- setValueFromMinMax() {
777
- const { minValue, maxValue } = this;
778
- if (typeof minValue === "number" && typeof maxValue === "number") {
779
- this.value = [minValue, maxValue];
780
- }
781
- }
782
- setMinMaxFromValue() {
783
- const { value } = this;
784
- if (isRange(value)) {
785
- this.minValue = value[0];
786
- this.maxValue = value[1];
787
- }
788
- }
789
- onLabelClick() {
790
- this.setFocus();
791
- }
792
- shouldMirror() {
793
- return this.mirrored && !this.hasHistogram;
794
- }
795
- shouldUseMinValue() {
796
- if (!isRange(this.value)) {
797
- return false;
798
- }
799
- return ((this.hasHistogram && this.maxValue === 0) || (!this.hasHistogram && this.minValue === 0));
800
- }
801
- getTickDensity() {
802
- const density = (this.max - this.min) / this.ticks / maxTickElementThreshold;
803
- return density < 1 ? 1 : density;
804
- }
805
- generateTickValues() {
806
- var _a;
807
- const tickInterval = (_a = this.ticks) !== null && _a !== void 0 ? _a : 0;
808
- if (tickInterval <= 0) {
809
- return [];
810
- }
811
- const ticks = [this.min];
812
- const density = this.getTickDensity();
813
- const tickOffset = tickInterval * density;
814
- let current = this.min;
815
- while (current < this.max) {
816
- current += tickOffset;
817
- ticks.push(Math.min(current, this.max));
818
- }
819
- if (!ticks.includes(this.max)) {
820
- ticks.push(this.max);
821
- }
822
- return ticks;
823
- }
824
- pointerDownDragStart(event, prop) {
825
- if (!dom.isPrimaryPointerButton(event)) {
826
- return;
827
- }
828
- this.dragStart(prop);
829
- }
830
- dragStart(prop) {
831
- this.dragProp = prop;
832
- this.lastDragProp = this.dragProp;
833
- this.activeProp = prop;
834
- document.addEventListener("pointermove", this.dragUpdate);
835
- document.addEventListener("pointerup", this.pointerUpDragEnd);
836
- document.addEventListener("pointercancel", this.dragEnd);
837
- }
838
- focusActiveHandle(valueX) {
839
- switch (this.dragProp) {
840
- case "minValue":
841
- this.minHandle.focus();
842
- break;
843
- case "maxValue":
844
- case "value":
845
- this.maxHandle.focus();
846
- break;
847
- case "minMaxValue":
848
- this.getClosestHandle(valueX).focus();
849
- break;
850
- }
851
- }
852
- emitInput() {
853
- this.calciteSliderInput.emit();
854
- }
855
- emitChange() {
856
- this.calciteSliderChange.emit();
857
- }
858
- removeDragListeners() {
859
- document.removeEventListener("pointermove", this.dragUpdate);
860
- document.removeEventListener("pointerup", this.pointerUpDragEnd);
861
- document.removeEventListener("pointercancel", this.dragEnd);
862
- }
863
- /**
864
- * Set prop value(s) if changed at the component level
865
- *
866
- * @param {object} values - a set of key/value pairs delineating what properties in the component to update
867
- */
868
- setValue(values) {
869
- let valueChanged;
870
- Object.keys(values).forEach((propName) => {
871
- const newValue = values[propName];
872
- if (!valueChanged) {
873
- const oldValue = this[propName];
874
- valueChanged = oldValue !== newValue;
875
- }
876
- this[propName] = newValue;
877
- });
878
- if (!valueChanged) {
879
- return;
880
- }
881
- const dragging = this.dragProp;
882
- if (!dragging) {
883
- this.emitChange();
884
- }
885
- this.emitInput();
886
- }
887
- /**
888
- * If number is outside range, constrain to min or max
889
- *
890
- * @param value
891
- * @param prop
892
- * @internal
893
- */
894
- clamp(value, prop) {
895
- value = math.clamp(value, this.min, this.max);
896
- // ensure that maxValue and minValue don't swap positions
897
- if (prop === "maxValue") {
898
- value = Math.max(value, this.minValue);
899
- }
900
- if (prop === "minValue") {
901
- value = Math.min(value, this.maxValue);
902
- }
903
- return value;
904
- }
905
- /**
906
- * Translate a pixel position to value along the range
907
- *
908
- * @param x
909
- * @internal
910
- */
911
- translate(x) {
912
- const range = this.max - this.min;
913
- const { left, width } = this.trackEl.getBoundingClientRect();
914
- const percent = (x - left) / width;
915
- const mirror = this.shouldMirror();
916
- const clampedValue = this.clamp(this.min + range * (mirror ? 1 - percent : percent));
917
- let value = Number(clampedValue.toFixed(math.decimalPlaces(this.step)));
918
- if (this.snap && this.step) {
919
- value = this.getClosestStep(value);
920
- }
921
- return value;
922
- }
923
- /**
924
- * Get closest allowed value along stepped values
925
- *
926
- * @param num
927
- * @internal
928
- */
929
- getClosestStep(num) {
930
- num = Number(this.clamp(num).toFixed(math.decimalPlaces(this.step)));
931
- if (this.step) {
932
- const step = Math.round(num / this.step) * this.step;
933
- num = Number(this.clamp(step).toFixed(math.decimalPlaces(this.step)));
934
- }
935
- return num;
936
- }
937
- getClosestHandle(valueX) {
938
- return this.getDistanceX(this.maxHandle, valueX) > this.getDistanceX(this.minHandle, valueX)
939
- ? this.minHandle
940
- : this.maxHandle;
941
- }
942
- getDistanceX(el, valueX) {
943
- return Math.abs(el.getBoundingClientRect().left - valueX);
944
- }
945
- getFontSizeForElement(element) {
946
- return Number(window.getComputedStyle(element).getPropertyValue("font-size").match(/\d+/)[0]);
947
- }
948
- /**
949
- * Get position of value along range as fractional value
950
- *
951
- * @param num
952
- * @return {number} number in the unit interval [0,1]
953
- * @internal
954
- */
955
- getUnitInterval(num) {
956
- num = this.clamp(num);
957
- const range = this.max - this.min;
958
- return (num - this.min) / range;
959
- }
960
- adjustHostObscuredHandleLabel(name) {
961
- const label = this.el.shadowRoot.querySelector(`.handle__label--${name}`);
962
- const labelStatic = this.el.shadowRoot.querySelector(`.handle__label--${name}.static`);
963
- const labelTransformed = this.el.shadowRoot.querySelector(`.handle__label--${name}.transformed`);
964
- const labelStaticBounds = labelStatic.getBoundingClientRect();
965
- const labelStaticOffset = this.getHostOffset(labelStaticBounds.left, labelStaticBounds.right);
966
- label.style.transform = `translateX(${labelStaticOffset}px)`;
967
- labelTransformed.style.transform = `translateX(${labelStaticOffset}px)`;
968
- }
969
- hyphenateCollidingRangeHandleLabels() {
970
- const { shadowRoot } = this.el;
971
- const mirror = this.shouldMirror();
972
- const leftModifier = mirror ? "value" : "minValue";
973
- const rightModifier = mirror ? "minValue" : "value";
974
- const leftValueLabel = shadowRoot.querySelector(`.handle__label--${leftModifier}`);
975
- const leftValueLabelStatic = shadowRoot.querySelector(`.handle__label--${leftModifier}.static`);
976
- const leftValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${leftModifier}.transformed`);
977
- const leftValueLabelStaticHostOffset = this.getHostOffset(leftValueLabelStatic.getBoundingClientRect().left, leftValueLabelStatic.getBoundingClientRect().right);
978
- const rightValueLabel = shadowRoot.querySelector(`.handle__label--${rightModifier}`);
979
- const rightValueLabelStatic = shadowRoot.querySelector(`.handle__label--${rightModifier}.static`);
980
- const rightValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${rightModifier}.transformed`);
981
- const rightValueLabelStaticHostOffset = this.getHostOffset(rightValueLabelStatic.getBoundingClientRect().left, rightValueLabelStatic.getBoundingClientRect().right);
982
- const labelFontSize = this.getFontSizeForElement(leftValueLabel);
983
- const labelTransformedOverlap = this.getRangeLabelOverlap(leftValueLabelTransformed, rightValueLabelTransformed);
984
- const hyphenLabel = leftValueLabel;
985
- const labelOffset = labelFontSize / 2;
986
- if (labelTransformedOverlap > 0) {
987
- hyphenLabel.classList.add("hyphen", "hyphen--wrap");
988
- if (rightValueLabelStaticHostOffset === 0 && leftValueLabelStaticHostOffset === 0) {
989
- // Neither handle overlaps the host boundary
990
- let leftValueLabelTranslate = labelTransformedOverlap / 2 - labelOffset;
991
- leftValueLabelTranslate =
992
- Math.sign(leftValueLabelTranslate) === -1
993
- ? Math.abs(leftValueLabelTranslate)
994
- : -leftValueLabelTranslate;
995
- const leftValueLabelTransformedHostOffset = this.getHostOffset(leftValueLabelTransformed.getBoundingClientRect().left +
996
- leftValueLabelTranslate -
997
- labelOffset, leftValueLabelTransformed.getBoundingClientRect().right +
998
- leftValueLabelTranslate -
999
- labelOffset);
1000
- let rightValueLabelTranslate = labelTransformedOverlap / 2;
1001
- const rightValueLabelTransformedHostOffset = this.getHostOffset(rightValueLabelTransformed.getBoundingClientRect().left + rightValueLabelTranslate, rightValueLabelTransformed.getBoundingClientRect().right + rightValueLabelTranslate);
1002
- if (leftValueLabelTransformedHostOffset !== 0) {
1003
- leftValueLabelTranslate += leftValueLabelTransformedHostOffset;
1004
- rightValueLabelTranslate += leftValueLabelTransformedHostOffset;
1005
- }
1006
- if (rightValueLabelTransformedHostOffset !== 0) {
1007
- leftValueLabelTranslate += rightValueLabelTransformedHostOffset;
1008
- rightValueLabelTranslate += rightValueLabelTransformedHostOffset;
1009
- }
1010
- leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
1011
- leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
1012
- rightValueLabel.style.transform = `translateX(${rightValueLabelTranslate}px)`;
1013
- rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelTranslate}px)`;
1014
- }
1015
- else if (leftValueLabelStaticHostOffset > 0 || rightValueLabelStaticHostOffset > 0) {
1016
- // labels overlap host boundary on the left side
1017
- leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset + labelOffset}px)`;
1018
- rightValueLabel.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
1019
- rightValueLabelTransformed.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
1020
- }
1021
- else if (leftValueLabelStaticHostOffset < 0 || rightValueLabelStaticHostOffset < 0) {
1022
- // labels overlap host boundary on the right side
1023
- let leftValueLabelTranslate = Math.abs(leftValueLabelStaticHostOffset) + labelTransformedOverlap - labelOffset;
1024
- leftValueLabelTranslate =
1025
- Math.sign(leftValueLabelTranslate) === -1
1026
- ? Math.abs(leftValueLabelTranslate)
1027
- : -leftValueLabelTranslate;
1028
- leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
1029
- leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
1030
- }
1031
- }
1032
- else {
1033
- hyphenLabel.classList.remove("hyphen", "hyphen--wrap");
1034
- leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
1035
- leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
1036
- rightValueLabel.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
1037
- rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
1038
- }
1039
- }
1040
- /**
1041
- * Hides bounding tick labels that are obscured by either handle.
1042
- */
1043
- hideObscuredBoundingTickLabels() {
1044
- const valueIsRange = isRange(this.value);
1045
- if (!this.hasHistogram && !valueIsRange && !this.labelHandles && !this.precise) {
1046
- return;
1047
- }
1048
- if (!this.hasHistogram && !valueIsRange && this.labelHandles && !this.precise) {
1049
- return;
1050
- }
1051
- if (!this.hasHistogram && !valueIsRange && !this.labelHandles && this.precise) {
1052
- return;
1053
- }
1054
- if (!this.hasHistogram && !valueIsRange && this.labelHandles && this.precise) {
1055
- return;
1056
- }
1057
- if (!this.hasHistogram && valueIsRange && !this.precise) {
1058
- return;
1059
- }
1060
- if (this.hasHistogram && !this.precise && !this.labelHandles) {
1061
- return;
1062
- }
1063
- const minHandle = this.el.shadowRoot.querySelector(".thumb--minValue");
1064
- const maxHandle = this.el.shadowRoot.querySelector(".thumb--value");
1065
- const minTickLabel = this.el.shadowRoot.querySelector(".tick__label--min");
1066
- const maxTickLabel = this.el.shadowRoot.querySelector(".tick__label--max");
1067
- if (!minHandle && maxHandle && minTickLabel && maxTickLabel) {
1068
- minTickLabel.style.opacity = this.isMinTickLabelObscured(minTickLabel, maxHandle) ? "0" : "1";
1069
- maxTickLabel.style.opacity = this.isMaxTickLabelObscured(maxTickLabel, maxHandle) ? "0" : "1";
1070
- }
1071
- if (minHandle && maxHandle && minTickLabel && maxTickLabel) {
1072
- minTickLabel.style.opacity =
1073
- this.isMinTickLabelObscured(minTickLabel, minHandle) ||
1074
- this.isMinTickLabelObscured(minTickLabel, maxHandle)
1075
- ? "0"
1076
- : "1";
1077
- maxTickLabel.style.opacity =
1078
- this.isMaxTickLabelObscured(maxTickLabel, minHandle) ||
1079
- (this.isMaxTickLabelObscured(maxTickLabel, maxHandle) && this.hasHistogram)
1080
- ? "0"
1081
- : "1";
1082
- }
1083
- }
1084
- /**
1085
- * Returns an integer representing the number of pixels to offset on the left or right side based on desired position behavior.
1086
- *
1087
- * @param leftBounds
1088
- * @param rightBounds
1089
- * @internal
1090
- */
1091
- getHostOffset(leftBounds, rightBounds) {
1092
- const hostBounds = this.el.getBoundingClientRect();
1093
- const buffer = 7;
1094
- if (leftBounds + buffer < hostBounds.left) {
1095
- return hostBounds.left - leftBounds - buffer;
1096
- }
1097
- if (rightBounds - buffer > hostBounds.right) {
1098
- return -(rightBounds - hostBounds.right) + buffer;
1099
- }
1100
- return 0;
1101
- }
1102
- /**
1103
- * Returns an integer representing the number of pixels that the two given span elements are overlapping, taking into account
1104
- * 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.
1105
- *
1106
- * @param leftLabel
1107
- * @param rightLabel
1108
- */
1109
- getRangeLabelOverlap(leftLabel, rightLabel) {
1110
- const leftLabelBounds = leftLabel.getBoundingClientRect();
1111
- const rightLabelBounds = rightLabel.getBoundingClientRect();
1112
- const leftLabelFontSize = this.getFontSizeForElement(leftLabel);
1113
- const rangeLabelOverlap = leftLabelBounds.right + leftLabelFontSize - rightLabelBounds.left;
1114
- return Math.max(rangeLabelOverlap, 0);
1115
- }
1116
- /**
1117
- * Returns a boolean value representing if the minLabel span element is obscured (being overlapped) by the given handle div element.
1118
- *
1119
- * @param minLabel
1120
- * @param handle
1121
- */
1122
- isMinTickLabelObscured(minLabel, handle) {
1123
- const minLabelBounds = minLabel.getBoundingClientRect();
1124
- const handleBounds = handle.getBoundingClientRect();
1125
- return dom.intersects(minLabelBounds, handleBounds);
1126
- }
1127
- /**
1128
- * Returns a boolean value representing if the maxLabel span element is obscured (being overlapped) by the given handle div element.
1129
- *
1130
- * @param maxLabel
1131
- * @param handle
1132
- */
1133
- isMaxTickLabelObscured(maxLabel, handle) {
1134
- const maxLabelBounds = maxLabel.getBoundingClientRect();
1135
- const handleBounds = handle.getBoundingClientRect();
1136
- return dom.intersects(maxLabelBounds, handleBounds);
1137
- }
1138
- static get delegatesFocus() { return true; }
1139
- get el() { return index.getElement(this); }
1140
- static get watchers() { return {
1141
- "histogram": ["histogramWatcher"],
1142
- "ticks": ["ticksWatcher"],
1143
- "value": ["valueHandler"],
1144
- "minValue": ["minMaxValueHandler"],
1145
- "maxValue": ["minMaxValueHandler"]
1146
- }; }
1147
- };
305
+ function isRange(value) {
306
+ return Array.isArray(value);
307
+ }
308
+ const Slider = class {
309
+ constructor(hostRef) {
310
+ index.registerInstance(this, hostRef);
311
+ this.calciteSliderInput = index.createEvent(this, "calciteSliderInput", 6);
312
+ this.calciteSliderChange = index.createEvent(this, "calciteSliderChange", 6);
313
+ this.activeProp = "value";
314
+ this.guid = `calcite-slider-${guid.guid()}`;
315
+ this.dragUpdate = (event) => {
316
+ if (this.disabled) {
317
+ return;
318
+ }
319
+ event.preventDefault();
320
+ if (this.dragProp) {
321
+ const value = this.translate(event.clientX || event.pageX);
322
+ if (isRange(this.value) && this.dragProp === "minMaxValue") {
323
+ if (this.minValueDragRange && this.maxValueDragRange && this.minMaxValueRange) {
324
+ const newMinValue = value - this.minValueDragRange;
325
+ const newMaxValue = value + this.maxValueDragRange;
326
+ if (newMaxValue <= this.max &&
327
+ newMinValue >= this.min &&
328
+ newMaxValue - newMinValue === this.minMaxValueRange) {
329
+ this.setValue({
330
+ minValue: this.clamp(newMinValue, "minValue"),
331
+ maxValue: this.clamp(newMaxValue, "maxValue"),
332
+ });
333
+ }
334
+ }
335
+ else {
336
+ this.minValueDragRange = value - this.minValue;
337
+ this.maxValueDragRange = this.maxValue - value;
338
+ this.minMaxValueRange = this.maxValue - this.minValue;
339
+ }
340
+ }
341
+ else {
342
+ this.setValue({ [this.dragProp]: this.clamp(value, this.dragProp) });
343
+ }
344
+ }
345
+ };
346
+ this.pointerUpDragEnd = (event) => {
347
+ if (this.disabled || !dom.isPrimaryPointerButton(event)) {
348
+ return;
349
+ }
350
+ this.dragEnd(event);
351
+ };
352
+ this.dragEnd = (event) => {
353
+ if (this.disabled) {
354
+ return;
355
+ }
356
+ this.removeDragListeners();
357
+ this.focusActiveHandle(event.clientX);
358
+ if (this.lastDragPropValue != this[this.dragProp]) {
359
+ this.emitChange();
360
+ }
361
+ this.dragProp = null;
362
+ this.lastDragPropValue = null;
363
+ this.minValueDragRange = null;
364
+ this.maxValueDragRange = null;
365
+ this.minMaxValueRange = null;
366
+ };
367
+ /**
368
+ * Set the reference of the track Element
369
+ *
370
+ * @internal
371
+ * @param node
372
+ */
373
+ this.storeTrackRef = (node) => {
374
+ this.trackEl = node;
375
+ };
376
+ /**
377
+ * Returns a string representing the localized label value based if the groupSeparator prop is parsed.
378
+ *
379
+ * @param value
380
+ */
381
+ this.determineGroupSeparator = (value) => {
382
+ if (typeof value === "number") {
383
+ locale$1.numberStringFormatter.numberFormatOptions = {
384
+ locale: this.effectiveLocale,
385
+ numberingSystem: this.numberingSystem,
386
+ useGrouping: this.groupSeparator,
387
+ };
388
+ return locale$1.numberStringFormatter.localize(value.toString());
389
+ }
390
+ };
391
+ this.disabled = false;
392
+ this.form = undefined;
393
+ this.groupSeparator = false;
394
+ this.hasHistogram = false;
395
+ this.histogram = undefined;
396
+ this.histogramStops = undefined;
397
+ this.labelHandles = false;
398
+ this.labelTicks = false;
399
+ this.max = 100;
400
+ this.maxLabel = undefined;
401
+ this.maxValue = undefined;
402
+ this.min = 0;
403
+ this.minLabel = undefined;
404
+ this.minValue = undefined;
405
+ this.mirrored = false;
406
+ this.name = undefined;
407
+ this.numberingSystem = undefined;
408
+ this.pageStep = undefined;
409
+ this.precise = false;
410
+ this.required = false;
411
+ this.snap = false;
412
+ this.step = 1;
413
+ this.ticks = undefined;
414
+ this.value = 0;
415
+ this.scale = "m";
416
+ this.effectiveLocale = "";
417
+ this.minMaxValueRange = null;
418
+ this.minValueDragRange = null;
419
+ this.maxValueDragRange = null;
420
+ this.tickValues = [];
421
+ }
422
+ histogramWatcher(newHistogram) {
423
+ this.hasHistogram = !!newHistogram;
424
+ }
425
+ ticksWatcher() {
426
+ this.tickValues = this.generateTickValues();
427
+ }
428
+ valueHandler() {
429
+ this.setMinMaxFromValue();
430
+ }
431
+ minMaxValueHandler() {
432
+ this.setValueFromMinMax();
433
+ }
434
+ //--------------------------------------------------------------------------
435
+ //
436
+ // Lifecycle
437
+ //
438
+ //--------------------------------------------------------------------------
439
+ connectedCallback() {
440
+ interactive.connectInteractive(this);
441
+ locale$1.connectLocalized(this);
442
+ this.setMinMaxFromValue();
443
+ this.setValueFromMinMax();
444
+ label.connectLabel(this);
445
+ form.connectForm(this);
446
+ }
447
+ disconnectedCallback() {
448
+ interactive.disconnectInteractive(this);
449
+ label.disconnectLabel(this);
450
+ form.disconnectForm(this);
451
+ locale$1.disconnectLocalized(this);
452
+ this.removeDragListeners();
453
+ }
454
+ componentWillLoad() {
455
+ loadable.setUpLoadableComponent(this);
456
+ if (!isRange(this.value)) {
457
+ this.value = this.snap ? this.getClosestStep(this.value) : this.clamp(this.value);
458
+ }
459
+ this.ticksWatcher();
460
+ this.histogramWatcher(this.histogram);
461
+ form.afterConnectDefaultValueSet(this, this.value);
462
+ }
463
+ componentDidLoad() {
464
+ loadable.setComponentLoaded(this);
465
+ }
466
+ componentDidRender() {
467
+ if (this.labelHandles) {
468
+ this.adjustHostObscuredHandleLabel("value");
469
+ if (isRange(this.value)) {
470
+ this.adjustHostObscuredHandleLabel("minValue");
471
+ if (!(this.precise && !this.hasHistogram)) {
472
+ this.hyphenateCollidingRangeHandleLabels();
473
+ }
474
+ }
475
+ }
476
+ this.hideObscuredBoundingTickLabels();
477
+ interactive.updateHostInteraction(this);
478
+ }
479
+ render() {
480
+ const id = this.el.id || this.guid;
481
+ const maxProp = isRange(this.value) ? "maxValue" : "value";
482
+ const value = isRange(this.value) ? this.maxValue : this.value;
483
+ const displayedValue = this.determineGroupSeparator(value);
484
+ const displayedMinValue = this.determineGroupSeparator(this.minValue);
485
+ const min = this.minValue || this.min;
486
+ const useMinValue = this.shouldUseMinValue();
487
+ const minInterval = this.getUnitInterval(useMinValue ? this.minValue : min) * 100;
488
+ const maxInterval = this.getUnitInterval(value) * 100;
489
+ const mirror = this.shouldMirror();
490
+ const leftThumbOffset = `${mirror ? 100 - minInterval : minInterval}%`;
491
+ const rightThumbOffset = `${mirror ? maxInterval : 100 - maxInterval}%`;
492
+ const valueIsRange = isRange(this.value);
493
+ const handleLabelMinValueClasses = `${CSS.handleLabel} ${CSS.handleLabelMinValue}`;
494
+ const handleLabelValueClasses = `${CSS.handleLabel} ${CSS.handleLabelValue}`;
495
+ const handle = (index.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: {
496
+ thumb: true,
497
+ "thumb--value": true,
498
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
499
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
500
+ // eslint-disable-next-line react/jsx-sort-props
501
+ ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle" })));
502
+ const labeledHandle = (index.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: {
503
+ thumb: true,
504
+ "thumb--value": true,
505
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
506
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
507
+ // eslint-disable-next-line react/jsx-sort-props
508
+ ref: (el) => (this.maxHandle = el) }, index.h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue), index.h("div", { class: "handle" })));
509
+ const histogramLabeledHandle = (index.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: {
510
+ thumb: true,
511
+ "thumb--value": true,
512
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
513
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
514
+ // eslint-disable-next-line react/jsx-sort-props
515
+ ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue)));
516
+ const preciseHandle = (index.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: {
517
+ thumb: true,
518
+ "thumb--value": true,
519
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
520
+ "thumb--precise": true,
521
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
522
+ // eslint-disable-next-line react/jsx-sort-props
523
+ ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle" }), index.h("div", { class: "handle-extension" })));
524
+ const histogramPreciseHandle = (index.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: {
525
+ thumb: true,
526
+ "thumb--value": true,
527
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
528
+ "thumb--precise": true,
529
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
530
+ // eslint-disable-next-line react/jsx-sort-props
531
+ ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" })));
532
+ const labeledPreciseHandle = (index.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: {
533
+ thumb: true,
534
+ "thumb--value": true,
535
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
536
+ "thumb--precise": true,
537
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
538
+ // eslint-disable-next-line react/jsx-sort-props
539
+ ref: (el) => (this.maxHandle = el) }, index.h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue), index.h("div", { class: "handle" }), index.h("div", { class: "handle-extension" })));
540
+ const histogramLabeledPreciseHandle = (index.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: {
541
+ thumb: true,
542
+ "thumb--value": true,
543
+ "thumb--active": this.lastDragProp !== "minMaxValue" && this.dragProp === maxProp,
544
+ "thumb--precise": true,
545
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = maxProp), onPointerDown: (event) => this.pointerDownDragStart(event, maxProp), role: "slider", style: { right: rightThumbOffset }, tabIndex: 0,
546
+ // eslint-disable-next-line react/jsx-sort-props
547
+ ref: (el) => (this.maxHandle = el) }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: handleLabelValueClasses }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} static` }, displayedValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelValueClasses} transformed` }, displayedValue)));
548
+ const minHandle = (index.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: {
549
+ thumb: true,
550
+ "thumb--minValue": true,
551
+ "thumb--active": this.dragProp === "minValue",
552
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
553
+ // eslint-disable-next-line react/jsx-sort-props
554
+ ref: (el) => (this.minHandle = el) }, index.h("div", { class: "handle" })));
555
+ const minLabeledHandle = (index.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: {
556
+ thumb: true,
557
+ "thumb--minValue": true,
558
+ "thumb--active": this.dragProp === "minValue",
559
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
560
+ // eslint-disable-next-line react/jsx-sort-props
561
+ ref: (el) => (this.minHandle = el) }, index.h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue), index.h("div", { class: "handle" })));
562
+ const minHistogramLabeledHandle = (index.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: {
563
+ thumb: true,
564
+ "thumb--minValue": true,
565
+ "thumb--active": this.dragProp === "minValue",
566
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
567
+ // eslint-disable-next-line react/jsx-sort-props
568
+ ref: (el) => (this.minHandle = el) }, index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue)));
569
+ const minPreciseHandle = (index.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: {
570
+ thumb: true,
571
+ "thumb--minValue": true,
572
+ "thumb--active": this.dragProp === "minValue",
573
+ "thumb--precise": true,
574
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
575
+ // eslint-disable-next-line react/jsx-sort-props
576
+ ref: (el) => (this.minHandle = el) }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" })));
577
+ const minLabeledPreciseHandle = (index.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: {
578
+ thumb: true,
579
+ "thumb--minValue": true,
580
+ "thumb--active": this.dragProp === "minValue",
581
+ "thumb--precise": true,
582
+ }, onBlur: () => (this.activeProp = null), onFocus: () => (this.activeProp = "minValue"), onPointerDown: (event) => this.pointerDownDragStart(event, "minValue"), role: "slider", style: { left: leftThumbOffset }, tabIndex: 0,
583
+ // eslint-disable-next-line react/jsx-sort-props
584
+ ref: (el) => (this.minHandle = el) }, index.h("div", { class: "handle-extension" }), index.h("div", { class: "handle" }), index.h("span", { "aria-hidden": "true", class: handleLabelMinValueClasses }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} static` }, displayedMinValue), index.h("span", { "aria-hidden": "true", class: `${handleLabelMinValueClasses} transformed` }, displayedMinValue)));
585
+ return (index.h(index.Host, { id: id, onTouchStart: this.handleTouchStart }, index.h("div", { "aria-label": label.getLabelText(this), class: {
586
+ ["container"]: true,
587
+ ["container--range"]: valueIsRange,
588
+ [`scale--${this.scale}`]: true,
589
+ } }, this.renderGraph(), index.h("div", { class: "track",
590
+ // eslint-disable-next-line react/jsx-sort-props
591
+ ref: this.storeTrackRef }, index.h("div", { class: "track__range", onPointerDown: (event) => this.pointerDownDragStart(event, "minMaxValue"), style: {
592
+ left: `${mirror ? 100 - maxInterval : minInterval}%`,
593
+ right: `${mirror ? minInterval : 100 - maxInterval}%`,
594
+ } }), index.h("div", { class: "ticks" }, this.tickValues.map((tick) => {
595
+ const tickOffset = `${this.getUnitInterval(tick) * 100}%`;
596
+ let activeTicks = tick >= min && tick <= value;
597
+ if (useMinValue) {
598
+ activeTicks = tick >= this.minValue && tick <= this.maxValue;
599
+ }
600
+ return (index.h("span", { class: {
601
+ tick: true,
602
+ "tick--active": activeTicks,
603
+ }, style: {
604
+ left: mirror ? "" : tickOffset,
605
+ right: mirror ? tickOffset : "",
606
+ } }, this.renderTickLabel(tick)));
607
+ }))), index.h("div", { class: "thumb-container" }, !this.precise && !this.labelHandles && valueIsRange && minHandle, !this.hasHistogram &&
608
+ !this.precise &&
609
+ this.labelHandles &&
610
+ valueIsRange &&
611
+ minLabeledHandle, this.precise && !this.labelHandles && valueIsRange && minPreciseHandle, this.precise && this.labelHandles && valueIsRange && minLabeledPreciseHandle, this.hasHistogram &&
612
+ !this.precise &&
613
+ this.labelHandles &&
614
+ valueIsRange &&
615
+ 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 &&
616
+ this.precise &&
617
+ this.labelHandles &&
618
+ histogramLabeledPreciseHandle, index.h(form.HiddenFormInputSlot, { component: this })))));
619
+ }
620
+ renderGraph() {
621
+ return this.histogram ? (index.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;
622
+ }
623
+ renderTickLabel(tick) {
624
+ const valueIsRange = isRange(this.value);
625
+ const isMinTickLabel = tick === this.min;
626
+ const isMaxTickLabel = tick === this.max;
627
+ const displayedTickValue = this.determineGroupSeparator(tick);
628
+ const tickLabel = (index.h("span", { class: {
629
+ tick__label: true,
630
+ [CSS.tickMin]: isMinTickLabel,
631
+ [CSS.tickMax]: isMaxTickLabel,
632
+ } }, displayedTickValue));
633
+ if (this.labelTicks && !this.hasHistogram && !valueIsRange) {
634
+ return tickLabel;
635
+ }
636
+ if (this.labelTicks &&
637
+ !this.hasHistogram &&
638
+ valueIsRange &&
639
+ !this.precise &&
640
+ !this.labelHandles) {
641
+ return tickLabel;
642
+ }
643
+ if (this.labelTicks &&
644
+ !this.hasHistogram &&
645
+ valueIsRange &&
646
+ !this.precise &&
647
+ this.labelHandles) {
648
+ return tickLabel;
649
+ }
650
+ if (this.labelTicks &&
651
+ !this.hasHistogram &&
652
+ valueIsRange &&
653
+ this.precise &&
654
+ (isMinTickLabel || isMaxTickLabel)) {
655
+ return tickLabel;
656
+ }
657
+ if (this.labelTicks && this.hasHistogram && !this.precise && !this.labelHandles) {
658
+ return tickLabel;
659
+ }
660
+ if (this.labelTicks &&
661
+ this.hasHistogram &&
662
+ this.precise &&
663
+ !this.labelHandles &&
664
+ (isMinTickLabel || isMaxTickLabel)) {
665
+ return tickLabel;
666
+ }
667
+ if (this.labelTicks &&
668
+ this.hasHistogram &&
669
+ !this.precise &&
670
+ this.labelHandles &&
671
+ (isMinTickLabel || isMaxTickLabel)) {
672
+ return tickLabel;
673
+ }
674
+ if (this.labelTicks &&
675
+ this.hasHistogram &&
676
+ this.precise &&
677
+ this.labelHandles &&
678
+ (isMinTickLabel || isMaxTickLabel)) {
679
+ return tickLabel;
680
+ }
681
+ return null;
682
+ }
683
+ //--------------------------------------------------------------------------
684
+ //
685
+ // Event Listeners
686
+ //
687
+ //--------------------------------------------------------------------------
688
+ keyDownHandler(event) {
689
+ const mirror = this.shouldMirror();
690
+ const { activeProp, max, min, pageStep, step } = this;
691
+ const value = this[activeProp];
692
+ const { key: key$1 } = event;
693
+ if (key.isActivationKey(key$1)) {
694
+ event.preventDefault();
695
+ return;
696
+ }
697
+ let adjustment;
698
+ if (key$1 === "ArrowUp" || key$1 === "ArrowRight") {
699
+ const directionFactor = mirror && key$1 === "ArrowRight" ? -1 : 1;
700
+ adjustment = value + step * directionFactor;
701
+ }
702
+ else if (key$1 === "ArrowDown" || key$1 === "ArrowLeft") {
703
+ const directionFactor = mirror && key$1 === "ArrowLeft" ? -1 : 1;
704
+ adjustment = value - step * directionFactor;
705
+ }
706
+ else if (key$1 === "PageUp") {
707
+ if (pageStep) {
708
+ adjustment = value + pageStep;
709
+ }
710
+ }
711
+ else if (key$1 === "PageDown") {
712
+ if (pageStep) {
713
+ adjustment = value - pageStep;
714
+ }
715
+ }
716
+ else if (key$1 === "Home") {
717
+ adjustment = min;
718
+ }
719
+ else if (key$1 === "End") {
720
+ adjustment = max;
721
+ }
722
+ if (isNaN(adjustment)) {
723
+ return;
724
+ }
725
+ event.preventDefault();
726
+ const fixedDecimalAdjustment = Number(adjustment.toFixed(math.decimalPlaces(step)));
727
+ this.setValue({
728
+ [activeProp]: this.clamp(fixedDecimalAdjustment, activeProp),
729
+ });
730
+ }
731
+ pointerDownHandler(event) {
732
+ if (this.disabled || !dom.isPrimaryPointerButton(event)) {
733
+ return;
734
+ }
735
+ const x = event.clientX || event.pageX;
736
+ const position = this.translate(x);
737
+ let prop = "value";
738
+ if (isRange(this.value)) {
739
+ const inRange = position >= this.minValue && position <= this.maxValue;
740
+ if (inRange && this.lastDragProp === "minMaxValue") {
741
+ prop = "minMaxValue";
742
+ }
743
+ else {
744
+ const closerToMax = Math.abs(this.maxValue - position) < Math.abs(this.minValue - position);
745
+ prop = closerToMax || position > this.maxValue ? "maxValue" : "minValue";
746
+ }
747
+ }
748
+ this.lastDragPropValue = this[prop];
749
+ this.dragStart(prop);
750
+ const isThumbActive = this.el.shadowRoot.querySelector(".thumb:active");
751
+ if (!isThumbActive) {
752
+ this.setValue({ [prop]: this.clamp(position, prop) });
753
+ }
754
+ this.focusActiveHandle(x);
755
+ }
756
+ handleTouchStart(event) {
757
+ // needed to prevent extra click at the end of a handle drag
758
+ event.preventDefault();
759
+ }
760
+ //--------------------------------------------------------------------------
761
+ //
762
+ // Public Methods
763
+ //
764
+ //--------------------------------------------------------------------------
765
+ /** Sets focus on the component. */
766
+ async setFocus() {
767
+ await loadable.componentFocusable(this);
768
+ const handle = this.minHandle ? this.minHandle : this.maxHandle;
769
+ handle === null || handle === void 0 ? void 0 : handle.focus();
770
+ }
771
+ //--------------------------------------------------------------------------
772
+ //
773
+ // Private Methods
774
+ //
775
+ //--------------------------------------------------------------------------
776
+ setValueFromMinMax() {
777
+ const { minValue, maxValue } = this;
778
+ if (typeof minValue === "number" && typeof maxValue === "number") {
779
+ this.value = [minValue, maxValue];
780
+ }
781
+ }
782
+ setMinMaxFromValue() {
783
+ const { value } = this;
784
+ if (isRange(value)) {
785
+ this.minValue = value[0];
786
+ this.maxValue = value[1];
787
+ }
788
+ }
789
+ onLabelClick() {
790
+ this.setFocus();
791
+ }
792
+ shouldMirror() {
793
+ return this.mirrored && !this.hasHistogram;
794
+ }
795
+ shouldUseMinValue() {
796
+ if (!isRange(this.value)) {
797
+ return false;
798
+ }
799
+ return ((this.hasHistogram && this.maxValue === 0) || (!this.hasHistogram && this.minValue === 0));
800
+ }
801
+ getTickDensity() {
802
+ const density = (this.max - this.min) / this.ticks / maxTickElementThreshold;
803
+ return density < 1 ? 1 : density;
804
+ }
805
+ generateTickValues() {
806
+ var _a;
807
+ const tickInterval = (_a = this.ticks) !== null && _a !== void 0 ? _a : 0;
808
+ if (tickInterval <= 0) {
809
+ return [];
810
+ }
811
+ const ticks = [this.min];
812
+ const density = this.getTickDensity();
813
+ const tickOffset = tickInterval * density;
814
+ let current = this.min;
815
+ while (current < this.max) {
816
+ current += tickOffset;
817
+ ticks.push(Math.min(current, this.max));
818
+ }
819
+ if (!ticks.includes(this.max)) {
820
+ ticks.push(this.max);
821
+ }
822
+ return ticks;
823
+ }
824
+ pointerDownDragStart(event, prop) {
825
+ if (!dom.isPrimaryPointerButton(event)) {
826
+ return;
827
+ }
828
+ this.dragStart(prop);
829
+ }
830
+ dragStart(prop) {
831
+ this.dragProp = prop;
832
+ this.lastDragProp = this.dragProp;
833
+ this.activeProp = prop;
834
+ document.addEventListener("pointermove", this.dragUpdate);
835
+ document.addEventListener("pointerup", this.pointerUpDragEnd);
836
+ document.addEventListener("pointercancel", this.dragEnd);
837
+ }
838
+ focusActiveHandle(valueX) {
839
+ switch (this.dragProp) {
840
+ case "minValue":
841
+ this.minHandle.focus();
842
+ break;
843
+ case "maxValue":
844
+ case "value":
845
+ this.maxHandle.focus();
846
+ break;
847
+ case "minMaxValue":
848
+ this.getClosestHandle(valueX).focus();
849
+ break;
850
+ }
851
+ }
852
+ emitInput() {
853
+ this.calciteSliderInput.emit();
854
+ }
855
+ emitChange() {
856
+ this.calciteSliderChange.emit();
857
+ }
858
+ removeDragListeners() {
859
+ document.removeEventListener("pointermove", this.dragUpdate);
860
+ document.removeEventListener("pointerup", this.pointerUpDragEnd);
861
+ document.removeEventListener("pointercancel", this.dragEnd);
862
+ }
863
+ /**
864
+ * Set prop value(s) if changed at the component level
865
+ *
866
+ * @param {object} values - a set of key/value pairs delineating what properties in the component to update
867
+ */
868
+ setValue(values) {
869
+ let valueChanged;
870
+ Object.keys(values).forEach((propName) => {
871
+ const newValue = values[propName];
872
+ if (!valueChanged) {
873
+ const oldValue = this[propName];
874
+ valueChanged = oldValue !== newValue;
875
+ }
876
+ this[propName] = newValue;
877
+ });
878
+ if (!valueChanged) {
879
+ return;
880
+ }
881
+ const dragging = this.dragProp;
882
+ if (!dragging) {
883
+ this.emitChange();
884
+ }
885
+ this.emitInput();
886
+ }
887
+ /**
888
+ * If number is outside range, constrain to min or max
889
+ *
890
+ * @param value
891
+ * @param prop
892
+ * @internal
893
+ */
894
+ clamp(value, prop) {
895
+ value = math.clamp(value, this.min, this.max);
896
+ // ensure that maxValue and minValue don't swap positions
897
+ if (prop === "maxValue") {
898
+ value = Math.max(value, this.minValue);
899
+ }
900
+ if (prop === "minValue") {
901
+ value = Math.min(value, this.maxValue);
902
+ }
903
+ return value;
904
+ }
905
+ /**
906
+ * Translate a pixel position to value along the range
907
+ *
908
+ * @param x
909
+ * @internal
910
+ */
911
+ translate(x) {
912
+ const range = this.max - this.min;
913
+ const { left, width } = this.trackEl.getBoundingClientRect();
914
+ const percent = (x - left) / width;
915
+ const mirror = this.shouldMirror();
916
+ const clampedValue = this.clamp(this.min + range * (mirror ? 1 - percent : percent));
917
+ let value = Number(clampedValue.toFixed(math.decimalPlaces(this.step)));
918
+ if (this.snap && this.step) {
919
+ value = this.getClosestStep(value);
920
+ }
921
+ return value;
922
+ }
923
+ /**
924
+ * Get closest allowed value along stepped values
925
+ *
926
+ * @param num
927
+ * @internal
928
+ */
929
+ getClosestStep(num) {
930
+ num = Number(this.clamp(num).toFixed(math.decimalPlaces(this.step)));
931
+ if (this.step) {
932
+ const step = Math.round(num / this.step) * this.step;
933
+ num = Number(this.clamp(step).toFixed(math.decimalPlaces(this.step)));
934
+ }
935
+ return num;
936
+ }
937
+ getClosestHandle(valueX) {
938
+ return this.getDistanceX(this.maxHandle, valueX) > this.getDistanceX(this.minHandle, valueX)
939
+ ? this.minHandle
940
+ : this.maxHandle;
941
+ }
942
+ getDistanceX(el, valueX) {
943
+ return Math.abs(el.getBoundingClientRect().left - valueX);
944
+ }
945
+ getFontSizeForElement(element) {
946
+ return Number(window.getComputedStyle(element).getPropertyValue("font-size").match(/\d+/)[0]);
947
+ }
948
+ /**
949
+ * Get position of value along range as fractional value
950
+ *
951
+ * @param num
952
+ * @return {number} number in the unit interval [0,1]
953
+ * @internal
954
+ */
955
+ getUnitInterval(num) {
956
+ num = this.clamp(num);
957
+ const range = this.max - this.min;
958
+ return (num - this.min) / range;
959
+ }
960
+ adjustHostObscuredHandleLabel(name) {
961
+ const label = this.el.shadowRoot.querySelector(`.handle__label--${name}`);
962
+ const labelStatic = this.el.shadowRoot.querySelector(`.handle__label--${name}.static`);
963
+ const labelTransformed = this.el.shadowRoot.querySelector(`.handle__label--${name}.transformed`);
964
+ const labelStaticBounds = labelStatic.getBoundingClientRect();
965
+ const labelStaticOffset = this.getHostOffset(labelStaticBounds.left, labelStaticBounds.right);
966
+ label.style.transform = `translateX(${labelStaticOffset}px)`;
967
+ labelTransformed.style.transform = `translateX(${labelStaticOffset}px)`;
968
+ }
969
+ hyphenateCollidingRangeHandleLabels() {
970
+ const { shadowRoot } = this.el;
971
+ const mirror = this.shouldMirror();
972
+ const leftModifier = mirror ? "value" : "minValue";
973
+ const rightModifier = mirror ? "minValue" : "value";
974
+ const leftValueLabel = shadowRoot.querySelector(`.handle__label--${leftModifier}`);
975
+ const leftValueLabelStatic = shadowRoot.querySelector(`.handle__label--${leftModifier}.static`);
976
+ const leftValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${leftModifier}.transformed`);
977
+ const leftValueLabelStaticHostOffset = this.getHostOffset(leftValueLabelStatic.getBoundingClientRect().left, leftValueLabelStatic.getBoundingClientRect().right);
978
+ const rightValueLabel = shadowRoot.querySelector(`.handle__label--${rightModifier}`);
979
+ const rightValueLabelStatic = shadowRoot.querySelector(`.handle__label--${rightModifier}.static`);
980
+ const rightValueLabelTransformed = shadowRoot.querySelector(`.handle__label--${rightModifier}.transformed`);
981
+ const rightValueLabelStaticHostOffset = this.getHostOffset(rightValueLabelStatic.getBoundingClientRect().left, rightValueLabelStatic.getBoundingClientRect().right);
982
+ const labelFontSize = this.getFontSizeForElement(leftValueLabel);
983
+ const labelTransformedOverlap = this.getRangeLabelOverlap(leftValueLabelTransformed, rightValueLabelTransformed);
984
+ const hyphenLabel = leftValueLabel;
985
+ const labelOffset = labelFontSize / 2;
986
+ if (labelTransformedOverlap > 0) {
987
+ hyphenLabel.classList.add("hyphen", "hyphen--wrap");
988
+ if (rightValueLabelStaticHostOffset === 0 && leftValueLabelStaticHostOffset === 0) {
989
+ // Neither handle overlaps the host boundary
990
+ let leftValueLabelTranslate = labelTransformedOverlap / 2 - labelOffset;
991
+ leftValueLabelTranslate =
992
+ Math.sign(leftValueLabelTranslate) === -1
993
+ ? Math.abs(leftValueLabelTranslate)
994
+ : -leftValueLabelTranslate;
995
+ const leftValueLabelTransformedHostOffset = this.getHostOffset(leftValueLabelTransformed.getBoundingClientRect().left +
996
+ leftValueLabelTranslate -
997
+ labelOffset, leftValueLabelTransformed.getBoundingClientRect().right +
998
+ leftValueLabelTranslate -
999
+ labelOffset);
1000
+ let rightValueLabelTranslate = labelTransformedOverlap / 2;
1001
+ const rightValueLabelTransformedHostOffset = this.getHostOffset(rightValueLabelTransformed.getBoundingClientRect().left + rightValueLabelTranslate, rightValueLabelTransformed.getBoundingClientRect().right + rightValueLabelTranslate);
1002
+ if (leftValueLabelTransformedHostOffset !== 0) {
1003
+ leftValueLabelTranslate += leftValueLabelTransformedHostOffset;
1004
+ rightValueLabelTranslate += leftValueLabelTransformedHostOffset;
1005
+ }
1006
+ if (rightValueLabelTransformedHostOffset !== 0) {
1007
+ leftValueLabelTranslate += rightValueLabelTransformedHostOffset;
1008
+ rightValueLabelTranslate += rightValueLabelTransformedHostOffset;
1009
+ }
1010
+ leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
1011
+ leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
1012
+ rightValueLabel.style.transform = `translateX(${rightValueLabelTranslate}px)`;
1013
+ rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelTranslate}px)`;
1014
+ }
1015
+ else if (leftValueLabelStaticHostOffset > 0 || rightValueLabelStaticHostOffset > 0) {
1016
+ // labels overlap host boundary on the left side
1017
+ leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset + labelOffset}px)`;
1018
+ rightValueLabel.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
1019
+ rightValueLabelTransformed.style.transform = `translateX(${labelTransformedOverlap + rightValueLabelStaticHostOffset}px)`;
1020
+ }
1021
+ else if (leftValueLabelStaticHostOffset < 0 || rightValueLabelStaticHostOffset < 0) {
1022
+ // labels overlap host boundary on the right side
1023
+ let leftValueLabelTranslate = Math.abs(leftValueLabelStaticHostOffset) + labelTransformedOverlap - labelOffset;
1024
+ leftValueLabelTranslate =
1025
+ Math.sign(leftValueLabelTranslate) === -1
1026
+ ? Math.abs(leftValueLabelTranslate)
1027
+ : -leftValueLabelTranslate;
1028
+ leftValueLabel.style.transform = `translateX(${leftValueLabelTranslate}px)`;
1029
+ leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelTranslate - labelOffset}px)`;
1030
+ }
1031
+ }
1032
+ else {
1033
+ hyphenLabel.classList.remove("hyphen", "hyphen--wrap");
1034
+ leftValueLabel.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
1035
+ leftValueLabelTransformed.style.transform = `translateX(${leftValueLabelStaticHostOffset}px)`;
1036
+ rightValueLabel.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
1037
+ rightValueLabelTransformed.style.transform = `translateX(${rightValueLabelStaticHostOffset}px)`;
1038
+ }
1039
+ }
1040
+ /**
1041
+ * Hides bounding tick labels that are obscured by either handle.
1042
+ */
1043
+ hideObscuredBoundingTickLabels() {
1044
+ const valueIsRange = isRange(this.value);
1045
+ if (!this.hasHistogram && !valueIsRange && !this.labelHandles && !this.precise) {
1046
+ return;
1047
+ }
1048
+ if (!this.hasHistogram && !valueIsRange && this.labelHandles && !this.precise) {
1049
+ return;
1050
+ }
1051
+ if (!this.hasHistogram && !valueIsRange && !this.labelHandles && this.precise) {
1052
+ return;
1053
+ }
1054
+ if (!this.hasHistogram && !valueIsRange && this.labelHandles && this.precise) {
1055
+ return;
1056
+ }
1057
+ if (!this.hasHistogram && valueIsRange && !this.precise) {
1058
+ return;
1059
+ }
1060
+ if (this.hasHistogram && !this.precise && !this.labelHandles) {
1061
+ return;
1062
+ }
1063
+ const minHandle = this.el.shadowRoot.querySelector(".thumb--minValue");
1064
+ const maxHandle = this.el.shadowRoot.querySelector(".thumb--value");
1065
+ const minTickLabel = this.el.shadowRoot.querySelector(".tick__label--min");
1066
+ const maxTickLabel = this.el.shadowRoot.querySelector(".tick__label--max");
1067
+ if (!minHandle && maxHandle && minTickLabel && maxTickLabel) {
1068
+ minTickLabel.style.opacity = this.isMinTickLabelObscured(minTickLabel, maxHandle) ? "0" : "1";
1069
+ maxTickLabel.style.opacity = this.isMaxTickLabelObscured(maxTickLabel, maxHandle) ? "0" : "1";
1070
+ }
1071
+ if (minHandle && maxHandle && minTickLabel && maxTickLabel) {
1072
+ minTickLabel.style.opacity =
1073
+ this.isMinTickLabelObscured(minTickLabel, minHandle) ||
1074
+ this.isMinTickLabelObscured(minTickLabel, maxHandle)
1075
+ ? "0"
1076
+ : "1";
1077
+ maxTickLabel.style.opacity =
1078
+ this.isMaxTickLabelObscured(maxTickLabel, minHandle) ||
1079
+ (this.isMaxTickLabelObscured(maxTickLabel, maxHandle) && this.hasHistogram)
1080
+ ? "0"
1081
+ : "1";
1082
+ }
1083
+ }
1084
+ /**
1085
+ * Returns an integer representing the number of pixels to offset on the left or right side based on desired position behavior.
1086
+ *
1087
+ * @param leftBounds
1088
+ * @param rightBounds
1089
+ * @internal
1090
+ */
1091
+ getHostOffset(leftBounds, rightBounds) {
1092
+ const hostBounds = this.el.getBoundingClientRect();
1093
+ const buffer = 7;
1094
+ if (leftBounds + buffer < hostBounds.left) {
1095
+ return hostBounds.left - leftBounds - buffer;
1096
+ }
1097
+ if (rightBounds - buffer > hostBounds.right) {
1098
+ return -(rightBounds - hostBounds.right) + buffer;
1099
+ }
1100
+ return 0;
1101
+ }
1102
+ /**
1103
+ * Returns an integer representing the number of pixels that the two given span elements are overlapping, taking into account
1104
+ * 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.
1105
+ *
1106
+ * @param leftLabel
1107
+ * @param rightLabel
1108
+ */
1109
+ getRangeLabelOverlap(leftLabel, rightLabel) {
1110
+ const leftLabelBounds = leftLabel.getBoundingClientRect();
1111
+ const rightLabelBounds = rightLabel.getBoundingClientRect();
1112
+ const leftLabelFontSize = this.getFontSizeForElement(leftLabel);
1113
+ const rangeLabelOverlap = leftLabelBounds.right + leftLabelFontSize - rightLabelBounds.left;
1114
+ return Math.max(rangeLabelOverlap, 0);
1115
+ }
1116
+ /**
1117
+ * Returns a boolean value representing if the minLabel span element is obscured (being overlapped) by the given handle div element.
1118
+ *
1119
+ * @param minLabel
1120
+ * @param handle
1121
+ */
1122
+ isMinTickLabelObscured(minLabel, handle) {
1123
+ const minLabelBounds = minLabel.getBoundingClientRect();
1124
+ const handleBounds = handle.getBoundingClientRect();
1125
+ return dom.intersects(minLabelBounds, handleBounds);
1126
+ }
1127
+ /**
1128
+ * Returns a boolean value representing if the maxLabel span element is obscured (being overlapped) by the given handle div element.
1129
+ *
1130
+ * @param maxLabel
1131
+ * @param handle
1132
+ */
1133
+ isMaxTickLabelObscured(maxLabel, handle) {
1134
+ const maxLabelBounds = maxLabel.getBoundingClientRect();
1135
+ const handleBounds = handle.getBoundingClientRect();
1136
+ return dom.intersects(maxLabelBounds, handleBounds);
1137
+ }
1138
+ static get delegatesFocus() { return true; }
1139
+ get el() { return index.getElement(this); }
1140
+ static get watchers() { return {
1141
+ "histogram": ["histogramWatcher"],
1142
+ "ticks": ["ticksWatcher"],
1143
+ "value": ["valueHandler"],
1144
+ "minValue": ["minMaxValueHandler"],
1145
+ "maxValue": ["minMaxValueHandler"]
1146
+ }; }
1147
+ };
1148
1148
  Slider.style = sliderCss;
1149
1149
 
1150
1150
  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}";
1151
1151
 
1152
- const MapDrawTools = class {
1153
- constructor(hostRef) {
1154
- index.registerInstance(this, hostRef);
1155
- this.selectionLoadingChange = index.createEvent(this, "selectionLoadingChange", 7);
1156
- this.sketchGraphicsChange = index.createEvent(this, "sketchGraphicsChange", 7);
1157
- this.drawUndo = index.createEvent(this, "drawUndo", 7);
1158
- this.drawRedo = index.createEvent(this, "drawRedo", 7);
1159
- this.active = false;
1160
- this.drawMode = interfaces.EDrawMode.SKETCH;
1161
- this.editGraphicsEnabled = true;
1162
- this.graphics = undefined;
1163
- this.mapView = undefined;
1164
- this.pointSymbol = undefined;
1165
- this.polylineSymbol = undefined;
1166
- this.polygonSymbol = undefined;
1167
- this.redoEnabled = false;
1168
- this.undoEnabled = false;
1169
- this._translations = undefined;
1170
- this._selectionMode = undefined;
1171
- }
1172
- //--------------------------------------------------------------------------
1173
- //
1174
- // Watch handlers
1175
- //
1176
- //--------------------------------------------------------------------------
1177
- /**
1178
- * Called each time the graphics prop is changed.
1179
- */
1180
- graphicsWatchHandler(v, oldV) {
1181
- if (v && v.length > 0 && JSON.stringify(v) !== JSON.stringify(oldV) && this._sketchGraphicsLayer) {
1182
- this._updateGraphicsSymbols(v);
1183
- this._sketchGraphicsLayer.removeAll();
1184
- this._sketchGraphicsLayer.addMany(v);
1185
- }
1186
- }
1187
- /**
1188
- * Called each time the mapView prop is changed.
1189
- */
1190
- mapViewWatchHandler(v, oldV) {
1191
- if (v && v !== oldV) {
1192
- this._init();
1193
- }
1194
- }
1195
- //--------------------------------------------------------------------------
1196
- //
1197
- // Methods (public)
1198
- //
1199
- //--------------------------------------------------------------------------
1200
- /**
1201
- * Clears the user drawn graphics
1202
- *
1203
- * @returns Promise that resolves when the operation is complete
1204
- */
1205
- async clear() {
1206
- this._clearSketch();
1207
- }
1208
- /**
1209
- * Set the sketch widget to update mode with the current graphic
1210
- *
1211
- * @returns Promise that resolves when the operation is complete
1212
- */
1213
- async updateGraphics() {
1214
- this._updateGraphics();
1215
- }
1216
- //--------------------------------------------------------------------------
1217
- //
1218
- // Functions (lifecycle)
1219
- //
1220
- //--------------------------------------------------------------------------
1221
- /**
1222
- * StencilJS: Called once just after the component is first connected to the DOM.
1223
- *
1224
- * @returns Promise when complete
1225
- */
1226
- async componentWillLoad() {
1227
- await this._getTranslations();
1228
- await this._initModules();
1229
- }
1230
- /**
1231
- * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
1232
- *
1233
- * @returns Promise when complete
1234
- */
1235
- componentDidLoad() {
1236
- this._init();
1237
- }
1238
- /**
1239
- * StencilJS: Called every time the component is disconnected from the DOM
1240
- *
1241
- * @returns void
1242
- */
1243
- disconnectedCallback() {
1244
- // cancel any existing create operations
1245
- this._sketchWidget.cancel();
1246
- // clear any current temp sketch
1247
- this._clearSketch();
1248
- }
1249
- /**
1250
- * Renders the component.
1251
- */
1252
- render() {
1253
- const containerClass = this.drawMode === interfaces.EDrawMode.SKETCH ?
1254
- "border" : "border esri-widget esri-sketch__panel";
1255
- const undoRedoClass = this.drawMode === interfaces.EDrawMode.SKETCH ?
1256
- "display-none" : "esri-widget esri-sketch__panel border-left esri-sketch__section";
1257
- return (index.h(index.Host, null, index.h("div", { class: containerClass }, index.h("div", { ref: (el) => { this._sketchElement = el; } }), index.h("div", { class: undoRedoClass }, index.h("calcite-action", { disabled: !this.undoEnabled, icon: "undo", onClick: () => this._undo(), scale: "s", text: this._translations.undo }), index.h("calcite-action", { disabled: !this.redoEnabled, icon: "redo", onClick: () => this._redo(), scale: "s", text: this._translations.redo })))));
1258
- }
1259
- //--------------------------------------------------------------------------
1260
- //
1261
- // Functions (protected)
1262
- //
1263
- //--------------------------------------------------------------------------
1264
- /**
1265
- * Load esri javascript api modules
1266
- *
1267
- * @returns Promise resolving when function is done
1268
- *
1269
- * @protected
1270
- */
1271
- async _initModules() {
1272
- const [GraphicsLayer, Sketch, SketchViewModel] = await loadModules.loadModules([
1273
- "esri/layers/GraphicsLayer",
1274
- "esri/widgets/Sketch",
1275
- "esri/widgets/Sketch/SketchViewModel"
1276
- ]);
1277
- this.GraphicsLayer = GraphicsLayer;
1278
- this.Sketch = Sketch;
1279
- this.SketchViewModel = SketchViewModel;
1280
- }
1281
- /**
1282
- * Initialize the graphics layer and the tools that support creating new graphics
1283
- *
1284
- * @protected
1285
- */
1286
- _init() {
1287
- if (this.mapView && this._sketchElement) {
1288
- this._initGraphicsLayer();
1289
- this._initSketch();
1290
- }
1291
- }
1292
- /**
1293
- * Initialize the graphics layer
1294
- *
1295
- * @returns Promise when the operation has completed
1296
- * @protected
1297
- */
1298
- _initGraphicsLayer() {
1299
- const title = this._translations.sketchLayer;
1300
- const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
1301
- if (sketchIndex > -1) {
1302
- this._sketchGraphicsLayer = this.mapView.map.layers.getItemAt(sketchIndex);
1303
- }
1304
- else {
1305
- this._sketchGraphicsLayer = new this.GraphicsLayer({ title, listMode: "hide" });
1306
- publicNotificationStore.state.managedLayers.push(title);
1307
- this.mapView.map.layers.add(this._sketchGraphicsLayer);
1308
- }
1309
- if (this.graphics && this.graphics.length > 0) {
1310
- this._sketchGraphicsLayer.addMany(this.graphics);
1311
- }
1312
- }
1313
- /**
1314
- * Initialize the skecth widget
1315
- *
1316
- * @protected
1317
- */
1318
- _initSketch() {
1319
- const sketchOptions = {
1320
- layer: this._sketchGraphicsLayer,
1321
- view: this.mapView,
1322
- defaultCreateOptions: {
1323
- mode: "hybrid"
1324
- },
1325
- defaultUpdateOptions: {
1326
- preserveAspectRatio: false,
1327
- enableScaling: false,
1328
- enableRotation: false,
1329
- tool: "reshape",
1330
- toggleToolOnClick: false
1331
- }
1332
- };
1333
- this._sketchWidget = new this.Sketch(Object.assign(Object.assign({}, sketchOptions), { container: this._sketchElement, creationMode: "single", visibleElements: {
1334
- duplicateButton: false,
1335
- selectionTools: {
1336
- "lasso-selection": false,
1337
- "rectangle-selection": false
1338
- }, createTools: {
1339
- circle: false
1340
- },
1341
- undoRedoMenu: false,
1342
- settingsMenu: this.drawMode === interfaces.EDrawMode.SKETCH
1343
- } }));
1344
- this._sketchViewModel = new this.SketchViewModel(Object.assign({}, sketchOptions));
1345
- this._sketchWidget.viewModel.polylineSymbol = this.polylineSymbol;
1346
- this._sketchWidget.viewModel.pointSymbol = this.pointSymbol;
1347
- this._sketchWidget.viewModel.polygonSymbol = this.polygonSymbol;
1348
- let forceCreate = false;
1349
- this._sketchWidget.on("create", (evt) => {
1350
- if (evt.state === "complete") {
1351
- this.graphics = [evt.graphic];
1352
- this.sketchGraphicsChange.emit({
1353
- graphics: this.graphics,
1354
- useOIDs: false
1355
- });
1356
- if (this.drawMode === interfaces.EDrawMode.REFINE) {
1357
- // calling create during complete will force the cancel event
1358
- // https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#event-create
1359
- forceCreate = true;
1360
- this._sketchWidget.viewModel.create(evt.tool);
1361
- }
1362
- }
1363
- if (evt.state === "cancel" && this.drawMode === interfaces.EDrawMode.REFINE && forceCreate) {
1364
- forceCreate = !forceCreate;
1365
- this._sketchWidget.viewModel.create(evt.tool);
1366
- }
1367
- });
1368
- this._sketchWidget.on("update", (evt) => {
1369
- var _a;
1370
- if (!this.editGraphicsEnabled) {
1371
- this._sketchWidget.viewModel.cancel();
1372
- this._sketchViewModel.cancel();
1373
- }
1374
- else {
1375
- const eventType = (_a = evt === null || evt === void 0 ? void 0 : evt.toolEventInfo) === null || _a === void 0 ? void 0 : _a.type;
1376
- if (eventType === "reshape-stop" || eventType === "move-stop") {
1377
- this.graphics = evt.graphics;
1378
- this.sketchGraphicsChange.emit({
1379
- graphics: this.graphics,
1380
- useOIDs: false
1381
- });
1382
- }
1383
- }
1384
- });
1385
- this._sketchWidget.on("delete", () => {
1386
- this.graphics = [];
1387
- this.sketchGraphicsChange.emit({
1388
- graphics: this.graphics,
1389
- useOIDs: false
1390
- });
1391
- });
1392
- this._sketchWidget.on("undo", (evt) => {
1393
- this.graphics = evt.graphics;
1394
- this.sketchGraphicsChange.emit({
1395
- graphics: this.graphics,
1396
- useOIDs: false
1397
- });
1398
- });
1399
- this._sketchWidget.on("redo", (evt) => {
1400
- this.graphics = evt.graphics;
1401
- this.sketchGraphicsChange.emit({
1402
- graphics: this.graphics,
1403
- useOIDs: false
1404
- });
1405
- });
1406
- }
1407
- /**
1408
- * Clear any stored graphics and remove all graphics from the graphics layer
1409
- *
1410
- * @protected
1411
- */
1412
- _clearSketch() {
1413
- var _a;
1414
- this._sketchWidget.viewModel.cancel();
1415
- this.graphics = [];
1416
- (_a = this._sketchGraphicsLayer) === null || _a === void 0 ? void 0 : _a.removeAll();
1417
- }
1418
- /**
1419
- * Emit the undo event
1420
- *
1421
- * @protected
1422
- */
1423
- _undo() {
1424
- this.drawUndo.emit();
1425
- }
1426
- /**
1427
- * Emit the undo event
1428
- *
1429
- * @protected
1430
- */
1431
- _redo() {
1432
- this.drawRedo.emit();
1433
- }
1434
- /**
1435
- * Set the sketch widget to update mode with the current graphic
1436
- *
1437
- * reshape tool only supports a single graphic
1438
- *
1439
- * @protected
1440
- */
1441
- _updateGraphics() {
1442
- setTimeout(() => {
1443
- if (this.graphics.length === 1) {
1444
- void this._sketchWidget.update(this.graphics, {
1445
- tool: "reshape",
1446
- enableRotation: false,
1447
- enableScaling: false,
1448
- preserveAspectRatio: false,
1449
- toggleToolOnClick: false
1450
- });
1451
- }
1452
- }, 100);
1453
- }
1454
- /**
1455
- * Any time graphics are added update the symbology so they will always be consistent
1456
- * regardless of where they are from.
1457
- * https://github.com/Esri/solutions-components/issues/246
1458
- *
1459
- * reshape tool only supports a single graphic
1460
- *
1461
- * @protected
1462
- */
1463
- _updateGraphicsSymbols(graphics) {
1464
- // graphics will only be of one gemetry type
1465
- const graphic = graphics[0];
1466
- const type = graphic.geometry.type;
1467
- const symbol = type === "point" ? this.pointSymbol :
1468
- type === "polyline" ? this.polylineSymbol :
1469
- type === "polygon" ? this.polygonSymbol : undefined;
1470
- if (symbol) {
1471
- graphics.forEach(g => g.symbol = symbol);
1472
- }
1473
- }
1474
- /**
1475
- * Fetches the component's translations
1476
- *
1477
- * @protected
1478
- */
1479
- async _getTranslations() {
1480
- const translations = await locale.getLocaleComponentStrings(this.el);
1481
- this._translations = translations[0];
1482
- }
1483
- get el() { return index.getElement(this); }
1484
- static get watchers() { return {
1485
- "graphics": ["graphicsWatchHandler"],
1486
- "mapView": ["mapViewWatchHandler"]
1487
- }; }
1488
- };
1152
+ const MapDrawTools = class {
1153
+ constructor(hostRef) {
1154
+ index.registerInstance(this, hostRef);
1155
+ this.selectionLoadingChange = index.createEvent(this, "selectionLoadingChange", 7);
1156
+ this.sketchGraphicsChange = index.createEvent(this, "sketchGraphicsChange", 7);
1157
+ this.drawUndo = index.createEvent(this, "drawUndo", 7);
1158
+ this.drawRedo = index.createEvent(this, "drawRedo", 7);
1159
+ this.active = false;
1160
+ this.drawMode = interfaces.EDrawMode.SKETCH;
1161
+ this.editGraphicsEnabled = true;
1162
+ this.graphics = undefined;
1163
+ this.mapView = undefined;
1164
+ this.pointSymbol = undefined;
1165
+ this.polylineSymbol = undefined;
1166
+ this.polygonSymbol = undefined;
1167
+ this.redoEnabled = false;
1168
+ this.undoEnabled = false;
1169
+ this._translations = undefined;
1170
+ this._selectionMode = undefined;
1171
+ }
1172
+ //--------------------------------------------------------------------------
1173
+ //
1174
+ // Watch handlers
1175
+ //
1176
+ //--------------------------------------------------------------------------
1177
+ /**
1178
+ * Called each time the graphics prop is changed.
1179
+ */
1180
+ graphicsWatchHandler(v, oldV) {
1181
+ if (v && v.length > 0 && JSON.stringify(v) !== JSON.stringify(oldV) && this._sketchGraphicsLayer) {
1182
+ this._updateGraphicsSymbols(v);
1183
+ this._sketchGraphicsLayer.removeAll();
1184
+ this._sketchGraphicsLayer.addMany(v);
1185
+ }
1186
+ }
1187
+ /**
1188
+ * Called each time the mapView prop is changed.
1189
+ */
1190
+ mapViewWatchHandler(v, oldV) {
1191
+ if (v && v !== oldV) {
1192
+ this._init();
1193
+ }
1194
+ }
1195
+ //--------------------------------------------------------------------------
1196
+ //
1197
+ // Methods (public)
1198
+ //
1199
+ //--------------------------------------------------------------------------
1200
+ /**
1201
+ * Clears the user drawn graphics
1202
+ *
1203
+ * @returns Promise that resolves when the operation is complete
1204
+ */
1205
+ async clear() {
1206
+ this._clearSketch();
1207
+ }
1208
+ /**
1209
+ * Set the sketch widget to update mode with the current graphic
1210
+ *
1211
+ * @returns Promise that resolves when the operation is complete
1212
+ */
1213
+ async updateGraphics() {
1214
+ this._updateGraphics();
1215
+ }
1216
+ //--------------------------------------------------------------------------
1217
+ //
1218
+ // Functions (lifecycle)
1219
+ //
1220
+ //--------------------------------------------------------------------------
1221
+ /**
1222
+ * StencilJS: Called once just after the component is first connected to the DOM.
1223
+ *
1224
+ * @returns Promise when complete
1225
+ */
1226
+ async componentWillLoad() {
1227
+ await this._getTranslations();
1228
+ await this._initModules();
1229
+ }
1230
+ /**
1231
+ * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
1232
+ *
1233
+ * @returns Promise when complete
1234
+ */
1235
+ componentDidLoad() {
1236
+ this._init();
1237
+ }
1238
+ /**
1239
+ * StencilJS: Called every time the component is disconnected from the DOM
1240
+ *
1241
+ * @returns void
1242
+ */
1243
+ disconnectedCallback() {
1244
+ // cancel any existing create operations
1245
+ this._sketchWidget.cancel();
1246
+ // clear any current temp sketch
1247
+ this._clearSketch();
1248
+ }
1249
+ /**
1250
+ * Renders the component.
1251
+ */
1252
+ render() {
1253
+ const containerClass = this.drawMode === interfaces.EDrawMode.SKETCH ?
1254
+ "border" : "border esri-widget esri-sketch__panel";
1255
+ const undoRedoClass = this.drawMode === interfaces.EDrawMode.SKETCH ?
1256
+ "display-none" : "esri-widget esri-sketch__panel border-left esri-sketch__section";
1257
+ return (index.h(index.Host, null, index.h("div", { class: containerClass }, index.h("div", { ref: (el) => { this._sketchElement = el; } }), index.h("div", { class: undoRedoClass }, index.h("calcite-action", { disabled: !this.undoEnabled, icon: "undo", onClick: () => this._undo(), scale: "s", text: this._translations.undo }), index.h("calcite-action", { disabled: !this.redoEnabled, icon: "redo", onClick: () => this._redo(), scale: "s", text: this._translations.redo })))));
1258
+ }
1259
+ //--------------------------------------------------------------------------
1260
+ //
1261
+ // Functions (protected)
1262
+ //
1263
+ //--------------------------------------------------------------------------
1264
+ /**
1265
+ * Load esri javascript api modules
1266
+ *
1267
+ * @returns Promise resolving when function is done
1268
+ *
1269
+ * @protected
1270
+ */
1271
+ async _initModules() {
1272
+ const [GraphicsLayer, Sketch, SketchViewModel] = await loadModules.loadModules([
1273
+ "esri/layers/GraphicsLayer",
1274
+ "esri/widgets/Sketch",
1275
+ "esri/widgets/Sketch/SketchViewModel"
1276
+ ]);
1277
+ this.GraphicsLayer = GraphicsLayer;
1278
+ this.Sketch = Sketch;
1279
+ this.SketchViewModel = SketchViewModel;
1280
+ }
1281
+ /**
1282
+ * Initialize the graphics layer and the tools that support creating new graphics
1283
+ *
1284
+ * @protected
1285
+ */
1286
+ _init() {
1287
+ if (this.mapView && this._sketchElement) {
1288
+ this._initGraphicsLayer();
1289
+ this._initSketch();
1290
+ }
1291
+ }
1292
+ /**
1293
+ * Initialize the graphics layer
1294
+ *
1295
+ * @returns Promise when the operation has completed
1296
+ * @protected
1297
+ */
1298
+ _initGraphicsLayer() {
1299
+ const title = this._translations.sketchLayer;
1300
+ const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
1301
+ if (sketchIndex > -1) {
1302
+ this._sketchGraphicsLayer = this.mapView.map.layers.getItemAt(sketchIndex);
1303
+ }
1304
+ else {
1305
+ this._sketchGraphicsLayer = new this.GraphicsLayer({ title, listMode: "hide" });
1306
+ publicNotificationStore.state.managedLayers.push(title);
1307
+ this.mapView.map.layers.add(this._sketchGraphicsLayer);
1308
+ }
1309
+ if (this.graphics && this.graphics.length > 0) {
1310
+ this._sketchGraphicsLayer.addMany(this.graphics);
1311
+ }
1312
+ }
1313
+ /**
1314
+ * Initialize the skecth widget
1315
+ *
1316
+ * @protected
1317
+ */
1318
+ _initSketch() {
1319
+ const sketchOptions = {
1320
+ layer: this._sketchGraphicsLayer,
1321
+ view: this.mapView,
1322
+ defaultCreateOptions: {
1323
+ mode: "hybrid"
1324
+ },
1325
+ defaultUpdateOptions: {
1326
+ preserveAspectRatio: false,
1327
+ enableScaling: false,
1328
+ enableRotation: false,
1329
+ tool: "reshape",
1330
+ toggleToolOnClick: false
1331
+ }
1332
+ };
1333
+ this._sketchWidget = new this.Sketch(Object.assign(Object.assign({}, sketchOptions), { container: this._sketchElement, creationMode: "single", visibleElements: {
1334
+ duplicateButton: false,
1335
+ selectionTools: {
1336
+ "lasso-selection": false,
1337
+ "rectangle-selection": false
1338
+ }, createTools: {
1339
+ circle: false
1340
+ },
1341
+ undoRedoMenu: false,
1342
+ settingsMenu: this.drawMode === interfaces.EDrawMode.SKETCH
1343
+ } }));
1344
+ this._sketchViewModel = new this.SketchViewModel(Object.assign({}, sketchOptions));
1345
+ this._sketchWidget.viewModel.polylineSymbol = this.polylineSymbol;
1346
+ this._sketchWidget.viewModel.pointSymbol = this.pointSymbol;
1347
+ this._sketchWidget.viewModel.polygonSymbol = this.polygonSymbol;
1348
+ let forceCreate = false;
1349
+ this._sketchWidget.on("create", (evt) => {
1350
+ if (evt.state === "complete") {
1351
+ this.graphics = [evt.graphic];
1352
+ this.sketchGraphicsChange.emit({
1353
+ graphics: this.graphics,
1354
+ useOIDs: false
1355
+ });
1356
+ if (this.drawMode === interfaces.EDrawMode.REFINE) {
1357
+ // calling create during complete will force the cancel event
1358
+ // https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch.html#event-create
1359
+ forceCreate = true;
1360
+ this._sketchWidget.viewModel.create(evt.tool);
1361
+ }
1362
+ }
1363
+ if (evt.state === "cancel" && this.drawMode === interfaces.EDrawMode.REFINE && forceCreate) {
1364
+ forceCreate = !forceCreate;
1365
+ this._sketchWidget.viewModel.create(evt.tool);
1366
+ }
1367
+ });
1368
+ this._sketchWidget.on("update", (evt) => {
1369
+ var _a;
1370
+ if (!this.editGraphicsEnabled) {
1371
+ this._sketchWidget.viewModel.cancel();
1372
+ this._sketchViewModel.cancel();
1373
+ }
1374
+ else {
1375
+ const eventType = (_a = evt === null || evt === void 0 ? void 0 : evt.toolEventInfo) === null || _a === void 0 ? void 0 : _a.type;
1376
+ if (eventType === "reshape-stop" || eventType === "move-stop") {
1377
+ this.graphics = evt.graphics;
1378
+ this.sketchGraphicsChange.emit({
1379
+ graphics: this.graphics,
1380
+ useOIDs: false
1381
+ });
1382
+ }
1383
+ }
1384
+ });
1385
+ this._sketchWidget.on("delete", () => {
1386
+ this.graphics = [];
1387
+ this.sketchGraphicsChange.emit({
1388
+ graphics: this.graphics,
1389
+ useOIDs: false
1390
+ });
1391
+ });
1392
+ this._sketchWidget.on("undo", (evt) => {
1393
+ this.graphics = evt.graphics;
1394
+ this.sketchGraphicsChange.emit({
1395
+ graphics: this.graphics,
1396
+ useOIDs: false
1397
+ });
1398
+ });
1399
+ this._sketchWidget.on("redo", (evt) => {
1400
+ this.graphics = evt.graphics;
1401
+ this.sketchGraphicsChange.emit({
1402
+ graphics: this.graphics,
1403
+ useOIDs: false
1404
+ });
1405
+ });
1406
+ }
1407
+ /**
1408
+ * Clear any stored graphics and remove all graphics from the graphics layer
1409
+ *
1410
+ * @protected
1411
+ */
1412
+ _clearSketch() {
1413
+ var _a;
1414
+ this._sketchWidget.viewModel.cancel();
1415
+ this.graphics = [];
1416
+ (_a = this._sketchGraphicsLayer) === null || _a === void 0 ? void 0 : _a.removeAll();
1417
+ }
1418
+ /**
1419
+ * Emit the undo event
1420
+ *
1421
+ * @protected
1422
+ */
1423
+ _undo() {
1424
+ this.drawUndo.emit();
1425
+ }
1426
+ /**
1427
+ * Emit the undo event
1428
+ *
1429
+ * @protected
1430
+ */
1431
+ _redo() {
1432
+ this.drawRedo.emit();
1433
+ }
1434
+ /**
1435
+ * Set the sketch widget to update mode with the current graphic
1436
+ *
1437
+ * reshape tool only supports a single graphic
1438
+ *
1439
+ * @protected
1440
+ */
1441
+ _updateGraphics() {
1442
+ setTimeout(() => {
1443
+ if (this.graphics.length === 1) {
1444
+ void this._sketchWidget.update(this.graphics, {
1445
+ tool: "reshape",
1446
+ enableRotation: false,
1447
+ enableScaling: false,
1448
+ preserveAspectRatio: false,
1449
+ toggleToolOnClick: false
1450
+ });
1451
+ }
1452
+ }, 100);
1453
+ }
1454
+ /**
1455
+ * Any time graphics are added update the symbology so they will always be consistent
1456
+ * regardless of where they are from.
1457
+ * https://github.com/Esri/solutions-components/issues/246
1458
+ *
1459
+ * reshape tool only supports a single graphic
1460
+ *
1461
+ * @protected
1462
+ */
1463
+ _updateGraphicsSymbols(graphics) {
1464
+ // graphics will only be of one gemetry type
1465
+ const graphic = graphics[0];
1466
+ const type = graphic.geometry.type;
1467
+ const symbol = type === "point" ? this.pointSymbol :
1468
+ type === "polyline" ? this.polylineSymbol :
1469
+ type === "polygon" ? this.polygonSymbol : undefined;
1470
+ if (symbol) {
1471
+ graphics.forEach(g => g.symbol = symbol);
1472
+ }
1473
+ }
1474
+ /**
1475
+ * Fetches the component's translations
1476
+ *
1477
+ * @protected
1478
+ */
1479
+ async _getTranslations() {
1480
+ const translations = await locale.getLocaleComponentStrings(this.el);
1481
+ this._translations = translations[0];
1482
+ }
1483
+ get el() { return index.getElement(this); }
1484
+ static get watchers() { return {
1485
+ "graphics": ["graphicsWatchHandler"],
1486
+ "mapView": ["mapViewWatchHandler"]
1487
+ }; }
1488
+ };
1489
1489
  MapDrawTools.style = mapDrawToolsCss;
1490
1490
 
1491
1491
  exports.buffer_tools = BufferTools;