@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
@@ -8,72 +8,72 @@ import { getAssetPath } from '@stencil/core/internal/client';
8
8
  import { l as loadModules } from './loadModules.js';
9
9
  import { q as queryFeaturesByID } from './queryUtils.js';
10
10
 
11
- /** @license
12
- * Copyright 2022 Esri
13
- *
14
- * Licensed under the Apache License, Version 2.0 (the "License");
15
- * you may not use this file except in compliance with the License.
16
- * You may obtain a copy of the License at
17
- *
18
- * http://www.apache.org/licenses/LICENSE-2.0
19
- *
20
- * Unless required by applicable law or agreed to in writing, software
21
- * distributed under the License is distributed on an "AS IS" BASIS,
22
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
- * See the License for the specific language governing permissions and
24
- * limitations under the License.
25
- */
26
- //#region Public functions
27
- /**
28
- * Download the CSV file
29
- *
30
- * @param title Title (without file extension) to use for file; defaults to "export"
31
- * @param outputLines Lines of output to write to file
32
- *
33
- * @see {@link https://medium.com/@danny.pule/export-json-to-csv-file-using-javascript-a0b7bc5b00d2}
34
- */
35
- function downloadCSVFile(title, outputLines) {
36
- const link = document.createElement("a");
37
- if (link.download !== undefined) {
38
- link.href = URL.createObjectURL(new Blob(outputLines, { type: "text/csv;charset=utf-8;" }));
39
- link.download = `${title}.csv` || "export.csv";
40
- link.style.visibility = "hidden";
41
- document.body.appendChild(link);
42
- link.click();
43
- document.body.removeChild(link);
44
- }
45
- }
11
+ /** @license
12
+ * Copyright 2022 Esri
13
+ *
14
+ * Licensed under the Apache License, Version 2.0 (the "License");
15
+ * you may not use this file except in compliance with the License.
16
+ * You may obtain a copy of the License at
17
+ *
18
+ * http://www.apache.org/licenses/LICENSE-2.0
19
+ *
20
+ * Unless required by applicable law or agreed to in writing, software
21
+ * distributed under the License is distributed on an "AS IS" BASIS,
22
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
+ * See the License for the specific language governing permissions and
24
+ * limitations under the License.
25
+ */
26
+ //#region Public functions
27
+ /**
28
+ * Download the CSV file
29
+ *
30
+ * @param title Title (without file extension) to use for file; defaults to "export"
31
+ * @param outputLines Lines of output to write to file
32
+ *
33
+ * @see {@link https://medium.com/@danny.pule/export-json-to-csv-file-using-javascript-a0b7bc5b00d2}
34
+ */
35
+ function downloadCSVFile(title, outputLines) {
36
+ const link = document.createElement("a");
37
+ if (link.download !== undefined) {
38
+ link.href = URL.createObjectURL(new Blob(outputLines, { type: "text/csv;charset=utf-8;" }));
39
+ link.download = `${title}.csv` || "export.csv";
40
+ link.style.visibility = "hidden";
41
+ document.body.appendChild(link);
42
+ link.click();
43
+ document.body.removeChild(link);
44
+ }
45
+ }
46
46
  //#endregion
47
47
 
48
- /** @license
49
- * Copyright 2022 Esri
50
- *
51
- * Licensed under the Apache License, Version 2.0 (the "License");
52
- * you may not use this file except in compliance with the License.
53
- * You may obtain a copy of the License at
54
- *
55
- * http://www.apache.org/licenses/LICENSE-2.0
56
- *
57
- * Unless required by applicable law or agreed to in writing, software
58
- * distributed under the License is distributed on an "AS IS" BASIS,
59
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
60
- * See the License for the specific language governing permissions and
61
- * limitations under the License.
62
- */
63
- //#endregion
64
- //#region Public functions
65
- /**
66
- * Export a csv of the attributes from the features that match the provided ids
67
- *
68
- * @param filename Name to use for file
69
- * @param labels Labels to write
70
- */
71
- function exportCSV(filename, labels) {
72
- // Format values to string so it doesn't get tripped up when a value has a comma
73
- // another option could be to export with a different delimiter
74
- const outputLines = labels.map(label => Object.values(label).map(v => `"${v}"`).join(",") + "\r\n");
75
- downloadCSVFile(filename, outputLines);
76
- }
48
+ /** @license
49
+ * Copyright 2022 Esri
50
+ *
51
+ * Licensed under the Apache License, Version 2.0 (the "License");
52
+ * you may not use this file except in compliance with the License.
53
+ * You may obtain a copy of the License at
54
+ *
55
+ * http://www.apache.org/licenses/LICENSE-2.0
56
+ *
57
+ * Unless required by applicable law or agreed to in writing, software
58
+ * distributed under the License is distributed on an "AS IS" BASIS,
59
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
60
+ * See the License for the specific language governing permissions and
61
+ * limitations under the License.
62
+ */
63
+ //#endregion
64
+ //#region Public functions
65
+ /**
66
+ * Export a csv of the attributes from the features that match the provided ids
67
+ *
68
+ * @param filename Name to use for file
69
+ * @param labels Labels to write
70
+ */
71
+ function exportCSV(filename, labels) {
72
+ // Format values to string so it doesn't get tripped up when a value has a comma
73
+ // another option could be to export with a different delimiter
74
+ const outputLines = labels.map(label => Object.values(label).map(v => `"${v}"`).join(",") + "\r\n");
75
+ downloadCSVFile(filename, outputLines);
76
+ }
77
77
  //#endregion
78
78
 
