@esri/solutions-components 0.6.6 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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;