79
79
  /* @preserve
@@ -2163,599 +2163,599 @@ class PDFLabels {
2163
2163
  }
2164
2164
  }
2165
2165
 
2166
- /** @license
2167
- * Copyright 2022 Esri
2168
- *
2169
- * Licensed under the Apache License, Version 2.0 (the "License");
2170
- * you may not use this file except in compliance with the License.
2171
- * You may obtain a copy of the License at
2172
- *
2173
- * http://www.apache.org/licenses/LICENSE-2.0
2174
- *
2175
- * Unless required by applicable law or agreed to in writing, software
2176
- * distributed under the License is distributed on an "AS IS" BASIS,
2177
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2178
- * See the License for the specific language governing permissions and
2179
- * limitations under the License.
2180
- */
2181
- //#endregion
2182
- //#region Public functions
2183
- /**
2184
- * Exports a PDF of labels.
2185
- *
2186
- * @param filename Name to use for file (without file extension); defaults to "export"
2187
- * @param labels Labels to write
2188
- * @param labelPageDescription Page format to use for labels
2189
- * @param title Title for each page
2190
- * @param initialImageDataUrl Data URL of image for first page
2191
- */
2192
- function exportPDF(filename, labels, labelPageDescription, title = "", initialImageDataUrl = "") {
2193
- downloadPDFFile(filename, labels, labelPageDescription, title, initialImageDataUrl);
2194
- }
2195
- //#endregion
2196
- //#region Private functions
2197
- /**
2198
- * Downloads the PDF file.
2199
- *
2200
- * @param filename Name to use for file (without file extension); defaults to "export"
2201
- * @param labels Labels to write
2202
- * @param labelPageDescription Page format to use for labels
2203
- * @param title Title for each page
2204
- * @param initialImageDataUrl Data URL of image for first page
2205
- */
2206
- function downloadPDFFile(filename, labels, labelPageDescription, title = "", initialImageDataUrl = "") {
2207
- const pdfLib = new PDFCreator_jsPDF();
2208
- pdfLib.initialize({
2209
- pageType: "ANSI_A"
2210
- }, getAssetPath(`../assets/arcgis-pdf-creator/`), "en", filename // filename without ".pdf"
2211
- )
2212
- .then(() => {
2213
- const labeller = new PDFLabels();
2214
- labeller.initialize(pdfLib)
2215
- .then(async () => {
2216
- const labelSpec = labelPageDescription.labelSpec;
2217
- let startingPageNum = 1;
2218
- // Add the screenshot to the PDF
2219
- if (initialImageDataUrl) {
2220
- const pageProperties = labelSpec.pageProperties;
2221
- const pageSize = PDFCreator.getPageSize(pageProperties.pageType);
2222
- pdfLib.drawImage(initialImageDataUrl, {
2223
- x: pageProperties.leftMargin,
2224
- y: pageProperties.topMargin,
2225
- width: pageSize.width - pageProperties.leftMargin - pageProperties.rightMargin,
2226
- height: pageSize.height - pageProperties.topMargin - pageProperties.bottomMargin
2227
- });
2228
- if (title) {
2229
- labeller.drawSupplementalText(title, 0, -0.1);
2230
- }
2231
- pdfLib.addPage();
2232
- ++startingPageNum;
2233
- }
2234
- // Add the labels to the PDF
2235
- await labeller.addLabelsToDoc(labels, labelSpec, startingPageNum, title // heading
2236
- );
2237
- pdfLib.save();
2238
- });
2239
- });
2240
- }
2166
+ /** @license
2167
+ * Copyright 2022 Esri
2168
+ *
2169
+ * Licensed under the Apache License, Version 2.0 (the "License");
2170
+ * you may not use this file except in compliance with the License.
2171
+ * You may obtain a copy of the License at
2172
+ *
2173
+ * http://www.apache.org/licenses/LICENSE-2.0
2174
+ *
2175
+ * Unless required by applicable law or agreed to in writing, software
2176
+ * distributed under the License is distributed on an "AS IS" BASIS,
2177
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2178
+ * See the License for the specific language governing permissions and
2179
+ * limitations under the License.
2180
+ */
2181
+ //#endregion
2182
+ //#region Public functions
2183
+ /**
2184
+ * Exports a PDF of labels.
2185
+ *
2186
+ * @param filename Name to use for file (without file extension); defaults to "export"
2187
+ * @param labels Labels to write
2188
+ * @param labelPageDescription Page format to use for labels
2189
+ * @param title Title for each page
2190
+ * @param initialImageDataUrl Data URL of image for first page
2191
+ */
2192
+ function exportPDF(filename, labels, labelPageDescription, title = "", initialImageDataUrl = "") {
2193
+ downloadPDFFile(filename, labels, labelPageDescription, title, initialImageDataUrl);
2194
+ }
2195
+ //#endregion
2196
+ //#region Private functions
2197
+ /**
2198
+ * Downloads the PDF file.
2199
+ *
2200
+ * @param filename Name to use for file (without file extension); defaults to "export"
2201
+ * @param labels Labels to write
2202
+ * @param labelPageDescription Page format to use for labels
2203
+ * @param title Title for each page
2204
+ * @param initialImageDataUrl Data URL of image for first page
2205
+ */
2206
+ function downloadPDFFile(filename, labels, labelPageDescription, title = "", initialImageDataUrl = "") {
2207
+ const pdfLib = new PDFCreator_jsPDF();
2208
+ pdfLib.initialize({
2209
+ pageType: "ANSI_A"
2210
+ }, getAssetPath(`../assets/arcgis-pdf-creator/`), "en", filename // filename without ".pdf"
2211
+ )
2212
+ .then(() => {
2213
+ const labeller = new PDFLabels();
2214
+ labeller.initialize(pdfLib)
2215
+ .then(async () => {
2216
+ const labelSpec = labelPageDescription.labelSpec;
2217
+ let startingPageNum = 1;
2218
+ // Add the screenshot to the PDF
2219
+ if (initialImageDataUrl) {
2220
+ const pageProperties = labelSpec.pageProperties;
2221
+ const pageSize = PDFCreator.getPageSize(pageProperties.pageType);
2222
+ pdfLib.drawImage(initialImageDataUrl, {
2223
+ x: pageProperties.leftMargin,
2224
+ y: pageProperties.topMargin,
2225
+ width: pageSize.width - pageProperties.leftMargin - pageProperties.rightMargin,
2226
+ height: pageSize.height - pageProperties.topMargin - pageProperties.bottomMargin
2227
+ });
2228
+ if (title) {
2229
+ labeller.drawSupplementalText(title, 0, -0.1);
2230
+ }
2231
+ pdfLib.addPage();
2232
+ ++startingPageNum;
2233
+ }
2234
+ // Add the labels to the PDF
2235
+ await labeller.addLabelsToDoc(labels, labelSpec, startingPageNum, title // heading
2236
+ );
2237
+ pdfLib.save();
2238
+ });
2239
+ });
2240
+ }
2241
2241
  //#endregion
2242
2242
 
2243
- /** @license
2244
- * Copyright 2022 Esri
2245
- *
2246
- * Licensed under the Apache License, Version 2.0 (the "License");
2247
- * you may not use this file except in compliance with the License.
2248
- * You may obtain a copy of the License at
2249
- *
2250
- * http://www.apache.org/licenses/LICENSE-2.0
2251
- *
2252
- * Unless required by applicable law or agreed to in writing, software
2253
- * distributed under the License is distributed on an "AS IS" BASIS,
2254
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2255
- * See the License for the specific language governing permissions and
2256
- * limitations under the License.
2257
- */
2258
- const lineSeparatorChar = "|";
2259
- //#endregion
2260
- //#region Public functions
2261
- /**
2262
- * Downloads csv of mailing labels for the provided list of ids
2263
- *
2264
- * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2265
- * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
2266
- * all attributes are exported
2267
- * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
2268
- * @param addColumnTitle Indicates if column headings should be included in output
2269
- * @returns Promise resolving when function is done
2270
- */
2271
- async function downloadCSV(exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false) {
2272
- let labels = await consolidateLabels(exportInfos, formatUsingLayerPopup, addColumnTitle, true);
2273
- labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
2274
- const layerIds = Object.keys(exportInfos);
2275
- let layerLabels = [];
2276
- labels.forEach(label => {
2277
- const id = label[0];
2278
- // layerIds are stored as value separator at the end of the values for a given layer
2279
- if (layerIds.indexOf(id) < 0) {
2280
- layerLabels.push(label);
2281
- }
2282
- else {
2283
- const selectionSetNames = _getSelectionSetNames(exportInfos, new RegExp(`\\b${id}\\b`));
2284
- // once we see the layerId we have reached the end of it's values and should export
2285
- exportCSV(_createFilename(selectionSetNames), layerLabels);
2286
- layerLabels = [];
2287
- }
2288
- });
2289
- return Promise.resolve();
2290
- }
2291
- /**
2292
- * Downloads csv of mailing labels for the provided list of ids
2293
- *
2294
- * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2295
- * @param labelPageDescription Provides PDF page layout info
2296
- * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
2297
- * @param title Title for each page
2298
- * @param initialImageDataUrl Data URL of image for first page
2299
- * @returns Promise resolving when function is done
2300
- */
2301
- async function downloadPDF(exportInfos, labelPageDescription, removeDuplicates = false, title = "", initialImageDataUrl = "") {
2302
- let labels = await consolidateLabels(exportInfos);
2303
- const selectionSetNames = _getSelectionSetNames(exportInfos);
2304
- labels =
2305
- // Remove empty lines in labels
2306
- labels.map(labelLines => labelLines.filter(line => line.length > 0))
2307
- // Remove empty labels
2308
- .filter(label => label.length > 0);
2309
- labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
2310
- exportPDF(_createFilename(selectionSetNames), labels, labelPageDescription, title, initialImageDataUrl);
2311
- return Promise.resolve();
2312
- }
2313
- //#endregion
2314
- //#region Private functions
2315
- /**
2316
- * Converts a set of fieldInfos into template lines.
2317
- *
2318
- * @param fieldInfos Layer's fieldInfos structure
2319
- * @param bypassFieldVisiblity Indicates if the configured fieldInfo visibility property should be ignored
2320
- * @return Label spec with lines separated by `lineSeparatorChar`
2321
- */
2322
- function _convertPopupFieldsToLabelSpec(fieldInfos, bypassFieldVisiblity = false) {
2323
- const labelSpec = [];
2324
- // Every visible attribute is used
2325
- fieldInfos.forEach(fieldInfo => {
2326
- if (fieldInfo.visible || bypassFieldVisiblity) {
2327
- labelSpec.push(`{${fieldInfo.fieldName}}`);
2328
- }
2329
- });
2330
- return labelSpec.join(lineSeparatorChar);
2331
- }
2332
- /**
2333
- * Converts the text of a custom popup into a multiline label specification; conversion splits text into
2334
- * lines on <br>s, and removes HTML tags. It does not handle Arcade and related records.
2335
- *
2336
- * @param popupInfo Layer's popupInfo structure containing description, fieldInfos, and expressionInfos, e.g.,
2337
- * "<div style='text-align: left;'>{NAME}<br />{STREET}<br />{CITY}, {STATE} {ZIP} <br /></div>"
2338
- * @return Label spec with lines separated by `lineSeparatorChar`
2339
- */
2340
- function _convertPopupTextToLabelSpec(popupInfo) {
2341
- // Replace <br> variants with the line separator character
2342
- popupInfo = popupInfo.replace(/<br\s*\/?>/gi, lineSeparatorChar);
2343
- // Replace <p> variants with the line separator character, except in the first position
2344
- popupInfo = popupInfo.replace(/<p[^>]*>/gi, lineSeparatorChar).trim().replace(/^\|/, "");
2345
- // Remove </p>
2346
- popupInfo = popupInfo.replace(/<\/p>/gi, "");
2347
- // Replace \n with the line separator character
2348
- popupInfo = popupInfo.replace(/\n/gi, "|");
2349
- // Remove remaining HTML tags, replace 0xA0 that popup uses for spaces, and replace some char representations
2350
- let labelSpec = popupInfo
2351
- .replace(/<[\s.]*[^<>]*\/?>/gi, "")
2352
- .replace(/\xA0/gi, " ")
2353
- .replace(/&lt;/gi, "<")
2354
- .replace(/&gt;/gi, ">")
2355
- .replace(/&nbsp;/gi, " ");
2356
- // Trim each line
2357
- labelSpec = labelSpec.replace(/\s*\|\s*/g, "|");
2358
- // Remove empty lines
2359
- while (labelSpec.match(/\|\|/)) {
2360
- labelSpec = labelSpec.replace(/\|\|/, "|");
2361
- }
2362
- // Remove leading and trailing line feeds
2363
- labelSpec = labelSpec.replace(/^\|/, "");
2364
- labelSpec = labelSpec.replace(/\|$/, "");
2365
- return labelSpec.trim();
2366
- }
2367
- /**
2368
- * Extracts Arcade expressions from the lines of a label format and creates an Arcade executor for each
2369
- * referenced expression name.
2370
- *
2371
- * @param labelFormat Label to examine
2372
- * @param layer Layer from which to fetch features
2373
- * @return Promise resolving to a set of executors keyed using the expression name
2374
- */
2375
- async function _createArcadeExecutors(labelFormat, layer) {
2376
- const arcadeExecutors = {};
2377
- // Are any Arcade expressions in the layer?
2378
- if (!Array.isArray(layer.popupTemplate.expressionInfos) || layer.popupTemplate.expressionInfos.length === 0) {
2379
- return Promise.resolve(arcadeExecutors);
2380
- }
2381
- // Are there any Arcade expressions in the label format?
2382
- const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
2383
- const arcadeExpressionsMatches = labelFormat.match(arcadeExpressionRegExp);
2384
- if (!arcadeExpressionsMatches) {
2385
- return Promise.resolve(arcadeExecutors);
2386
- }
2387
- // Generate an Arcade executor for each match
2388
- const [arcade] = await loadModules(["esri/arcade"]);
2389
- const labelingProfile = {
2390
- variables: [
2391
- {
2392
- name: "$feature",
2393
- type: "feature"
2394
- },
2395
- {
2396
- name: "$layer",
2397
- type: "featureSet"
2398
- },
2399
- {
2400
- name: "$datastore",
2401
- type: "featureSetCollection"
2402
- },
2403
- {
2404
- name: "$map",
2405
- type: "featureSetCollection"
2406
- }
2407
- ]
2408
- };
2409
- const createArcadeExecutorPromises = {};
2410
- arcadeExpressionsMatches.forEach((match) => {
2411
- const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
2412
- (layer.popupTemplate.expressionInfos || []).forEach(expressionInfo => {
2413
- if (expressionInfo.name === expressionName) {
2414
- createArcadeExecutorPromises[expressionName] =
2415
- arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
2416
- }
2417
- });
2418
- });
2419
- const promises = Object.values(createArcadeExecutorPromises);
2420
- return Promise.all(promises)
2421
- .then(executors => {
2422
- const expressionNames = Object.keys(createArcadeExecutorPromises);
2423
- for (let i = 0; i < expressionNames.length; ++i) {
2424
- arcadeExecutors[expressionNames[i]] = executors[i].valueOf();
2425
- }
2426
- return arcadeExecutors;
2427
- });
2428
- }
2429
- /**
2430
- * Creates a title from a list of selection set names.
2431
- *
2432
- * @param selectionSetNames Names to use in title
2433
- * @return Title composed of the selectionSetNames separated by commas; if there are no
2434
- * selection set names supplied, "download" is returned
2435
- */
2436
- function _createFilename(selectionSetNames) {
2437
- // Windows doesn't permit the characters \/:*?"<>|
2438
- const title = selectionSetNames.length > 0 ? selectionSetNames.join(", ") : "download";
2439
- return title;
2440
- }
2441
- /**
2442
- * Creates relationship queries for each relationship flag in a popup.
2443
- * @param layer Layer whose popup is to be examined
2444
- * @return Hash of relationships by their id, or null if there are no relationship flags in the
2445
- * popup; each relationship has the properties layer and relatedQuery for the related layer
2446
- * and the query for that layer
2447
- */
2448
- function _createRelationshipQueries(layer) {
2449
- const relationships = {};
2450
- const relationshipFieldPattern = /\{relationships\/\d+\//gm;
2451
- const relationshipIdPattern = /\d+/;
2452
- // Test if this popup has any relationship references
2453
- const matches = layer.popupTemplate.content[0].text.match(relationshipFieldPattern);
2454
- if (matches) {
2455
- matches.forEach(match => {
2456
- // Add a query to a found relationship if we don't already have one
2457
- const id = match.match(relationshipIdPattern)[0];
2458
- if (!relationships.hasOwnProperty(id)) {
2459
- const relatedQuery = {
2460
- outFields: ['*'],
2461
- relationshipId: id,
2462
- returnGeometry: false
2463
- };
2464
- relationships[id] = {
2465
- layer,
2466
- relatedQuery
2467
- };
2468
- }
2469
- });
2470
- }
2471
- return relationships;
2472
- }
2473
- /**
2474
- * Extracts Arcade expression references from the lines of a label format.
2475
- *
2476
- * @param labelFormat Label to examine
2477
- * @return Array of Arcade expression references, e.g., ["{expression/expr1}", "{expression/expr2}"]
2478
- */
2479
- function _getExpressionsFromLabel(labelFormat) {
2480
- var _a;
2481
- const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
2482
- return (_a = labelFormat.match(arcadeExpressionRegExp)) !== null && _a !== void 0 ? _a : [];
2483
- }
2484
- /**
2485
- * Extracts field name expressions from the lines of a label format.
2486
- *
2487
- * @param labelFormat Label to examine
2488
- * @returns Array of field name expressions, e.g., ["{NAME}", "{STREET}", "{CITY}", "{STATE}", "{ZIP}"]
2489
- */
2490
- function _getFieldsFromLabel(labelFormat) {
2491
- // Get all fields
2492
- const fieldExpressions = [];
2493
- let iStart = 0;
2494
- while (iStart < labelFormat.length) {
2495
- const iOpen = labelFormat.indexOf("{", iStart); // Find the next open brace
2496
- if (iOpen < 0) {
2497
- break;
2498
- } // No more open braces
2499
- const iClose = labelFormat.indexOf("}", iOpen); // Find the matching close brace
2500
- if (iClose < 0) {
2501
- break;
2502
- } // No more close braces
2503
- const fieldName = labelFormat.substring(iOpen, iClose + 1); // Extract the field name with braces
2504
- fieldExpressions.push(fieldName);
2505
- iStart = iClose + 1; // Start looking for the next field name after the close brace
2506
- }
2507
- // Get the Arcade expressions
2508
- const arcadeExpressions = _getExpressionsFromLabel(labelFormat);
2509
- // Remove the Arcade expressions from the returned list of field expressions
2510
- return fieldExpressions.filter(fieldExpression => arcadeExpressions.indexOf(fieldExpression) < 0);
2511
- }
2512
- /**
2513
- * Prepares an attribute's value by applying domain and type information.
2514
- *
2515
- * @param attributeValue Value of attribute
2516
- * @param attributeType Type of attribute
2517
- * @param attributeDomain Domain info for attribute, if any
2518
- * @param attributeFormat Format info for attribute, if any
2519
- * @param intl esri/intl
2520
- * @return Attribute value modified appropriate to domain and type
2521
- */
2522
- function _prepareAttributeValue(attributeValue, attributeType, attributeDomain, attributeFormat, intl) {
2523
- if (attributeDomain && attributeDomain.type === "coded-value") {
2524
- // "coded-value" domain field
2525
- const value = attributeDomain.getName(attributeValue);
2526
- return value;
2527
- }
2528
- else {
2529
- // Non-domain field or unsupported domain type
2530
- let value = attributeValue;
2531
- switch (attributeType) {
2532
- case "date":
2533
- if (attributeFormat === null || attributeFormat === void 0 ? void 0 : attributeFormat.dateFormat) {
2534
- const dateFormatIntlOptions = intl.convertDateFormatToIntlOptions(attributeFormat.dateFormat);
2535
- value = intl.formatDate(value, dateFormatIntlOptions);
2536
- }
2537
- else {
2538
- value = intl.formatDate(value);
2539
- }
2540
- // Format date produces odd characters for the space between the time and the AM/PM text,
2541
- // e.g., "12/31/1969, 4:00 PM"
2542
- value = value.replace(/\xe2\x80\xaf/g, "");
2543
- break;
2544
- case "double":
2545
- case "integer":
2546
- case "long":
2547
- case "small-integer":
2548
- if (attributeFormat) {
2549
- const numberFormatIntlOptions = intl.convertNumberFormatToIntlOptions(attributeFormat);
2550
- value = intl.formatNumber(value, numberFormatIntlOptions);
2551
- }
2552
- else {
2553
- value = intl.formatNumber(value);
2554
- }
2555
- break;
2556
- }
2557
- return value;
2558
- }
2559
- }
2560
- /**
2561
- * Creates labels from items.
2562
- *
2563
- * @param layer Layer from which to fetch features
2564
- * @param ids List of ids to download
2565
- * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
2566
- * all attributes are exported
2567
- * @param includeHeaderNames Add the label format at the front of the list of generated labels
2568
- * @returns Promise resolving when function is done
2569
- */
2570
- async function _prepareLabels(layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false) {
2571
- var _a, _b, _c, _d;
2572
- const [intl] = await loadModules(["esri/intl"]);
2573
- // Get the features to export
2574
- const featureSet = await queryFeaturesByID(ids, layer, [], false);
2575
- // Get field data types. Do we have any domain-based fields?
2576
- const attributeTypes = {};
2577
- const attributeDomains = {};
2578
- layer.fields.forEach(field => {
2579
- attributeTypes[field.name] = field.type;
2580
- attributeDomains[field.name] = field.domain;
2581
- });
2582
- const attributeFormats = {};
2583
- // Get the label formatting, if any
2584
- let labelFormat;
2585
- let relationshipQueries = {};
2586
- let arcadeExecutors = {};
2587
- if (layer.popupEnabled) {
2588
- layer.popupTemplate.fieldInfos.forEach(
2589
- // Extract any format info that we have
2590
- fieldInfo => {
2591
- if (fieldInfo.format) {
2592
- attributeFormats[fieldInfo.fieldName] = fieldInfo.format;
2593
- }
2594
- });
2595
- // What data fields are used in the labels?
2596
- // Example labelFormat: ['{NAME}', '{STREET}', '{CITY}, {STATE} {ZIP}']
2597
- if (formatUsingLayerPopup && ((_b = (_a = layer.popupTemplate) === null || _a === void 0 ? void 0 : _a.content[0]) === null || _b === void 0 ? void 0 : _b.type) === "fields") {
2598
- labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
2599
- // If popup is configured with "no attribute information", then no fields will visible
2600
- if (labelFormat.length === 0) {
2601
- // Can we use the popup title?
2602
- // eslint-disable-next-line unicorn/prefer-ternary
2603
- if (typeof layer.popupTemplate.title === "string") {
2604
- labelFormat = layer.popupTemplate.title;
2605
- // Otherwise revert to using attributes
2606
- }
2607
- else {
2608
- labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos, true);
2609
- }
2610
- }
2611
- }
2612
- else if (formatUsingLayerPopup && ((_d = (_c = layer.popupTemplate) === null || _c === void 0 ? void 0 : _c.content[0]) === null || _d === void 0 ? void 0 : _d.type) === "text") {
2613
- labelFormat = _convertPopupTextToLabelSpec(layer.popupTemplate.content[0].text);
2614
- // Do we need any relationship queries?
2615
- relationshipQueries = _createRelationshipQueries(layer);
2616
- // Do we need any Arcade executors?
2617
- arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
2618
- }
2619
- }
2620
- // Apply the label format
2621
- let labels;
2622
- // eslint-disable-next-line unicorn/prefer-ternary
2623
- if (labelFormat) {
2624
- // Find the label fields that we need to replace with values
2625
- const arcadeExpressionMatches = _getExpressionsFromLabel(labelFormat);
2626
- const attributeMatches = _getFieldsFromLabel(labelFormat);
2627
- // Convert feature attributes into an array of labels
2628
- const relationshipKeys = Object.keys(relationshipQueries);
2629
- labels = await Promise.all(featureSet.map(async (feature) => {
2630
- let labelPrep = labelFormat;
2631
- // Replace Arcade expressions in this feature
2632
- arcadeExpressionMatches.forEach((match) => {
2633
- const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
2634
- const value = arcadeExecutors[expressionName].execute({ "$feature": feature });
2635
- labelPrep = labelPrep.replace(match, value);
2636
- });
2637
- // Replace relationship expressions in this feature
2638
- const relatedFeatureQueries = [];
2639
- const relationshipIds = [];
2640
- relationshipKeys.forEach((relationshipId) => {
2641
- const relationship = relationshipQueries[relationshipId];
2642
- const objectId = feature.attributes[relationship.layer.objectIdField];
2643
- const relatedQuery = Object.assign(Object.assign({}, relationship.relatedQuery), { objectIds: [objectId] });
2644
- relatedFeatureQueries.push(relationship.layer.queryRelatedFeatures(relatedQuery));
2645
- relationshipIds.push(relationshipId);
2646
- });
2647
- // Wait for all of the queries for related records for this label
2648
- const relatedFeatureQueryResults = await Promise.all(relatedFeatureQueries);
2649
- relatedFeatureQueryResults.forEach((relatedFeatureQueryResult, i) => {
2650
- // We have an object with FeatureSets grouped by source layer or table objectIds
2651
- const relationshipId = relationshipIds[i];
2652
- // Run through the source layer or table objectIds
2653
- Object.keys(relatedFeatureQueryResult).forEach(relatedFeatureSetId => {
2654
- // We have a feature set
2655
- const relatedFeatures = relatedFeatureQueryResult[relatedFeatureSetId].features;
2656
- // Get the values from each feature and replace them in the label
2657
- relatedFeatures.forEach(feature => {
2658
- // Merge the base and related feature attributes and create the label
2659
- // Prefix related feature's attributes with "relationships/<id>/" to match popup
2660
- const rePrefix = "\{relationships/" + relationshipId + "/";
2661
- const reSuffix = "\}";
2662
- const attributes = feature.attributes;
2663
- Object.keys(attributes).forEach(attributeName => {
2664
- // Replace the value using the attribute name as a relationship
2665
- const attributeRelationshipRegExp = new RegExp(rePrefix + attributeName + reSuffix, "g");
2666
- labelPrep = labelPrep.replaceAll(attributeRelationshipRegExp, attributes[attributeName]);
2667
- });
2668
- });
2669
- });
2670
- });
2671
- // Replace non-Arcade fields in this feature
2672
- attributeMatches.forEach((match) => {
2673
- const attributeName = match.substring(1, match.length - 1);
2674
- const value = _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], attributeFormats[attributeName], intl);
2675
- labelPrep = labelPrep.replace(match, value);
2676
- });
2677
- // Split label into lines
2678
- let label = labelPrep.split(lineSeparatorChar);
2679
- // Trim lines
2680
- label = label.map(line => line.trim());
2681
- return label;
2682
- }));
2683
- }
2684
- else {
2685
- // Export all attributes
2686
- labels = featureSet.map(feature => {
2687
- return Object.keys(feature.attributes).map((attributeName) => {
2688
- const value = _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], null, intl);
2689
- return `${value}`;
2690
- });
2691
- });
2692
- }
2693
- // Add header names
2694
- if (includeHeaderNames) {
2695
- let headerNames = [];
2696
- if (labelFormat) {
2697
- headerNames = labelFormat.replace(/\{/g, "").replace(/\}/g, "").split(lineSeparatorChar);
2698
- }
2699
- else {
2700
- const featuresAttrs = featureSet[0].attributes;
2701
- Object.keys(featuresAttrs).forEach(k => {
2702
- headerNames.push(k);
2703
- });
2704
- }
2705
- labels.unshift(headerNames);
2706
- }
2707
- return Promise.resolve(labels);
2708
- }
2709
- /**
2710
- * Remove any duplicate labels
2711
- *
2712
- * @param labels Labels to evaluate for duplicates
2713
- * @returns labels with duplicates removed
2714
- */
2715
- function removeDuplicateLabels(labels) {
2716
- const labelsAsStrings = labels.map(label => JSON.stringify(label));
2717
- const uniqueLabels = new Set(labelsAsStrings);
2718
- return Array.from(uniqueLabels, labelString => JSON.parse(labelString));
2719
- }
2720
- /**
2721
- * Extract selectionSetNames from the provided exportInfos
2722
- *
2723
- * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2724
- * @returns selectionSetNames that will be used for export filenames
2725
- */
2726
- function _getSelectionSetNames(exportInfos, id = /.+/) {
2727
- let selectionSetNames = [];
2728
- Object.keys(exportInfos).forEach(k => {
2729
- const exportInfo = exportInfos[k];
2730
- if (id.test(k)) {
2731
- selectionSetNames = selectionSetNames.concat(exportInfo.selectionSetNames);
2732
- }
2733
- });
2734
- return selectionSetNames;
2735
- }
2736
- /**
2737
- * Create and consolidate labels from all layers
2738
- *
2739
- * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2740
- * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
2741
- * all attributes are exported
2742
- * @param includeHeaderNames Add the label format at the front of the list of generated labels
2743
- * @returns selectionSetNames that will be used for export filenames
2744
- */
2745
- async function consolidateLabels(exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false) {
2746
- const labelRequests = [];
2747
- Object.keys(exportInfos).forEach(k => {
2748
- var _a;
2749
- const labelInfo = exportInfos[k];
2750
- labelRequests.push(_prepareLabels(((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
2751
- if (isCSVExport) {
2752
- // add the layer id as a temp value separator that we can use to split values for CSV export
2753
- labelRequests.push(Promise.resolve([[k]]));
2754
- }
2755
- });
2756
- const labels = await Promise.all(labelRequests);
2757
- return labels.reduce((prev, cur) => prev.concat(cur), []);
2758
- }
2243
+ /** @license
2244
+ * Copyright 2022 Esri
2245
+ *
2246
+ * Licensed under the Apache License, Version 2.0 (the "License");
2247
+ * you may not use this file except in compliance with the License.
2248
+ * You may obtain a copy of the License at
2249
+ *
2250
+ * http://www.apache.org/licenses/LICENSE-2.0
2251
+ *
2252
+ * Unless required by applicable law or agreed to in writing, software
2253
+ * distributed under the License is distributed on an "AS IS" BASIS,
2254
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2255
+ * See the License for the specific language governing permissions and
2256
+ * limitations under the License.
2257
+ */
2258
+ const lineSeparatorChar = "|";
2259
+ //#endregion
2260
+ //#region Public functions
2261
+ /**
2262
+ * Downloads csv of mailing labels for the provided list of ids
2263
+ *
2264
+ * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2265
+ * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
2266
+ * all attributes are exported
2267
+ * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
2268
+ * @param addColumnTitle Indicates if column headings should be included in output
2269
+ * @returns Promise resolving when function is done
2270
+ */
2271
+ async function downloadCSV(exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false) {
2272
+ let labels = await consolidateLabels(exportInfos, formatUsingLayerPopup, addColumnTitle, true);
2273
+ labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
2274
+ const layerIds = Object.keys(exportInfos);
2275
+ let layerLabels = [];
2276
+ labels.forEach(label => {
2277
+ const id = label[0];
2278
+ // layerIds are stored as value separator at the end of the values for a given layer
2279
+ if (layerIds.indexOf(id) < 0) {
2280
+ layerLabels.push(label);
2281
+ }
2282
+ else {
2283
+ const selectionSetNames = _getSelectionSetNames(exportInfos, new RegExp(`\\b${id}\\b`));
2284
+ // once we see the layerId we have reached the end of it's values and should export
2285
+ exportCSV(_createFilename(selectionSetNames), layerLabels);
2286
+ layerLabels = [];
2287
+ }
2288
+ });
2289
+ return Promise.resolve();
2290
+ }
2291
+ /**
2292
+ * Downloads csv of mailing labels for the provided list of ids
2293
+ *
2294
+ * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2295
+ * @param labelPageDescription Provides PDF page layout info
2296
+ * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
2297
+ * @param title Title for each page
2298
+ * @param initialImageDataUrl Data URL of image for first page
2299
+ * @returns Promise resolving when function is done
2300
+ */
2301
+ async function downloadPDF(exportInfos, labelPageDescription, removeDuplicates = false, title = "", initialImageDataUrl = "") {
2302
+ let labels = await consolidateLabels(exportInfos);
2303
+ const selectionSetNames = _getSelectionSetNames(exportInfos);
2304
+ labels =
2305
+ // Remove empty lines in labels
2306
+ labels.map(labelLines => labelLines.filter(line => line.length > 0))
2307
+ // Remove empty labels
2308
+ .filter(label => label.length > 0);
2309
+ labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
2310
+ exportPDF(_createFilename(selectionSetNames), labels, labelPageDescription, title, initialImageDataUrl);
2311
+ return Promise.resolve();
2312
+ }
2313
+ //#endregion
2314
+ //#region Private functions
2315
+ /**
2316
+ * Converts a set of fieldInfos into template lines.
2317
+ *
2318
+ * @param fieldInfos Layer's fieldInfos structure
2319
+ * @param bypassFieldVisiblity Indicates if the configured fieldInfo visibility property should be ignored
2320
+ * @return Label spec with lines separated by `lineSeparatorChar`
2321
+ */
2322
+ function _convertPopupFieldsToLabelSpec(fieldInfos, bypassFieldVisiblity = false) {
2323
+ const labelSpec = [];
2324
+ // Every visible attribute is used
2325
+ fieldInfos.forEach(fieldInfo => {
2326
+ if (fieldInfo.visible || bypassFieldVisiblity) {
2327
+ labelSpec.push(`{${fieldInfo.fieldName}}`);
2328
+ }
2329
+ });
2330
+ return labelSpec.join(lineSeparatorChar);
2331
+ }
2332
+ /**
2333
+ * Converts the text of a custom popup into a multiline label specification; conversion splits text into
2334
+ * lines on <br>s, and removes HTML tags. It does not handle Arcade and related records.
2335
+ *
2336
+ * @param popupInfo Layer's popupInfo structure containing description, fieldInfos, and expressionInfos, e.g.,
2337
+ * "<div style='text-align: left;'>{NAME}<br />{STREET}<br />{CITY}, {STATE} {ZIP} <br /></div>"
2338
+ * @return Label spec with lines separated by `lineSeparatorChar`
2339
+ */
2340
+ function _convertPopupTextToLabelSpec(popupInfo) {
2341
+ // Replace <br> variants with the line separator character
2342
+ popupInfo = popupInfo.replace(/<br\s*\/?>/gi, lineSeparatorChar);
2343
+ // Replace <p> variants with the line separator character, except in the first position
2344
+ popupInfo = popupInfo.replace(/<p[^>]*>/gi, lineSeparatorChar).trim().replace(/^\|/, "");
2345
+ // Remove </p>
2346
+ popupInfo = popupInfo.replace(/<\/p>/gi, "");
2347
+ // Replace \n with the line separator character
2348
+ popupInfo = popupInfo.replace(/\n/gi, "|");
2349
+ // Remove remaining HTML tags, replace 0xA0 that popup uses for spaces, and replace some char representations
2350
+ let labelSpec = popupInfo
2351
+ .replace(/<[\s.]*[^<>]*\/?>/gi, "")
2352
+ .replace(/\xA0/gi, " ")
2353
+ .replace(/&lt;/gi, "<")
2354
+ .replace(/&gt;/gi, ">")
2355
+ .replace(/&nbsp;/gi, " ");
2356
+ // Trim each line
2357
+ labelSpec = labelSpec.replace(/\s*\|\s*/g, "|");
2358
+ // Remove empty lines
2359
+ while (labelSpec.match(/\|\|/)) {
2360
+ labelSpec = labelSpec.replace(/\|\|/, "|");
2361
+ }
2362
+ // Remove leading and trailing line feeds
2363
+ labelSpec = labelSpec.replace(/^\|/, "");
2364
+ labelSpec = labelSpec.replace(/\|$/, "");
2365
+ return labelSpec.trim();
2366
+ }
2367
+ /**
2368
+ * Extracts Arcade expressions from the lines of a label format and creates an Arcade executor for each
2369
+ * referenced expression name.
2370
+ *
2371
+ * @param labelFormat Label to examine
2372
+ * @param layer Layer from which to fetch features
2373
+ * @return Promise resolving to a set of executors keyed using the expression name
2374
+ */
2375
+ async function _createArcadeExecutors(labelFormat, layer) {
2376
+ const arcadeExecutors = {};
2377
+ // Are any Arcade expressions in the layer?
2378
+ if (!Array.isArray(layer.popupTemplate.expressionInfos) || layer.popupTemplate.expressionInfos.length === 0) {
2379
+ return Promise.resolve(arcadeExecutors);
2380
+ }
2381
+ // Are there any Arcade expressions in the label format?
2382
+ const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
2383
+ const arcadeExpressionsMatches = labelFormat.match(arcadeExpressionRegExp);
2384
+ if (!arcadeExpressionsMatches) {
2385
+ return Promise.resolve(arcadeExecutors);
2386
+ }
2387
+ // Generate an Arcade executor for each match
2388
+ const [arcade] = await loadModules(["esri/arcade"]);
2389
+ const labelingProfile = {
2390
+ variables: [
2391
+ {
2392
+ name: "$feature",
2393
+ type: "feature"
2394
+ },
2395
+ {
2396
+ name: "$layer",
2397
+ type: "featureSet"
2398
+ },
2399
+ {
2400
+ name: "$datastore",
2401
+ type: "featureSetCollection"
2402
+ },
2403
+ {
2404
+ name: "$map",
2405
+ type: "featureSetCollection"
2406
+ }
2407
+ ]
2408
+ };
2409
+ const createArcadeExecutorPromises = {};
2410
+ arcadeExpressionsMatches.forEach((match) => {
2411
+ const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
2412
+ (layer.popupTemplate.expressionInfos || []).forEach(expressionInfo => {
2413
+ if (expressionInfo.name === expressionName) {
2414
+ createArcadeExecutorPromises[expressionName] =
2415
+ arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
2416
+ }
2417
+ });
2418
+ });
2419
+ const promises = Object.values(createArcadeExecutorPromises);
2420
+ return Promise.all(promises)
2421
+ .then(executors => {
2422
+ const expressionNames = Object.keys(createArcadeExecutorPromises);
2423
+ for (let i = 0; i < expressionNames.length; ++i) {
2424
+ arcadeExecutors[expressionNames[i]] = executors[i].valueOf();
2425
+ }
2426
+ return arcadeExecutors;
2427
+ });
2428
+ }
2429
+ /**
2430
+ * Creates a title from a list of selection set names.
2431
+ *
2432
+ * @param selectionSetNames Names to use in title
2433
+ * @return Title composed of the selectionSetNames separated by commas; if there are no
2434
+ * selection set names supplied, "download" is returned
2435
+ */
2436
+ function _createFilename(selectionSetNames) {
2437
+ // Windows doesn't permit the characters \/:*?"<>|
2438
+ const title = selectionSetNames.length > 0 ? selectionSetNames.join(", ") : "download";
2439
+ return title;
2440
+ }
2441
+ /**
2442
+ * Creates relationship queries for each relationship flag in a popup.
2443
+ * @param layer Layer whose popup is to be examined
2444
+ * @return Hash of relationships by their id, or null if there are no relationship flags in the
2445
+ * popup; each relationship has the properties layer and relatedQuery for the related layer
2446
+ * and the query for that layer
2447
+ */
2448
+ function _createRelationshipQueries(layer) {
2449
+ const relationships = {};
2450
+ const relationshipFieldPattern = /\{relationships\/\d+\//gm;
2451
+ const relationshipIdPattern = /\d+/;
2452
+ // Test if this popup has any relationship references
2453
+ const matches = layer.popupTemplate.content[0].text.match(relationshipFieldPattern);
2454
+ if (matches) {
2455
+ matches.forEach(match => {
2456
+ // Add a query to a found relationship if we don't already have one
2457
+ const id = match.match(relationshipIdPattern)[0];
2458
+ if (!relationships.hasOwnProperty(id)) {
2459
+ const relatedQuery = {
2460
+ outFields: ['*'],
2461
+ relationshipId: id,
2462
+ returnGeometry: false
2463
+ };
2464
+ relationships[id] = {
2465
+ layer,
2466
+ relatedQuery
2467
+ };
2468
+ }
2469
+ });
2470
+ }
2471
+ return relationships;
2472
+ }
2473
+ /**
2474
+ * Extracts Arcade expression references from the lines of a label format.
2475
+ *
2476
+ * @param labelFormat Label to examine
2477
+ * @return Array of Arcade expression references, e.g., ["{expression/expr1}", "{expression/expr2}"]
2478
+ */
2479
+ function _getExpressionsFromLabel(labelFormat) {
2480
+ var _a;
2481
+ const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
2482
+ return (_a = labelFormat.match(arcadeExpressionRegExp)) !== null && _a !== void 0 ? _a : [];
2483
+ }
2484
+ /**
2485
+ * Extracts field name expressions from the lines of a label format.
2486
+ *
2487
+ * @param labelFormat Label to examine
2488
+ * @returns Array of field name expressions, e.g., ["{NAME}", "{STREET}", "{CITY}", "{STATE}", "{ZIP}"]
2489
+ */
2490
+ function _getFieldsFromLabel(labelFormat) {
2491
+ // Get all fields
2492
+ const fieldExpressions = [];
2493
+ let iStart = 0;
2494
+ while (iStart < labelFormat.length) {
2495
+ const iOpen = labelFormat.indexOf("{", iStart); // Find the next open brace
2496
+ if (iOpen < 0) {
2497
+ break;
2498
+ } // No more open braces
2499
+ const iClose = labelFormat.indexOf("}", iOpen); // Find the matching close brace
2500
+ if (iClose < 0) {
2501
+ break;
2502
+ } // No more close braces
2503
+ const fieldName = labelFormat.substring(iOpen, iClose + 1); // Extract the field name with braces
2504
+ fieldExpressions.push(fieldName);
2505
+ iStart = iClose + 1; // Start looking for the next field name after the close brace
2506
+ }
2507
+ // Get the Arcade expressions
2508
+ const arcadeExpressions = _getExpressionsFromLabel(labelFormat);
2509
+ // Remove the Arcade expressions from the returned list of field expressions
2510
+ return fieldExpressions.filter(fieldExpression => arcadeExpressions.indexOf(fieldExpression) < 0);
2511
+ }
2512
+ /**
2513
+ * Prepares an attribute's value by applying domain and type information.
2514
+ *
2515
+ * @param attributeValue Value of attribute
2516
+ * @param attributeType Type of attribute
2517
+ * @param attributeDomain Domain info for attribute, if any
2518
+ * @param attributeFormat Format info for attribute, if any
2519
+ * @param intl esri/intl
2520
+ * @return Attribute value modified appropriate to domain and type
2521
+ */
2522
+ function _prepareAttributeValue(attributeValue, attributeType, attributeDomain, attributeFormat, intl) {
2523
+ if (attributeDomain && attributeDomain.type === "coded-value") {
2524
+ // "coded-value" domain field
2525
+ const value = attributeDomain.getName(attributeValue);
2526
+ return value;
2527
+ }
2528
+ else {
2529
+ // Non-domain field or unsupported domain type
2530
+ let value = attributeValue;
2531
+ switch (attributeType) {
2532
+ case "date":
2533
+ if (attributeFormat === null || attributeFormat === void 0 ? void 0 : attributeFormat.dateFormat) {
2534
+ const dateFormatIntlOptions = intl.convertDateFormatToIntlOptions(attributeFormat.dateFormat);
2535
+ value = intl.formatDate(value, dateFormatIntlOptions);
2536
+ }
2537
+ else {
2538
+ value = intl.formatDate(value);
2539
+ }
2540
+ // Format date produces odd characters for the space between the time and the AM/PM text,
2541
+ // e.g., "12/31/1969, 4:00 PM"
2542
+ value = value.replace(/\xe2\x80\xaf/g, "");
2543
+ break;
2544
+ case "double":
2545
+ case "integer":
2546
+ case "long":
2547
+ case "small-integer":
2548
+ if (attributeFormat) {
2549
+ const numberFormatIntlOptions = intl.convertNumberFormatToIntlOptions(attributeFormat);
2550
+ value = intl.formatNumber(value, numberFormatIntlOptions);
2551
+ }
2552
+ else {
2553
+ value = intl.formatNumber(value);
2554
+ }
2555
+ break;
2556
+ }
2557
+ return value;
2558
+ }
2559
+ }
2560
+ /**
2561
+ * Creates labels from items.
2562
+ *
2563
+ * @param layer Layer from which to fetch features
2564
+ * @param ids List of ids to download
2565
+ * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
2566
+ * all attributes are exported
2567
+ * @param includeHeaderNames Add the label format at the front of the list of generated labels
2568
+ * @returns Promise resolving when function is done
2569
+ */
2570
+ async function _prepareLabels(layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false) {
2571
+ var _a, _b, _c, _d;
2572
+ const [intl] = await loadModules(["esri/intl"]);
2573
+ // Get the features to export
2574
+ const featureSet = await queryFeaturesByID(ids, layer, [], false);
2575
+ // Get field data types. Do we have any domain-based fields?
2576
+ const attributeTypes = {};
2577
+ const attributeDomains = {};
2578
+ layer.fields.forEach(field => {
2579
+ attributeTypes[field.name] = field.type;
2580
+ attributeDomains[field.name] = field.domain;
2581
+ });
2582
+ const attributeFormats = {};
2583
+ // Get the label formatting, if any
2584
+ let labelFormat;
2585
+ let relationshipQueries = {};
2586
+ let arcadeExecutors = {};
2587
+ if (layer.popupEnabled) {
2588
+ layer.popupTemplate.fieldInfos.forEach(
2589
+ // Extract any format info that we have
2590
+ fieldInfo => {
2591
+ if (fieldInfo.format) {
2592
+ attributeFormats[fieldInfo.fieldName] = fieldInfo.format;
2593
+ }
2594
+ });
2595
+ // What data fields are used in the labels?
2596
+ // Example labelFormat: ['{NAME}', '{STREET}', '{CITY}, {STATE} {ZIP}']
2597
+ if (formatUsingLayerPopup && ((_b = (_a = layer.popupTemplate) === null || _a === void 0 ? void 0 : _a.content[0]) === null || _b === void 0 ? void 0 : _b.type) === "fields") {
2598
+ labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
2599
+ // If popup is configured with "no attribute information", then no fields will visible
2600
+ if (labelFormat.length === 0) {
2601
+ // Can we use the popup title?
2602
+ // eslint-disable-next-line unicorn/prefer-ternary
2603
+ if (typeof layer.popupTemplate.title === "string") {
2604
+ labelFormat = layer.popupTemplate.title;
2605
+ // Otherwise revert to using attributes
2606
+ }
2607
+ else {
2608
+ labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos, true);
2609
+ }
2610
+ }
2611
+ }
2612
+ else if (formatUsingLayerPopup && ((_d = (_c = layer.popupTemplate) === null || _c === void 0 ? void 0 : _c.content[0]) === null || _d === void 0 ? void 0 : _d.type) === "text") {
2613
+ labelFormat = _convertPopupTextToLabelSpec(layer.popupTemplate.content[0].text);
2614
+ // Do we need any relationship queries?
2615
+ relationshipQueries = _createRelationshipQueries(layer);
2616
+ // Do we need any Arcade executors?
2617
+ arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
2618
+ }
2619
+ }
2620
+ // Apply the label format
2621
+ let labels;
2622
+ // eslint-disable-next-line unicorn/prefer-ternary
2623
+ if (labelFormat) {
2624
+ // Find the label fields that we need to replace with values
2625
+ const arcadeExpressionMatches = _getExpressionsFromLabel(labelFormat);
2626
+ const attributeMatches = _getFieldsFromLabel(labelFormat);
2627
+ // Convert feature attributes into an array of labels
2628
+ const relationshipKeys = Object.keys(relationshipQueries);
2629
+ labels = await Promise.all(featureSet.map(async (feature) => {
2630
+ let labelPrep = labelFormat;
2631
+ // Replace Arcade expressions in this feature
2632
+ arcadeExpressionMatches.forEach((match) => {
2633
+ const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
2634
+ const value = arcadeExecutors[expressionName].execute({ "$feature": feature });
2635
+ labelPrep = labelPrep.replace(match, value);
2636
+ });
2637
+ // Replace relationship expressions in this feature
2638
+ const relatedFeatureQueries = [];
2639
+ const relationshipIds = [];
2640
+ relationshipKeys.forEach((relationshipId) => {
2641
+ const relationship = relationshipQueries[relationshipId];
2642
+ const objectId = feature.attributes[relationship.layer.objectIdField];
2643
+ const relatedQuery = Object.assign(Object.assign({}, relationship.relatedQuery), { objectIds: [objectId] });
2644
+ relatedFeatureQueries.push(relationship.layer.queryRelatedFeatures(relatedQuery));
2645
+ relationshipIds.push(relationshipId);
2646
+ });
2647
+ // Wait for all of the queries for related records for this label
2648
+ const relatedFeatureQueryResults = await Promise.all(relatedFeatureQueries);
2649
+ relatedFeatureQueryResults.forEach((relatedFeatureQueryResult, i) => {
2650
+ // We have an object with FeatureSets grouped by source layer or table objectIds
2651
+ const relationshipId = relationshipIds[i];
2652
+ // Run through the source layer or table objectIds
2653
+ Object.keys(relatedFeatureQueryResult).forEach(relatedFeatureSetId => {
2654
+ // We have a feature set
2655
+ const relatedFeatures = relatedFeatureQueryResult[relatedFeatureSetId].features;
2656
+ // Get the values from each feature and replace them in the label
2657
+ relatedFeatures.forEach(feature => {
2658
+ // Merge the base and related feature attributes and create the label
2659
+ // Prefix related feature's attributes with "relationships/<id>/" to match popup
2660
+ const rePrefix = "\{relationships/" + relationshipId + "/";
2661
+ const reSuffix = "\}";
2662
+ const attributes = feature.attributes;
2663
+ Object.keys(attributes).forEach(attributeName => {
2664
+ // Replace the value using the attribute name as a relationship
2665
+ const attributeRelationshipRegExp = new RegExp(rePrefix + attributeName + reSuffix, "g");
2666
+ labelPrep = labelPrep.replaceAll(attributeRelationshipRegExp, attributes[attributeName]);
2667
+ });
2668
+ });
2669
+ });
2670
+ });
2671
+ // Replace non-Arcade fields in this feature
2672
+ attributeMatches.forEach((match) => {
2673
+ const attributeName = match.substring(1, match.length - 1);
2674
+ const value = _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], attributeFormats[attributeName], intl);
2675
+ labelPrep = labelPrep.replace(match, value);
2676
+ });
2677
+ // Split label into lines
2678
+ let label = labelPrep.split(lineSeparatorChar);
2679
+ // Trim lines
2680
+ label = label.map(line => line.trim());
2681
+ return label;
2682
+ }));
2683
+ }
2684
+ else {
2685
+ // Export all attributes
2686
+ labels = featureSet.map(feature => {
2687
+ return Object.keys(feature.attributes).map((attributeName) => {
2688
+ const value = _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], null, intl);
2689
+ return `${value}`;
2690
+ });
2691
+ });
2692
+ }
2693
+ // Add header names
2694
+ if (includeHeaderNames) {
2695
+ let headerNames = [];
2696
+ if (labelFormat) {
2697
+ headerNames = labelFormat.replace(/\{/g, "").replace(/\}/g, "").split(lineSeparatorChar);
2698
+ }
2699
+ else {
2700
+ const featuresAttrs = featureSet[0].attributes;
2701
+ Object.keys(featuresAttrs).forEach(k => {
2702
+ headerNames.push(k);
2703
+ });
2704
+ }
2705
+ labels.unshift(headerNames);
2706
+ }
2707
+ return Promise.resolve(labels);
2708
+ }
2709
+ /**
2710
+ * Remove any duplicate labels
2711
+ *
2712
+ * @param labels Labels to evaluate for duplicates
2713
+ * @returns labels with duplicates removed
2714
+ */
2715
+ function removeDuplicateLabels(labels) {
2716
+ const labelsAsStrings = labels.map(label => JSON.stringify(label));
2717
+ const uniqueLabels = new Set(labelsAsStrings);
2718
+ return Array.from(uniqueLabels, labelString => JSON.parse(labelString));
2719
+ }
2720
+ /**
2721
+ * Extract selectionSetNames from the provided exportInfos
2722
+ *
2723
+ * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2724
+ * @returns selectionSetNames that will be used for export filenames
2725
+ */
2726
+ function _getSelectionSetNames(exportInfos, id = /.+/) {
2727
+ let selectionSetNames = [];
2728
+ Object.keys(exportInfos).forEach(k => {
2729
+ const exportInfo = exportInfos[k];
2730
+ if (id.test(k)) {
2731
+ selectionSetNames = selectionSetNames.concat(exportInfo.selectionSetNames);
2732
+ }
2733
+ });
2734
+ return selectionSetNames;
2735
+ }
2736
+ /**
2737
+ * Create and consolidate labels from all layers
2738
+ *
2739
+ * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2740
+ * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
2741
+ * all attributes are exported
2742
+ * @param includeHeaderNames Add the label format at the front of the list of generated labels
2743
+ * @returns selectionSetNames that will be used for export filenames
2744
+ */
2745
+ async function consolidateLabels(exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false) {
2746
+ const labelRequests = [];
2747
+ Object.keys(exportInfos).forEach(k => {
2748
+ var _a;
2749
+ const labelInfo = exportInfos[k];
2750
+ labelRequests.push(_prepareLabels(((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
2751
+ if (isCSVExport) {
2752
+ // add the layer id as a temp value separator that we can use to split values for CSV export
2753
+ labelRequests.push(Promise.resolve([[k]]));
2754
+ }
2755
+ });
2756
+ const labels = await Promise.all(labelRequests);
2757
+ return labels.reduce((prev, cur) => prev.concat(cur), []);
2758
+ }
2759
2759
  //#endregion
2760
2760
 
2761
2761
  export { _typeof_1 as _, downloadPDF as a, consolidateLabels as c, downloadCSV as d, removeDuplicateLabels as r };