@esri/solutions-components 0.6.7 → 0.6.8

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 (1280) hide show
  1. package/dist/cjs/ExpandToggle-e6a0d66e.js +117 -0
  2. package/dist/cjs/FloatingArrow-0119ec6e.js +48 -0
  3. package/dist/cjs/Heading-521f39ac.js +25 -0
  4. package/dist/cjs/app-globals-72576a1c.js +69 -0
  5. package/dist/cjs/ar-1718ae57.js +97 -0
  6. package/dist/cjs/basemap-gallery_4.cjs.entry.js +622 -0
  7. package/dist/cjs/bg-190a176c.js +78 -0
  8. package/dist/cjs/bs-919e0de8.js +47 -0
  9. package/dist/cjs/buffer-tools_4.cjs.entry.js +1437 -1437
  10. package/dist/cjs/ca-94918e06.js +67 -0
  11. package/dist/cjs/calcite-accordion-item.cjs.entry.js +140 -140
  12. package/dist/cjs/calcite-accordion.cjs.entry.js +75 -75
  13. package/dist/cjs/calcite-action-bar.cjs.entry.js +216 -216
  14. package/dist/cjs/calcite-action-group_2.cjs.entry.js +365 -365
  15. package/dist/cjs/calcite-action-pad.cjs.entry.js +135 -135
  16. package/dist/cjs/calcite-action_2.cjs.entry.js +445 -445
  17. package/dist/cjs/calcite-alert.cjs.entry.js +247 -247
  18. package/dist/cjs/calcite-avatar.cjs.entry.js +73 -73
  19. package/dist/cjs/calcite-block-section.cjs.entry.js +122 -122
  20. package/dist/cjs/calcite-block.cjs.entry.js +131 -131
  21. package/dist/cjs/calcite-button.cjs.entry.js +182 -182
  22. package/dist/cjs/calcite-card.cjs.entry.js +99 -99
  23. package/dist/cjs/calcite-checkbox.cjs.entry.js +125 -125
  24. package/dist/cjs/calcite-chip-group.cjs.entry.js +164 -164
  25. package/dist/cjs/calcite-chip.cjs.entry.js +213 -213
  26. package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +303 -303
  27. package/dist/cjs/calcite-color-picker.cjs.entry.js +886 -886
  28. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +35 -35
  29. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1786 -1786
  30. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +589 -589
  31. package/dist/cjs/calcite-date-picker.cjs.entry.js +434 -434
  32. package/dist/cjs/calcite-fab.cjs.entry.js +66 -66
  33. package/dist/cjs/calcite-filter_5.cjs.entry.js +1131 -1131
  34. package/dist/cjs/calcite-flow-item.cjs.entry.js +146 -146
  35. package/dist/cjs/calcite-flow.cjs.entry.js +117 -117
  36. package/dist/cjs/calcite-graph.cjs.entry.js +66 -66
  37. package/dist/cjs/calcite-icon.cjs.entry.js +80 -80
  38. package/dist/cjs/calcite-inline-editable.cjs.entry.js +225 -225
  39. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +632 -632
  40. package/dist/cjs/calcite-input-number_2.cjs.entry.js +846 -846
  41. package/dist/cjs/calcite-input-time-picker-b99baf7b.js +1718 -0
  42. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +15 -15
  43. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +150 -150
  44. package/dist/cjs/calcite-input_2.cjs.entry.js +645 -645
  45. package/dist/cjs/calcite-label.cjs.entry.js +40 -40
  46. package/dist/cjs/calcite-link.cjs.entry.js +96 -96
  47. package/dist/cjs/calcite-list-item-group.cjs.entry.js +46 -46
  48. package/dist/cjs/calcite-loader.cjs.entry.js +65 -65
  49. package/dist/cjs/calcite-menu-item.cjs.entry.js +246 -246
  50. package/dist/cjs/calcite-menu.cjs.entry.js +161 -161
  51. package/dist/cjs/calcite-modal.cjs.entry.js +282 -282
  52. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +52 -52
  53. package/dist/cjs/calcite-navigation-user.cjs.entry.js +45 -45
  54. package/dist/cjs/calcite-navigation.cjs.entry.js +126 -126
  55. package/dist/cjs/calcite-notice.cjs.entry.js +105 -105
  56. package/dist/cjs/calcite-option-group.cjs.entry.js +24 -24
  57. package/dist/cjs/calcite-option_2.cjs.entry.js +271 -271
  58. package/dist/cjs/calcite-pagination.cjs.entry.js +191 -191
  59. package/dist/cjs/calcite-panel_2.cjs.entry.js +346 -346
  60. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +46 -46
  61. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +181 -181
  62. package/dist/cjs/calcite-pick-list.cjs.entry.js +130 -130
  63. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +118 -118
  64. package/dist/cjs/calcite-radio-button.cjs.entry.js +292 -292
  65. package/dist/cjs/calcite-rating.cjs.entry.js +245 -245
  66. package/dist/cjs/calcite-scrim.cjs.entry.js +93 -93
  67. package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +225 -225
  68. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +42 -42
  69. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2604 -2604
  70. package/dist/cjs/calcite-sortable-list.cjs.entry.js +134 -134
  71. package/dist/cjs/calcite-split-button.cjs.entry.js +92 -92
  72. package/dist/cjs/calcite-stepper-item.cjs.entry.js +197 -197
  73. package/dist/cjs/calcite-stepper.cjs.entry.js +187 -187
  74. package/dist/cjs/calcite-switch.cjs.entry.js +100 -100
  75. package/dist/cjs/calcite-text-area.cjs.entry.js +235 -235
  76. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +27 -27
  77. package/dist/cjs/calcite-tile-select.cjs.entry.js +180 -180
  78. package/dist/cjs/calcite-tile.cjs.entry.js +58 -58
  79. package/dist/cjs/calcite-time-picker.cjs.entry.js +619 -619
  80. package/dist/cjs/calcite-tip-group.cjs.entry.js +10 -10
  81. package/dist/cjs/calcite-tip-manager.cjs.entry.js +185 -185
  82. package/dist/cjs/calcite-tip.cjs.entry.js +94 -94
  83. package/dist/cjs/calcite-tooltip.cjs.entry.js +185 -185
  84. package/dist/cjs/calcite-tree_3.cjs.entry.js +821 -821
  85. package/dist/cjs/card-manager_4.cjs.entry.js +707 -653
  86. package/dist/cjs/conditionalSlot-85b3a6b3.js +63 -0
  87. package/dist/cjs/crowdsource-manager.cjs.entry.js +258 -256
  88. package/dist/cjs/crowdsource-reporter.cjs.entry.js +60 -60
  89. package/dist/cjs/cs-fe27e732.js +143 -0
  90. package/dist/cjs/da-1b7f3440.js +62 -0
  91. package/dist/cjs/date-cec32b0e.js +250 -0
  92. package/dist/cjs/de-0dc1effa.js +87 -0
  93. package/dist/cjs/de-at-acdc4d01.js +86 -0
  94. package/dist/cjs/de-ch-778a0d99.js +86 -0
  95. package/dist/cjs/deduct-calculator.cjs.entry.js +90 -90
  96. package/dist/cjs/dom-c1807fc1.js +1046 -0
  97. package/dist/cjs/downloadUtils-a8c530f7.js +2767 -0
  98. package/dist/cjs/edit-card_2.cjs.entry.js +345 -345
  99. package/dist/cjs/el-fdbc9bc1.js +62 -0
  100. package/dist/cjs/en-au-0ff50cdf.js +62 -0
  101. package/dist/cjs/en-ca-284e9368.js +61 -0
  102. package/dist/cjs/en-gb-0fcae8ae.js +65 -0
  103. package/dist/cjs/es-cd54acba.js +62 -0
  104. package/dist/cjs/es-mx-2078d50f.js +61 -0
  105. package/dist/cjs/et-17f323f6.js +88 -0
  106. package/dist/cjs/fi-82f27397.js +111 -0
  107. package/dist/cjs/filter-bda212b4.js +765 -0
  108. package/dist/cjs/floating-ui-8d10af88.js +1888 -0
  109. package/dist/cjs/focusTrapComponent-a22fc6a8.js +1009 -0
  110. package/dist/cjs/form-9d8ebf06.js +288 -0
  111. package/dist/cjs/fr-af7e1192.js +64 -0
  112. package/dist/cjs/fr-ch-5e1f2c28.js +62 -0
  113. package/dist/cjs/he-ea851800.js +101 -0
  114. package/dist/cjs/hi-5212a21d.js +61 -0
  115. package/dist/cjs/hr-4eecb2ed.js +76 -0
  116. package/dist/cjs/hu-6b527d8e.js +84 -0
  117. package/dist/cjs/id-d78f12ec.js +62 -0
  118. package/dist/cjs/index-0e50040c.js +1938 -0
  119. package/dist/cjs/index-2b60e135.js +201 -0
  120. package/dist/cjs/index.es-4542630e.js +10808 -0
  121. package/dist/cjs/interfaces-d539e30c.js +85 -0
  122. package/dist/cjs/it-15242935.js +62 -0
  123. package/dist/cjs/it-ch-9dc21944.js +62 -0
  124. package/dist/cjs/ja-f702cfc2.js +68 -0
  125. package/dist/cjs/ko-aa9bde2c.js +68 -0
  126. package/dist/cjs/label-6e33e971.js +136 -0
  127. package/dist/cjs/list-item.cjs.entry.js +60 -60
  128. package/dist/cjs/loadModules-31cab7ac.js +30 -0
  129. package/dist/cjs/loadable-bac9cdd6.js +94 -0
  130. package/dist/cjs/loader.cjs.js +5 -14
  131. package/dist/cjs/locale-c63a1b57.js +604 -0
  132. package/dist/cjs/locale-d15cd743.js +416 -0
  133. package/dist/cjs/lt-e741ff2f.js +93 -0
  134. package/dist/cjs/lv-92d6768e.js +62 -0
  135. package/dist/cjs/map-select-tools_3.cjs.entry.js +1285 -1285
  136. package/dist/cjs/mapViewUtils-9da2dddd.js +411 -0
  137. package/dist/cjs/mk-b209ac0d.js +62 -0
  138. package/dist/cjs/nb-db13e666.js +63 -0
  139. package/dist/cjs/nl-fcd9e0c5.js +63 -0
  140. package/dist/cjs/openCloseComponent-5d70fcd8.js +84 -0
  141. package/dist/cjs/pci-calculator.cjs.entry.js +102 -102
  142. package/dist/cjs/pciUtils-e0ddeb7c.js +847 -0
  143. package/dist/cjs/pl-87c83322.js +110 -0
  144. package/dist/cjs/pt-b0b5f472.js +63 -0
  145. package/dist/cjs/pt-br-03333e90.js +61 -0
  146. package/dist/cjs/public-notification.cjs.entry.js +844 -844
  147. package/dist/cjs/publicNotificationStore-55edd658.js +51 -0
  148. package/dist/cjs/ro-c3661b73.js +62 -0
  149. package/dist/cjs/ru-8dd3fd58.js +122 -0
  150. package/dist/cjs/shared-list-render-c0adb192.js +364 -0
  151. package/dist/cjs/sk-151d9acf.js +144 -0
  152. package/dist/cjs/sl-9b45a152.js +62 -0
  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 +4100 -0
  156. package/dist/cjs/solutions-components.cjs.js +5 -5
  157. package/dist/cjs/sortableComponent-58679f07.js +3112 -0
  158. package/dist/cjs/sr-186bf15c.js +97 -0
  159. package/dist/cjs/store-manager.cjs.entry.js +52 -52
  160. package/dist/cjs/sv-a93fee0c.js +67 -0
  161. package/dist/cjs/t9n-1d032c30.js +100 -0
  162. package/dist/cjs/th-41680352.js +61 -0
  163. package/dist/cjs/throttle-aeeb1b4d.js +75 -0
  164. package/dist/cjs/time-5e450ec8.js +208 -0
  165. package/dist/cjs/tr-0bd886d6.js +62 -0
  166. package/dist/cjs/uk-4fade133.js +100 -0
  167. package/dist/cjs/utils-acfeed9d.js +64 -0
  168. package/dist/cjs/utils-ae9bdd59.js +55 -0
  169. package/dist/cjs/vi-1c9fe343.js +66 -0
  170. package/dist/cjs/zh-cn-28fa1fe1.js +90 -0
  171. package/dist/cjs/zh-hk-5abf8eb5.js +67 -0
  172. package/dist/cjs/zh-tw-07500357.js +88 -0
  173. package/dist/collection/collection-manifest.json +37 -35
  174. package/dist/collection/components/basemap-gallery/basemap-gallery.css +19 -0
  175. package/dist/collection/components/basemap-gallery/basemap-gallery.js +166 -0
  176. package/dist/collection/components/basemap-gallery/test/basemap-gallery.e2e.js +29 -0
  177. package/dist/collection/components/basemap-gallery/test/basemap-gallery.spec.js +37 -0
  178. package/dist/collection/components/buffer-tools/buffer-tools.js +481 -476
  179. package/dist/collection/components/buffer-tools/test/buffer-tools.e2e.js +29 -0
  180. package/dist/collection/components/buffer-tools/test/buffer-tools.spec.js +160 -0
  181. package/dist/collection/components/card-manager/card-manager.js +199 -197
  182. package/dist/collection/components/card-manager/test/card-manager.e2e.js +29 -0
  183. package/dist/collection/components/card-manager/test/card-manager.spec.js +37 -0
  184. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +448 -406
  185. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.e2e.js +29 -0
  186. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.spec.js +37 -0
  187. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +89 -89
  188. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.e2e.js +29 -0
  189. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.spec.js +37 -0
  190. package/dist/collection/components/deduct-calculator/deduct-calculator.js +143 -143
  191. package/dist/collection/components/deduct-calculator/test/deduct-calculator.e2e.js +29 -0
  192. package/dist/collection/components/deduct-calculator/test/deduct-calculator.spec.js +37 -0
  193. package/dist/collection/components/edit-card/edit-card.js +302 -300
  194. package/dist/collection/components/edit-card/test/edit-card.e2e.js +14 -0
  195. package/dist/collection/components/edit-card/test/edit-card.spec.js +22 -0
  196. package/dist/collection/components/info-card/info-card.js +361 -357
  197. package/dist/collection/components/info-card/test/info-card.e2e.js +29 -0
  198. package/dist/collection/components/info-card/test/info-card.spec.js +37 -0
  199. package/dist/collection/components/json-editor/json-editor.js +618 -614
  200. package/dist/collection/components/json-editor/test/json-editor.e2e.js +36 -0
  201. package/dist/collection/components/json-editor/test/json-editor.spec.js +65 -0
  202. package/dist/collection/components/layer-table/layer-table.js +620 -548
  203. package/dist/collection/components/layer-table/test/layer-table.e2e.js +29 -0
  204. package/dist/collection/components/layer-table/test/layer-table.spec.js +37 -0
  205. package/dist/collection/components/layout-manager/layout-manager.js +136 -135
  206. package/dist/collection/components/layout-manager/test/layout-manager.e2e.js +29 -0
  207. package/dist/collection/components/layout-manager/test/layout-manager.spec.js +37 -0
  208. package/dist/collection/components/list-item/list-item.js +89 -89
  209. package/dist/collection/components/list-item/test/list-item.e2e.js +29 -0
  210. package/dist/collection/components/list-item/test/list-item.spec.js +37 -0
  211. package/dist/collection/components/map-card/map-card.css +0 -7
  212. package/dist/collection/components/map-card/map-card.js +211 -203
  213. package/dist/collection/components/map-card/test/map-card.e2e.js +29 -0
  214. package/dist/collection/components/map-card/test/map-card.spec.js +37 -0
  215. package/dist/collection/components/map-draw-tools/map-draw-tools.js +692 -683
  216. package/dist/collection/components/map-draw-tools/test/map-draw-tools.e2e.js +29 -0
  217. package/dist/collection/components/map-draw-tools/test/map-draw-tools.spec.js +37 -0
  218. package/dist/collection/components/map-layer-picker/map-layer-picker.js +424 -423
  219. package/dist/collection/components/map-layer-picker/test/map-layer-picker.e2e.js +29 -0
  220. package/dist/collection/components/map-layer-picker/test/map-layer-picker.spec.js +114 -0
  221. package/dist/collection/components/map-picker/map-picker.js +226 -224
  222. package/dist/collection/components/map-picker/test/map-picker.e2e.js +29 -0
  223. package/dist/collection/components/map-picker/test/map-picker.spec.js +37 -0
  224. package/dist/collection/components/map-search/map-search.css +24 -0
  225. package/dist/collection/components/map-search/map-search.js +321 -0
  226. package/dist/collection/components/map-search/test/map-search.e2e.js +29 -0
  227. package/dist/collection/components/map-search/test/map-search.spec.js +37 -0
  228. package/dist/collection/components/map-select-tools/map-select-tools.js +1242 -1229
  229. package/dist/collection/components/map-select-tools/test/map-select-tools.e2e.js +29 -0
  230. package/dist/collection/components/map-select-tools/test/map-select-tools.spec.js +366 -0
  231. package/dist/collection/components/map-tools/map-tools.js +337 -210
  232. package/dist/collection/components/map-tools/test/map-tools.e2e.js +29 -0
  233. package/dist/collection/components/map-tools/test/map-tools.spec.js +37 -0
  234. package/dist/collection/components/pci-calculator/pci-calculator.js +143 -143
  235. package/dist/collection/components/pci-calculator/test/pci-calculator.e2e.js +29 -0
  236. package/dist/collection/components/pci-calculator/test/pci-calculator.spec.js +37 -0
  237. package/dist/collection/components/pdf-download/pdf-download.js +338 -333
  238. package/dist/collection/components/pdf-download/test/pdf-download.e2e.js +76 -0
  239. package/dist/collection/components/pdf-download/test/pdf-download.spec.js +107 -0
  240. package/dist/collection/components/public-notification/public-notification.js +1295 -1287
  241. package/dist/collection/components/public-notification/test/public-notification.spec.js +161 -0
  242. package/dist/collection/components/refine-selection/refine-selection.js +608 -601
  243. package/dist/collection/components/refine-selection/test/refine-selection.e2e.js +14 -0
  244. package/dist/collection/components/refine-selection/test/refine-selection.spec.js +22 -0
  245. package/dist/collection/components/solution-configuration/solution-configuration.js +739 -735
  246. package/dist/collection/components/solution-configuration/test/solution-configuration.e2e.js +36 -0
  247. package/dist/collection/components/solution-configuration/test/solution-configuration.spec.js +119 -0
  248. package/dist/collection/components/solution-contents/solution-contents.js +163 -162
  249. package/dist/collection/components/solution-contents/test/solution-contents.e2e.js +94 -0
  250. package/dist/collection/components/solution-contents/test/solution-contents.spec.js +143 -0
  251. package/dist/collection/components/solution-item/solution-item.js +203 -202
  252. package/dist/collection/components/solution-item/test/solution-item.e2e.js +36 -0
  253. package/dist/collection/components/solution-item/test/solution-item.spec.js +77 -0
  254. package/dist/collection/components/solution-item-details/solution-item-details.js +248 -248
  255. package/dist/collection/components/solution-item-details/test/solution-item-details.e2e.js +36 -0
  256. package/dist/collection/components/solution-item-details/test/solution-item-details.spec.js +142 -0
  257. package/dist/collection/components/solution-item-icon/solution-item-icon.js +398 -398
  258. package/dist/collection/components/solution-item-icon/test/solution-item-icon.e2e.js +29 -0
  259. package/dist/collection/components/solution-item-icon/test/solution-item-icon.spec.js +39 -0
  260. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +200 -199
  261. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.e2e.js +36 -0
  262. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.spec.js +54 -0
  263. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +156 -156
  264. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.e2e.js +36 -0
  265. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.spec.js +65 -0
  266. package/dist/collection/components/solution-resource-item/solution-resource-item.js +348 -347
  267. package/dist/collection/components/solution-resource-item/test/solution-resource-item.e2e.js +36 -0
  268. package/dist/collection/components/solution-resource-item/test/solution-resource-item.spec.js +55 -0
  269. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +515 -510
  270. package/dist/collection/components/solution-spatial-ref/spatialreferences.js +21046 -21046
  271. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.e2e.js +36 -0
  272. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +175 -0
  273. package/dist/collection/components/solution-template-data/solution-template-data.js +230 -230
  274. package/dist/collection/components/solution-template-data/test/solution-template-data.e2e.js +36 -0
  275. package/dist/collection/components/solution-template-data/test/solution-template-data.spec.js +60 -0
  276. package/dist/collection/components/solution-variables/solution-variables.js +168 -168
  277. package/dist/collection/components/solution-variables/test/solution-variables.e2e.js +36 -0
  278. package/dist/collection/components/solution-variables/test/solution-variables.spec.js +131 -0
  279. package/dist/collection/components/store-manager/store-manager.js +128 -127
  280. package/dist/collection/demos/crowdsource-manager.html +3 -3
  281. package/dist/collection/index.js +1 -1
  282. package/dist/collection/utils/common.js +296 -296
  283. package/dist/collection/utils/csvDownload.js +41 -41
  284. package/dist/collection/utils/csvUtils.js +37 -37
  285. package/dist/collection/utils/downloadUtils.js +530 -530
  286. package/dist/collection/utils/interfaces.js +83 -83
  287. package/dist/collection/utils/interfaces.ts +2 -0
  288. package/dist/collection/utils/languageUtil.js +90 -90
  289. package/dist/collection/utils/loadModules.js +25 -25
  290. package/dist/collection/utils/locale.js +61 -61
  291. package/dist/collection/utils/mapViewUtils.js +240 -240
  292. package/dist/collection/utils/pciUtils.js +842 -842
  293. package/dist/collection/utils/pdfUtils.js +87 -87
  294. package/dist/collection/utils/publicNotificationStore.js +47 -47
  295. package/dist/collection/utils/queryUtils.js +200 -200
  296. package/dist/collection/utils/solution-store.js +584 -584
  297. package/dist/collection/utils/templates.e2e.js +30 -0
  298. package/dist/collection/utils/templates.js +346 -346
  299. package/dist/collection/utils/test/csvUtils.spec.js +51 -0
  300. package/dist/collection/utils/test/downloadUtils.spec.js +357 -0
  301. package/dist/collection/utils/test/mocks/jsApi.js +79 -79
  302. package/dist/collection/utils/test/pciUtils.spec.js +302 -0
  303. package/dist/collection/utils/test/solution-store.spec.js +444 -0
  304. package/dist/collection/utils/test/testUtils.js +123 -123
  305. package/dist/collection/utils/types.js +1 -1
  306. package/dist/components/ExpandToggle.js +1 -1
  307. package/dist/components/action-bar.js +262 -262
  308. package/dist/components/action-group.js +144 -144
  309. package/dist/components/action-menu.js +310 -310
  310. package/dist/components/action.js +185 -185
  311. package/dist/components/alert.js +286 -286
  312. package/dist/components/avatar.js +99 -99
  313. package/dist/components/basemap-gallery.d.ts +11 -0
  314. package/dist/components/basemap-gallery.js +11 -0
  315. package/dist/components/basemap-gallery2.js +118 -0
  316. package/dist/components/buffer-tools2.js +263 -263
  317. package/dist/components/button.js +225 -225
  318. package/dist/components/calcite-accordion-item.js +168 -167
  319. package/dist/components/calcite-accordion.js +95 -95
  320. package/dist/components/calcite-action-pad.js +180 -180
  321. package/dist/components/calcite-block-section.js +150 -150
  322. package/dist/components/calcite-block.js +186 -186
  323. package/dist/components/calcite-card.js +132 -132
  324. package/dist/components/calcite-chip-group.js +181 -181
  325. package/dist/components/calcite-color-picker.js +979 -979
  326. package/dist/components/calcite-combobox-item-group.js +52 -52
  327. package/dist/components/calcite-fab.js +104 -104
  328. package/dist/components/calcite-filter.js +1 -1
  329. package/dist/components/calcite-flow-item.js +204 -204
  330. package/dist/components/calcite-flow.js +136 -136
  331. package/dist/components/calcite-inline-editable.js +259 -259
  332. package/dist/components/calcite-input-date-picker.js +703 -703
  333. package/dist/components/calcite-input-time-picker.js +595 -595
  334. package/dist/components/calcite-input-time-zone.js +189 -189
  335. package/dist/components/calcite-label.js +1 -1
  336. package/dist/components/calcite-list-item-group.js +64 -64
  337. package/dist/components/calcite-menu-item.js +297 -296
  338. package/dist/components/calcite-modal.js +328 -328
  339. package/dist/components/calcite-navigation-logo.js +76 -76
  340. package/dist/components/calcite-navigation-user.js +78 -78
  341. package/dist/components/calcite-navigation.js +166 -166
  342. package/dist/components/calcite-option-group.js +42 -42
  343. package/dist/components/calcite-pagination.js +217 -217
  344. package/dist/components/calcite-pick-list-group.js +59 -59
  345. package/dist/components/calcite-pick-list.js +150 -150
  346. package/dist/components/calcite-radio-button-group.js +141 -141
  347. package/dist/components/calcite-radio-button.js +316 -316
  348. package/dist/components/calcite-rating.js +279 -279
  349. package/dist/components/calcite-shell-center-row.js +57 -57
  350. package/dist/components/calcite-sortable-list.js +153 -153
  351. package/dist/components/calcite-split-button.js +142 -142
  352. package/dist/components/calcite-stack.js +1 -1
  353. package/dist/components/calcite-stepper-item.js +225 -225
  354. package/dist/components/calcite-stepper.js +212 -212
  355. package/dist/components/calcite-text-area.js +266 -266
  356. package/dist/components/calcite-tile-select-group.js +44 -44
  357. package/dist/components/calcite-tile-select.js +223 -223
  358. package/dist/components/calcite-tip-group.js +27 -27
  359. package/dist/components/calcite-tip-manager.js +222 -222
  360. package/dist/components/calcite-tip.js +126 -126
  361. package/dist/components/card-manager2.js +155 -155
  362. package/dist/components/checkbox.js +146 -146
  363. package/dist/components/chip.js +245 -245
  364. package/dist/components/color-picker-hex-input.js +287 -287
  365. package/dist/components/color-picker-swatch.js +79 -79
  366. package/dist/components/combobox-item.js +135 -135
  367. package/dist/components/combobox.js +921 -921
  368. package/dist/components/crowdsource-manager.js +528 -512
  369. package/dist/components/crowdsource-reporter.js +75 -75
  370. package/dist/components/date-picker-day.js +110 -109
  371. package/dist/components/date-picker-month-header.js +197 -197
  372. package/dist/components/date-picker-month.js +372 -372
  373. package/dist/components/date-picker.js +492 -492
  374. package/dist/components/date.js +1 -1
  375. package/dist/components/deduct-calculator2.js +981 -981
  376. package/dist/components/dom.js +2 -23
  377. package/dist/components/downloadUtils.js +655 -655
  378. package/dist/components/dropdown-group.js +72 -72
  379. package/dist/components/dropdown-item.js +195 -195
  380. package/dist/components/dropdown.js +420 -420
  381. package/dist/components/edit-card2.js +191 -191
  382. package/dist/components/esri-loader.js +301 -0
  383. package/dist/components/filter.js +751 -202
  384. package/dist/components/filter2.js +191 -740
  385. package/dist/components/floating-ui.js +2 -2
  386. package/dist/components/focusTrapComponent.js +1 -1
  387. package/dist/components/graph.js +86 -86
  388. package/dist/components/handle.js +165 -165
  389. package/dist/components/icon.js +99 -99
  390. package/dist/components/index.d.ts +5 -35
  391. package/dist/components/index.js +26 -154
  392. package/dist/components/info-card2.js +251 -251
  393. package/dist/components/input-message.js +66 -66
  394. package/dist/components/input-number.js +600 -599
  395. package/dist/components/input-text.js +368 -367
  396. package/dist/components/input.js +687 -686
  397. package/dist/components/interfaces.js +78 -78
  398. package/dist/components/json-editor2.js +425 -425
  399. package/dist/components/label.js +117 -65
  400. package/dist/components/label2.js +58 -110
  401. package/dist/components/layer-table2.js +598 -547
  402. package/dist/components/layout-manager2.js +118 -118
  403. package/dist/components/link.js +123 -122
  404. package/dist/components/list-item.js +75 -75
  405. package/dist/components/list-item2.js +431 -431
  406. package/dist/components/list.js +510 -510
  407. package/dist/components/loadModules.js +19 -19
  408. package/dist/components/loader.js +86 -86
  409. package/dist/components/locale.js +106 -399
  410. package/dist/components/locale2.js +2 -2
  411. package/dist/components/map-card2.js +236 -218
  412. package/dist/components/map-draw-tools2.js +383 -383
  413. package/dist/components/map-layer-picker2.js +291 -291
  414. package/dist/components/map-picker2.js +235 -235
  415. package/dist/components/map-search.d.ts +11 -0
  416. package/dist/components/map-search.js +11 -0
  417. package/dist/components/map-search2.js +201 -0
  418. package/dist/components/map-select-tools2.js +916 -916
  419. package/dist/components/map-tools2.js +287 -177
  420. package/dist/components/mapViewUtils.js +235 -235
  421. package/dist/components/menu.js +178 -178
  422. package/dist/components/notice.js +130 -130
  423. package/dist/components/option.js +91 -91
  424. package/dist/components/panel.js +307 -307
  425. package/dist/components/pci-calculator.js +169 -169
  426. package/dist/components/pdf-download2.js +173 -173
  427. package/dist/components/pick-list-item.js +219 -219
  428. package/dist/components/popover.js +349 -349
  429. package/dist/components/progress.js +46 -45
  430. package/dist/components/public-notification.js +1101 -1101
  431. package/dist/components/publicNotificationStore.js +39 -39
  432. package/dist/components/queryUtils.js +152 -152
  433. package/dist/components/refine-selection2.js +546 -546
  434. package/dist/components/resources.js +17 -9
  435. package/dist/components/resources2.js +9 -13
  436. package/dist/components/resources3.js +9 -5
  437. package/dist/components/scrim.js +115 -115
  438. package/dist/components/segmented-control-item.js +62 -62
  439. package/dist/components/segmented-control.js +213 -213
  440. package/dist/components/select.js +226 -226
  441. package/dist/components/shared-list-render.js +3 -3
  442. package/dist/components/shell-panel.js +398 -397
  443. package/dist/components/shell.js +119 -119
  444. package/dist/components/slider.js +898 -898
  445. package/dist/components/solution-configuration.js +1095 -1095
  446. package/dist/components/solution-contents2.js +111 -111
  447. package/dist/components/solution-item-details2.js +217 -217
  448. package/dist/components/solution-item-icon2.js +330 -330
  449. package/dist/components/solution-item-sharing2.js +151 -151
  450. package/dist/components/solution-item2.js +269 -269
  451. package/dist/components/solution-organization-variables2.js +115 -115
  452. package/dist/components/solution-resource-item2.js +331 -331
  453. package/dist/components/solution-spatial-ref2.js +21420 -21420
  454. package/dist/components/solution-store.js +575 -575
  455. package/dist/components/solution-template-data2.js +202 -202
  456. package/dist/components/solution-variables2.js +132 -132
  457. package/dist/components/sortableComponent.js +1 -1
  458. package/dist/components/stack.js +78 -78
  459. package/dist/components/store-manager.js +70 -70
  460. package/dist/components/switch.js +118 -118
  461. package/dist/components/tab-nav.js +254 -254
  462. package/dist/components/tab-title.js +300 -300
  463. package/dist/components/tab.js +111 -111
  464. package/dist/components/tabs.js +130 -130
  465. package/dist/components/tile.js +89 -89
  466. package/dist/components/time-picker.js +654 -654
  467. package/dist/components/tooltip.js +207 -207
  468. package/dist/components/tree-item.js +288 -287
  469. package/dist/components/tree.js +281 -281
  470. package/dist/components/utils.js +1 -1
  471. package/dist/components/utils2.js +2 -2
  472. package/dist/components/utils3.js +1 -1
  473. package/dist/components/value-list-item.js +169 -169
  474. package/dist/components/value-list.js +275 -275
  475. package/dist/esm/ExpandToggle-3d10bd1e.js +109 -0
  476. package/dist/esm/FloatingArrow-29db6da6.js +46 -0
  477. package/dist/esm/Heading-cb79e5b2.js +22 -0
  478. package/dist/esm/app-globals-5cbac6b0.js +67 -0
  479. package/dist/esm/ar-4b751ba8.js +95 -0
  480. package/dist/esm/basemap-gallery_4.entry.js +615 -0
  481. package/dist/esm/bg-5d8bf5ea.js +76 -0
  482. package/dist/esm/bs-ff510e71.js +45 -0
  483. package/dist/esm/buffer-tools_4.entry.js +1437 -1437
  484. package/dist/esm/ca-b9a5e51a.js +65 -0
  485. package/dist/esm/calcite-accordion-item.entry.js +140 -140
  486. package/dist/esm/calcite-accordion.entry.js +75 -75
  487. package/dist/esm/calcite-action-bar.entry.js +216 -216
  488. package/dist/esm/calcite-action-group_2.entry.js +365 -365
  489. package/dist/esm/calcite-action-pad.entry.js +135 -135
  490. package/dist/esm/calcite-action_2.entry.js +445 -445
  491. package/dist/esm/calcite-alert.entry.js +247 -247
  492. package/dist/esm/calcite-avatar.entry.js +73 -73
  493. package/dist/esm/calcite-block-section.entry.js +122 -122
  494. package/dist/esm/calcite-block.entry.js +131 -131
  495. package/dist/esm/calcite-button.entry.js +182 -182
  496. package/dist/esm/calcite-card.entry.js +99 -99
  497. package/dist/esm/calcite-checkbox.entry.js +125 -125
  498. package/dist/esm/calcite-chip-group.entry.js +164 -164
  499. package/dist/esm/calcite-chip.entry.js +213 -213
  500. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +303 -303
  501. package/dist/esm/calcite-color-picker.entry.js +886 -886
  502. package/dist/esm/calcite-combobox-item-group.entry.js +35 -35
  503. package/dist/esm/calcite-combobox_6.entry.js +1786 -1786
  504. package/dist/esm/calcite-date-picker-day_3.entry.js +589 -589
  505. package/dist/esm/calcite-date-picker.entry.js +434 -434
  506. package/dist/esm/calcite-fab.entry.js +66 -66
  507. package/dist/esm/calcite-filter_5.entry.js +1131 -1131
  508. package/dist/esm/calcite-flow-item.entry.js +146 -146
  509. package/dist/esm/calcite-flow.entry.js +117 -117
  510. package/dist/esm/calcite-graph.entry.js +66 -66
  511. package/dist/esm/calcite-icon.entry.js +80 -80
  512. package/dist/esm/calcite-inline-editable.entry.js +225 -225
  513. package/dist/esm/calcite-input-date-picker.entry.js +632 -632
  514. package/dist/esm/calcite-input-number_2.entry.js +846 -846
  515. package/dist/esm/calcite-input-time-picker-13448515.js +1715 -0
  516. package/dist/esm/calcite-input-time-picker.entry.js +15 -15
  517. package/dist/esm/calcite-input-time-zone.entry.js +150 -150
  518. package/dist/esm/calcite-input_2.entry.js +645 -645
  519. package/dist/esm/calcite-label.entry.js +40 -40
  520. package/dist/esm/calcite-link.entry.js +96 -96
  521. package/dist/esm/calcite-list-item-group.entry.js +46 -46
  522. package/dist/esm/calcite-loader.entry.js +65 -65
  523. package/dist/esm/calcite-menu-item.entry.js +246 -246
  524. package/dist/esm/calcite-menu.entry.js +161 -161
  525. package/dist/esm/calcite-modal.entry.js +282 -282
  526. package/dist/esm/calcite-navigation-logo.entry.js +52 -52
  527. package/dist/esm/calcite-navigation-user.entry.js +45 -45
  528. package/dist/esm/calcite-navigation.entry.js +126 -126
  529. package/dist/esm/calcite-notice.entry.js +105 -105
  530. package/dist/esm/calcite-option-group.entry.js +24 -24
  531. package/dist/esm/calcite-option_2.entry.js +271 -271
  532. package/dist/esm/calcite-pagination.entry.js +191 -191
  533. package/dist/esm/calcite-panel_2.entry.js +346 -346
  534. package/dist/esm/calcite-pick-list-group.entry.js +46 -46
  535. package/dist/esm/calcite-pick-list-item.entry.js +181 -181
  536. package/dist/esm/calcite-pick-list.entry.js +130 -130
  537. package/dist/esm/calcite-radio-button-group.entry.js +118 -118
  538. package/dist/esm/calcite-radio-button.entry.js +292 -292
  539. package/dist/esm/calcite-rating.entry.js +245 -245
  540. package/dist/esm/calcite-scrim.entry.js +93 -93
  541. package/dist/esm/calcite-segmented-control_2.entry.js +225 -225
  542. package/dist/esm/calcite-shell-center-row.entry.js +42 -42
  543. package/dist/esm/calcite-shell-panel_14.entry.js +2604 -2604
  544. package/dist/esm/calcite-sortable-list.entry.js +134 -134
  545. package/dist/esm/calcite-split-button.entry.js +92 -92
  546. package/dist/esm/calcite-stepper-item.entry.js +197 -197
  547. package/dist/esm/calcite-stepper.entry.js +187 -187
  548. package/dist/esm/calcite-switch.entry.js +100 -100
  549. package/dist/esm/calcite-text-area.entry.js +235 -235
  550. package/dist/esm/calcite-tile-select-group.entry.js +27 -27
  551. package/dist/esm/calcite-tile-select.entry.js +180 -180
  552. package/dist/esm/calcite-tile.entry.js +58 -58
  553. package/dist/esm/calcite-time-picker.entry.js +619 -619
  554. package/dist/esm/calcite-tip-group.entry.js +10 -10
  555. package/dist/esm/calcite-tip-manager.entry.js +185 -185
  556. package/dist/esm/calcite-tip.entry.js +94 -94
  557. package/dist/esm/calcite-tooltip.entry.js +185 -185
  558. package/dist/esm/calcite-tree_3.entry.js +821 -821
  559. package/dist/esm/card-manager_4.entry.js +707 -653
  560. package/dist/esm/conditionalSlot-27a0fce0.js +60 -0
  561. package/dist/esm/crowdsource-manager.entry.js +258 -256
  562. package/dist/esm/crowdsource-reporter.entry.js +60 -60
  563. package/dist/esm/cs-f21a0628.js +141 -0
  564. package/dist/esm/da-dc48fc4c.js +60 -0
  565. package/dist/esm/date-0ed48e97.js +235 -0
  566. package/dist/esm/de-59290071.js +85 -0
  567. package/dist/esm/de-at-cd6e6ab7.js +84 -0
  568. package/dist/esm/de-ch-27c44e34.js +84 -0
  569. package/dist/esm/deduct-calculator.entry.js +90 -90
  570. package/dist/esm/dom-843e3afd.js +1017 -0
  571. package/dist/esm/downloadUtils-63661805.js +2761 -0
  572. package/dist/esm/edit-card_2.entry.js +345 -345
  573. package/dist/esm/el-f09fdec6.js +60 -0
  574. package/dist/esm/en-au-90087aa5.js +60 -0
  575. package/dist/esm/en-ca-10751695.js +59 -0
  576. package/dist/esm/en-gb-0f8547bd.js +63 -0
  577. package/dist/esm/es-b0997cf1.js +60 -0
  578. package/dist/esm/es-mx-226f5028.js +59 -0
  579. package/dist/esm/et-dc96c453.js +86 -0
  580. package/dist/esm/fi-0941704d.js +109 -0
  581. package/dist/esm/filter-1cac3edf.js +763 -0
  582. package/dist/esm/floating-ui-d28d0fd6.js +1880 -0
  583. package/dist/esm/focusTrapComponent-ff3a9f28.js +1004 -0
  584. package/dist/esm/form-11c6a015.js +280 -0
  585. package/dist/esm/fr-8da3458d.js +62 -0
  586. package/dist/esm/fr-ch-739ceddf.js +60 -0
  587. package/dist/esm/he-8b662dfa.js +99 -0
  588. package/dist/esm/hi-10996f89.js +59 -0
  589. package/dist/esm/hr-42c2024d.js +74 -0
  590. package/dist/esm/hu-4768b3ff.js +82 -0
  591. package/dist/esm/id-24a08170.js +60 -0
  592. package/dist/esm/index-b5d9d795.js +1904 -0
  593. package/dist/esm/index-b91c174c.js +199 -0
  594. package/dist/esm/index.es-3a3aa8e3.js +10722 -0
  595. package/dist/esm/interfaces-5a2fe8b4.js +85 -0
  596. package/dist/esm/it-ad09649f.js +60 -0
  597. package/dist/esm/it-ch-b05fc10d.js +60 -0
  598. package/dist/esm/ja-ab839b73.js +66 -0
  599. package/dist/esm/ko-c778539e.js +66 -0
  600. package/dist/esm/label-6a1caf64.js +130 -0
  601. package/dist/esm/list-item.entry.js +60 -60
  602. package/dist/esm/loadModules-2ecd1e44.js +28 -0
  603. package/dist/esm/loadable-6bca96ad.js +89 -0
  604. package/dist/esm/loader.js +6 -15
  605. package/dist/esm/locale-aa3de591.js +412 -0
  606. package/dist/esm/locale-d8561d54.js +592 -0
  607. package/dist/esm/lt-447d9aa9.js +91 -0
  608. package/dist/esm/lv-4d715e11.js +60 -0
  609. package/dist/esm/map-select-tools_3.entry.js +1285 -1285
  610. package/dist/esm/mapViewUtils-f0c04325.js +395 -0
  611. package/dist/esm/mk-b3d7401a.js +60 -0
  612. package/dist/esm/nb-2b4a8366.js +61 -0
  613. package/dist/esm/nl-c0db1da2.js +61 -0
  614. package/dist/esm/openCloseComponent-2b5c6bed.js +82 -0
  615. package/dist/esm/pci-calculator.entry.js +102 -102
  616. package/dist/esm/pciUtils-59c29b42.js +844 -0
  617. package/dist/esm/pl-0d322bb4.js +108 -0
  618. package/dist/esm/pt-5997598c.js +61 -0
  619. package/dist/esm/pt-br-6b77e7db.js +59 -0
  620. package/dist/esm/public-notification.entry.js +844 -844
  621. package/dist/esm/publicNotificationStore-ade82148.js +49 -0
  622. package/dist/esm/resources-40d8e06f.js +20 -0
  623. package/dist/esm/ro-ac3724e0.js +60 -0
  624. package/dist/esm/ru-4e75151f.js +120 -0
  625. package/dist/esm/shared-list-render-abd19c8d.js +342 -0
  626. package/dist/esm/sk-bbfa22a3.js +142 -0
  627. package/dist/esm/sl-867cecfc.js +60 -0
  628. package/dist/esm/solution-configuration.entry.js +888 -888
  629. package/dist/esm/solution-contents_3.entry.js +21506 -21506
  630. package/dist/esm/solution-store-46bc46a5.js +4092 -0
  631. package/dist/esm/solutions-components.js +6 -6
  632. package/dist/esm/sortableComponent-db502e97.js +3109 -0
  633. package/dist/esm/sr-198b5c00.js +95 -0
  634. package/dist/esm/store-manager.entry.js +52 -52
  635. package/dist/esm/sv-02d64370.js +65 -0
  636. package/dist/esm/t9n-76168237.js +95 -0
  637. package/dist/esm/th-1616e303.js +59 -0
  638. package/dist/esm/throttle-9ab70933.js +73 -0
  639. package/dist/esm/time-6721a4c2.js +195 -0
  640. package/dist/esm/tr-f4619f64.js +60 -0
  641. package/dist/esm/uk-df7df34a.js +98 -0
  642. package/dist/esm/utils-ccfd94a7.js +45 -0
  643. package/dist/esm/utils-f54411df.js +61 -0
  644. package/dist/esm/vi-176ca9f7.js +64 -0
  645. package/dist/esm/zh-cn-e13d83d1.js +88 -0
  646. package/dist/esm/zh-hk-d97365d8.js +65 -0
  647. package/dist/esm/zh-tw-a2b6f0b7.js +86 -0
  648. package/dist/loader/index.d.ts +2 -2
  649. package/dist/solutions-components/demos/crowdsource-manager.html +3 -3
  650. package/dist/solutions-components/p-022a9b7a.js +6 -0
  651. package/dist/solutions-components/p-03fccde6.entry.js +11 -0
  652. package/dist/solutions-components/p-052ff2c7.js +6 -0
  653. package/dist/solutions-components/p-05db4340.js +6 -0
  654. package/dist/solutions-components/p-07bc4f07.entry.js +11 -0
  655. package/dist/solutions-components/p-0cc32f06.js +6 -0
  656. package/dist/solutions-components/p-0e7914e6.entry.js +11 -0
  657. package/dist/solutions-components/p-0ece6df1.entry.js +12 -0
  658. package/dist/solutions-components/p-0f8440bb.entry.js +6 -0
  659. package/dist/solutions-components/p-0fbc27fd.entry.js +11 -0
  660. package/dist/solutions-components/p-10248e04.js +11 -0
  661. package/dist/solutions-components/p-108fbf59.entry.js +6 -0
  662. package/dist/solutions-components/p-12a4fa84.js +6 -0
  663. package/dist/solutions-components/p-13290851.js +259 -0
  664. package/dist/solutions-components/p-15ef7894.js +6 -0
  665. package/dist/solutions-components/p-164be8ef.entry.js +6 -0
  666. package/dist/solutions-components/p-19fe7725.js +6 -0
  667. package/dist/solutions-components/p-1add4e39.entry.js +11 -0
  668. package/dist/solutions-components/p-1ea1dcac.js +61 -0
  669. package/dist/solutions-components/p-1ede2e18.js +11 -0
  670. package/dist/solutions-components/p-2005280f.js +11 -0
  671. package/dist/solutions-components/p-216801d5.js +6 -0
  672. package/dist/solutions-components/p-21f00df6.js +6 -0
  673. package/dist/solutions-components/p-22d580b0.entry.js +11 -0
  674. package/dist/solutions-components/p-2656168f.entry.js +11 -0
  675. package/dist/solutions-components/p-27a1ac1f.entry.js +17 -0
  676. package/dist/solutions-components/p-28d2670f.entry.js +6 -0
  677. package/dist/solutions-components/p-29d41c7e.js +11 -0
  678. package/dist/solutions-components/p-2ae17fa2.js +6 -0
  679. package/dist/solutions-components/p-2b252afd.entry.js +6 -0
  680. package/dist/solutions-components/p-2b96e551.entry.js +11 -0
  681. package/dist/solutions-components/p-2c0dc7b1.js +6 -0
  682. package/dist/solutions-components/p-2d70d3fd.js +12 -0
  683. package/dist/solutions-components/p-31316d61.entry.js +11 -0
  684. package/dist/solutions-components/p-31ff3452.entry.js +11 -0
  685. package/dist/solutions-components/p-326fa270.js +6 -0
  686. package/dist/solutions-components/p-32ef065d.entry.js +11 -0
  687. package/dist/solutions-components/p-32f9c709.js +6 -0
  688. package/dist/solutions-components/p-3445a8c6.js +21 -0
  689. package/dist/solutions-components/p-35123c90.js +6 -0
  690. package/dist/solutions-components/p-361f1fe1.js +11 -0
  691. package/dist/solutions-components/p-39ff5ee5.js +11 -0
  692. package/dist/solutions-components/p-3aba40e8.js +18 -0
  693. package/dist/solutions-components/p-3bd99fc9.js +11 -0
  694. package/dist/solutions-components/p-3cbe5ef3.js +6 -0
  695. package/dist/solutions-components/p-3cce003d.js +27 -0
  696. package/dist/solutions-components/p-3e139360.js +6 -0
  697. package/dist/solutions-components/p-3f0193e9.js +6 -0
  698. package/dist/solutions-components/p-418d0b60.entry.js +6 -0
  699. package/dist/solutions-components/p-421d5e7c.js +6 -0
  700. package/dist/solutions-components/p-42c7a5fa.entry.js +11 -0
  701. package/dist/solutions-components/p-46d5970b.entry.js +37 -0
  702. package/dist/solutions-components/p-4b95d05e.entry.js +6 -0
  703. package/dist/solutions-components/p-4bc7b875.entry.js +11 -0
  704. package/dist/solutions-components/p-4c43820f.entry.js +6 -0
  705. package/dist/solutions-components/p-4d17943f.js +6 -0
  706. package/dist/solutions-components/p-4daae757.js +6 -0
  707. package/dist/solutions-components/p-4e4b55b9.entry.js +37 -0
  708. package/dist/solutions-components/p-4f0c3fc1.js +6 -0
  709. package/dist/solutions-components/p-525f1188.js +11 -0
  710. package/dist/solutions-components/p-5383607a.js +22 -0
  711. package/dist/solutions-components/p-541697d0.js +11 -0
  712. package/dist/solutions-components/p-55aefaa8.entry.js +6 -0
  713. package/dist/solutions-components/p-56300653.js +16 -0
  714. package/dist/solutions-components/p-57c08531.entry.js +6 -0
  715. package/dist/solutions-components/p-5adf37ea.entry.js +12 -0
  716. package/dist/solutions-components/p-5b5a6ac8.entry.js +6 -0
  717. package/dist/solutions-components/p-5b9b1cbb.entry.js +11 -0
  718. package/dist/solutions-components/p-5c097e25.entry.js +11 -0
  719. package/dist/solutions-components/p-5e59219b.entry.js +6 -0
  720. package/dist/solutions-components/p-5f5c371e.js +6 -0
  721. package/dist/solutions-components/p-606ca126.js +6 -0
  722. package/dist/solutions-components/p-634e1240.js +6 -0
  723. package/dist/solutions-components/p-639cca97.js +6 -0
  724. package/dist/solutions-components/p-6431fd69.js +11 -0
  725. package/dist/solutions-components/p-647a4130.js +16 -0
  726. package/dist/solutions-components/p-6665fa1f.js +6 -0
  727. package/dist/solutions-components/p-67ce3c0c.entry.js +11 -0
  728. package/dist/solutions-components/p-680d193d.entry.js +11 -0
  729. package/dist/solutions-components/p-6a524392.entry.js +11 -0
  730. package/dist/solutions-components/p-6a820c4d.js +6 -0
  731. package/dist/solutions-components/p-6b2f2b85.js +17 -0
  732. package/dist/solutions-components/p-6de98c51.js +21 -0
  733. package/dist/solutions-components/p-754e2df2.js +6 -0
  734. package/dist/solutions-components/p-75f26870.js +474 -0
  735. package/dist/solutions-components/p-7601988d.entry.js +11 -0
  736. package/dist/solutions-components/p-761a033a.entry.js +11 -0
  737. package/dist/solutions-components/p-7920b5a2.entry.js +11 -0
  738. package/dist/solutions-components/p-7aa949a3.entry.js +11 -0
  739. package/dist/solutions-components/p-7b90c18e.entry.js +6 -0
  740. package/dist/solutions-components/p-7b9adfff.js +6 -0
  741. package/dist/solutions-components/p-7c33e500.entry.js +6 -0
  742. package/dist/solutions-components/p-804e4751.entry.js +17 -0
  743. package/dist/solutions-components/p-82199b7b.entry.js +6 -0
  744. package/dist/solutions-components/p-825bac0e.js +6 -0
  745. package/dist/solutions-components/p-844ee452.entry.js +11 -0
  746. package/dist/solutions-components/p-8a758303.js +17 -0
  747. package/dist/solutions-components/p-90bbf223.entry.js +6 -0
  748. package/dist/solutions-components/p-916f90ec.entry.js +6 -0
  749. package/dist/solutions-components/p-91caf655.entry.js +11 -0
  750. package/dist/solutions-components/p-93074bd4.entry.js +11 -0
  751. package/dist/solutions-components/p-9310b882.js +7 -0
  752. package/dist/solutions-components/p-955a956a.entry.js +23 -0
  753. package/dist/solutions-components/p-9603c3ff.entry.js +11 -0
  754. package/dist/solutions-components/p-97c47bbd.entry.js +18 -0
  755. package/dist/solutions-components/p-9bbc05ff.js +11 -0
  756. package/dist/solutions-components/p-9cb94ea0.js +6 -0
  757. package/dist/solutions-components/p-9e727488.js +6 -0
  758. package/dist/solutions-components/p-9fb16c72.entry.js +35 -0
  759. package/dist/solutions-components/p-a040efff.js +6 -0
  760. package/dist/solutions-components/p-a08bd8c1.entry.js +6 -0
  761. package/dist/solutions-components/p-a0a2c53d.js +21 -0
  762. package/dist/solutions-components/p-a0edbb27.js +6 -0
  763. package/dist/solutions-components/p-a258f5e7.js +6 -0
  764. package/dist/solutions-components/p-a2748b38.entry.js +6 -0
  765. package/dist/solutions-components/p-a6900100.entry.js +11 -0
  766. package/dist/solutions-components/p-a6c85bd7.entry.js +6 -0
  767. package/dist/solutions-components/p-a775ba2f.entry.js +11 -0
  768. package/dist/solutions-components/p-a777b18c.js +11 -0
  769. package/dist/solutions-components/p-a82f35c9.js +6 -0
  770. package/dist/solutions-components/p-a843af2a.js +6 -0
  771. package/dist/solutions-components/p-ab8f5c6b.entry.js +11 -0
  772. package/dist/solutions-components/p-abda8ca2.entry.js +11 -0
  773. package/dist/solutions-components/p-ad4d6d02.entry.js +22 -0
  774. package/dist/solutions-components/p-ad72a379.entry.js +16 -0
  775. package/dist/solutions-components/p-aeebdb15.js +6 -0
  776. package/dist/solutions-components/p-b0c4138f.entry.js +11 -0
  777. package/dist/solutions-components/p-b1f84ae5.js +6 -0
  778. package/dist/solutions-components/p-b2e6c578.js +6 -0
  779. package/dist/solutions-components/p-b4157e6a.js +6 -0
  780. package/dist/solutions-components/p-b49bdc72.entry.js +6 -0
  781. package/dist/solutions-components/p-b5d67495.entry.js +11 -0
  782. package/dist/solutions-components/p-b6578a32.js +6 -0
  783. package/dist/solutions-components/p-b684bbc7.entry.js +6 -0
  784. package/dist/solutions-components/p-b86b4512.entry.js +11 -0
  785. package/dist/solutions-components/p-b948ecd2.entry.js +11 -0
  786. package/dist/solutions-components/p-baccfd70.entry.js +6 -0
  787. package/dist/solutions-components/p-bba3fa4e.entry.js +11 -0
  788. package/dist/solutions-components/p-bbb0d957.entry.js +6 -0
  789. package/dist/solutions-components/p-bd3a3afe.js +6 -0
  790. package/dist/solutions-components/p-bf9e18d4.js +8 -0
  791. package/dist/solutions-components/p-c07af9c2.entry.js +11 -0
  792. package/dist/solutions-components/p-c1ee0d69.js +11 -0
  793. package/dist/solutions-components/p-c3f8b670.js +6 -0
  794. package/dist/solutions-components/p-c5e294e4.js +6 -0
  795. package/dist/solutions-components/p-c6d83122.entry.js +11 -0
  796. package/dist/solutions-components/p-c70392c4.entry.js +6 -0
  797. package/dist/solutions-components/p-c9858d8f.entry.js +11 -0
  798. package/dist/solutions-components/p-cad5587c.entry.js +35 -0
  799. package/dist/solutions-components/p-cf1af08f.entry.js +6 -0
  800. package/dist/solutions-components/p-cf43278c.entry.js +11 -0
  801. package/dist/solutions-components/p-d3a22725.js +6 -0
  802. package/dist/solutions-components/p-d62784a4.js +11 -0
  803. package/dist/solutions-components/p-d6322e4b.js +6 -0
  804. package/dist/solutions-components/p-dc9dad31.entry.js +6 -0
  805. package/dist/solutions-components/p-de58bd49.js +6 -0
  806. package/dist/solutions-components/p-de59d2f5.js +6 -0
  807. package/dist/solutions-components/p-e02fcfa9.entry.js +12 -0
  808. package/dist/solutions-components/p-e07b8a72.entry.js +11 -0
  809. package/dist/solutions-components/p-e10a62f4.entry.js +11 -0
  810. package/dist/solutions-components/p-e4253e1b.entry.js +6 -0
  811. package/dist/solutions-components/p-e645edf2.entry.js +6 -0
  812. package/dist/solutions-components/p-e6bee82f.js +6 -0
  813. package/dist/solutions-components/p-ea282908.js +6 -0
  814. package/dist/solutions-components/p-ee066c67.js +16 -0
  815. package/dist/solutions-components/p-ef48bd77.entry.js +17 -0
  816. package/dist/solutions-components/p-ef96894d.entry.js +23 -0
  817. package/dist/solutions-components/p-f28d69ac.entry.js +11 -0
  818. package/dist/solutions-components/p-f41105c8.js +6 -0
  819. package/dist/solutions-components/p-f8dd2784.js +36 -0
  820. package/dist/solutions-components/p-ffac6f88.entry.js +6 -0
  821. package/dist/solutions-components/solutions-components.esm.js +1 -1
  822. package/dist/solutions-components/utils/interfaces.ts +2 -0
  823. package/dist/types/components/basemap-gallery/basemap-gallery.d.ts +64 -0
  824. package/dist/types/components/buffer-tools/buffer-tools.d.ts +170 -170
  825. package/dist/types/components/card-manager/card-manager.d.ts +70 -70
  826. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +182 -174
  827. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +26 -26
  828. package/dist/types/components/deduct-calculator/deduct-calculator.d.ts +90 -90
  829. package/dist/types/components/edit-card/edit-card.d.ts +140 -140
  830. package/dist/types/components/info-card/info-card.d.ts +143 -143
  831. package/dist/types/components/json-editor/json-editor.d.ts +229 -229
  832. package/dist/types/components/layer-table/layer-table.d.ts +298 -276
  833. package/dist/types/components/layout-manager/layout-manager.d.ts +69 -69
  834. package/dist/types/components/list-item/list-item.d.ts +26 -26
  835. package/dist/types/components/map-card/map-card.d.ts +91 -83
  836. package/dist/types/components/map-draw-tools/map-draw-tools.d.ts +231 -231
  837. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +160 -160
  838. package/dist/types/components/map-picker/map-picker.d.ts +109 -109
  839. package/dist/types/components/map-search/map-search.d.ts +107 -0
  840. package/dist/types/components/map-select-tools/map-select-tools.d.ts +469 -469
  841. package/dist/types/components/map-tools/map-tools.d.ts +167 -104
  842. package/dist/types/components/pci-calculator/pci-calculator.d.ts +71 -71
  843. package/dist/types/components/pdf-download/pdf-download.d.ts +101 -101
  844. package/dist/types/components/public-notification/public-notification.d.ts +610 -610
  845. package/dist/types/components/refine-selection/refine-selection.d.ts +234 -234
  846. package/dist/types/components/solution-configuration/solution-configuration.d.ts +205 -205
  847. package/dist/types/components/solution-contents/solution-contents.d.ts +46 -46
  848. package/dist/types/components/solution-item/solution-item.d.ts +71 -71
  849. package/dist/types/components/solution-item-details/solution-item-details.d.ts +100 -100
  850. package/dist/types/components/solution-item-icon/solution-item-icon.d.ts +44 -44
  851. package/dist/types/components/solution-item-sharing/solution-item-sharing.d.ts +62 -62
  852. package/dist/types/components/solution-organization-variables/solution-organization-variables.d.ts +63 -63
  853. package/dist/types/components/solution-resource-item/solution-resource-item.d.ts +144 -144
  854. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +180 -180
  855. package/dist/types/components/solution-spatial-ref/spatialreferences.d.ts +17 -17
  856. package/dist/types/components/solution-template-data/solution-template-data.d.ts +72 -72
  857. package/dist/types/components/solution-variables/solution-variables.d.ts +69 -69
  858. package/dist/types/components/store-manager/store-manager.d.ts +55 -55
  859. package/dist/types/components.d.ts +124 -0
  860. package/dist/types/index.d.ts +16 -16
  861. package/dist/types/preact.d.ts +4 -0
  862. package/dist/types/stencil-public-runtime.d.ts +29 -14
  863. package/dist/types/utils/common.d.ts +49 -49
  864. package/dist/types/utils/csvDownload.d.ts +24 -24
  865. package/dist/types/utils/csvUtils.d.ts +22 -22
  866. package/dist/types/utils/downloadUtils.d.ts +118 -118
  867. package/dist/types/utils/interfaces.d.ts +400 -398
  868. package/dist/types/utils/languageUtil.d.ts +11 -11
  869. package/dist/types/utils/loadModules.d.ts +17 -17
  870. package/dist/types/utils/locale.d.ts +22 -22
  871. package/dist/types/utils/mapViewUtils.d.ts +124 -124
  872. package/dist/types/utils/pciUtils.d.ts +97 -97
  873. package/dist/types/utils/pdfUtils.d.ts +27 -27
  874. package/dist/types/utils/publicNotificationStore.d.ts +24 -24
  875. package/dist/types/utils/queryUtils.d.ts +95 -95
  876. package/dist/types/utils/solution-store.d.ts +234 -234
  877. package/dist/types/utils/templates.d.ts +50 -50
  878. package/dist/types/utils/test/mocks/jsApi.d.ts +59 -59
  879. package/dist/types/utils/test/testUtils.d.ts +36 -36
  880. package/dist/types/utils/types.d.ts +1 -1
  881. package/package.json +2 -2
  882. package/dist/cjs/ExpandToggle-70890ae0.js +0 -117
  883. package/dist/cjs/FloatingArrow-4ca06439.js +0 -48
  884. package/dist/cjs/Heading-c5c71fc5.js +0 -25
  885. package/dist/cjs/app-globals-a34c0991.js +0 -64
  886. package/dist/cjs/ar-fa16156d.js +0 -97
  887. package/dist/cjs/bg-b39e773e.js +0 -78
  888. package/dist/cjs/bs-4579ea2a.js +0 -47
  889. package/dist/cjs/ca-f3f64686.js +0 -67
  890. package/dist/cjs/calcite-input-time-picker-6f38ef8c.js +0 -1718
  891. package/dist/cjs/conditionalSlot-a51326e7.js +0 -63
  892. package/dist/cjs/cs-1bcd5b46.js +0 -143
  893. package/dist/cjs/da-30ee21db.js +0 -62
  894. package/dist/cjs/date-f6611a19.js +0 -250
  895. package/dist/cjs/de-42aae5ad.js +0 -87
  896. package/dist/cjs/de-at-a3a6f020.js +0 -86
  897. package/dist/cjs/de-ch-36c13310.js +0 -86
  898. package/dist/cjs/dom-d529bae8.js +0 -1046
  899. package/dist/cjs/downloadUtils-6eb59363.js +0 -2767
  900. package/dist/cjs/el-90d066ae.js +0 -62
  901. package/dist/cjs/en-au-685b882b.js +0 -62
  902. package/dist/cjs/en-ca-ff4bc403.js +0 -61
  903. package/dist/cjs/en-gb-2f5587ad.js +0 -65
  904. package/dist/cjs/es-e9183ca0.js +0 -62
  905. package/dist/cjs/es-mx-dcc9afb2.js +0 -61
  906. package/dist/cjs/et-a18949ea.js +0 -88
  907. package/dist/cjs/fi-1ce00d38.js +0 -111
  908. package/dist/cjs/filter-494bf35e.js +0 -765
  909. package/dist/cjs/floating-ui-7d6e57d3.js +0 -1888
  910. package/dist/cjs/focusTrapComponent-0c4d7671.js +0 -1009
  911. package/dist/cjs/form-bcf49eae.js +0 -288
  912. package/dist/cjs/fr-a9435a19.js +0 -64
  913. package/dist/cjs/fr-ch-51efa9bf.js +0 -62
  914. package/dist/cjs/he-c5dccfa2.js +0 -101
  915. package/dist/cjs/hi-0898e7f2.js +0 -61
  916. package/dist/cjs/hr-68f7d8da.js +0 -76
  917. package/dist/cjs/hu-e494037d.js +0 -84
  918. package/dist/cjs/id-bef40c1c.js +0 -62
  919. package/dist/cjs/index-6654298b.js +0 -1796
  920. package/dist/cjs/index-e1b1954f.js +0 -201
  921. package/dist/cjs/index.es-d9b5d3a5.js +0 -10808
  922. package/dist/cjs/interfaces-ad03ec39.js +0 -85
  923. package/dist/cjs/it-1144ca67.js +0 -62
  924. package/dist/cjs/it-ch-2c14dca7.js +0 -62
  925. package/dist/cjs/ja-caad9809.js +0 -68
  926. package/dist/cjs/ko-ddec9054.js +0 -68
  927. package/dist/cjs/label-215c4af3.js +0 -136
  928. package/dist/cjs/loadModules-ae7715f2.js +0 -30
  929. package/dist/cjs/loadable-6da743c6.js +0 -94
  930. package/dist/cjs/locale-477d8d51.js +0 -604
  931. package/dist/cjs/locale-b113c6b2.js +0 -416
  932. package/dist/cjs/lt-205a1aa6.js +0 -93
  933. package/dist/cjs/lv-3ba82f9b.js +0 -62
  934. package/dist/cjs/map-picker_2.cjs.entry.js +0 -264
  935. package/dist/cjs/mapViewUtils-77a1ff88.js +0 -411
  936. package/dist/cjs/mk-069ea86a.js +0 -62
  937. package/dist/cjs/nb-9e9c934f.js +0 -63
  938. package/dist/cjs/nl-5dd0116f.js +0 -63
  939. package/dist/cjs/openCloseComponent-3fa18210.js +0 -84
  940. package/dist/cjs/pciUtils-423cfc68.js +0 -847
  941. package/dist/cjs/pl-74e70b37.js +0 -110
  942. package/dist/cjs/pt-br-0f76e430.js +0 -61
  943. package/dist/cjs/pt-cc737fcc.js +0 -63
  944. package/dist/cjs/publicNotificationStore-ec1bdd2d.js +0 -51
  945. package/dist/cjs/ro-5e396753.js +0 -62
  946. package/dist/cjs/ru-f7371aca.js +0 -122
  947. package/dist/cjs/shared-list-render-76c5dc25.js +0 -364
  948. package/dist/cjs/sk-ec02498f.js +0 -144
  949. package/dist/cjs/sl-8363f4d7.js +0 -62
  950. package/dist/cjs/solution-store-bd956f06.js +0 -4100
  951. package/dist/cjs/sortableComponent-8135ea87.js +0 -3112
  952. package/dist/cjs/sr-b0f92cb1.js +0 -97
  953. package/dist/cjs/sv-e2c27fff.js +0 -67
  954. package/dist/cjs/t9n-8be30efb.js +0 -100
  955. package/dist/cjs/th-8a6dc2cc.js +0 -61
  956. package/dist/cjs/throttle-8ee74c77.js +0 -75
  957. package/dist/cjs/time-9004df7e.js +0 -208
  958. package/dist/cjs/tr-09137435.js +0 -62
  959. package/dist/cjs/uk-c30401f4.js +0 -100
  960. package/dist/cjs/utils-ed4e5028.js +0 -55
  961. package/dist/cjs/utils-fb81c6b3.js +0 -64
  962. package/dist/cjs/vi-e069c9e4.js +0 -66
  963. package/dist/cjs/zh-cn-50f223a8.js +0 -90
  964. package/dist/cjs/zh-hk-5498073d.js +0 -67
  965. package/dist/cjs/zh-tw-dfdb0ae8.js +0 -88
  966. package/dist/esm/ExpandToggle-3420fa39.js +0 -109
  967. package/dist/esm/FloatingArrow-cd8eafa4.js +0 -46
  968. package/dist/esm/Heading-1763134e.js +0 -22
  969. package/dist/esm/app-globals-580889bd.js +0 -62
  970. package/dist/esm/ar-ceb1b389.js +0 -95
  971. package/dist/esm/bg-a8824832.js +0 -76
  972. package/dist/esm/bs-5c2ca44f.js +0 -45
  973. package/dist/esm/ca-47f86073.js +0 -65
  974. package/dist/esm/calcite-input-time-picker-59a3ed66.js +0 -1715
  975. package/dist/esm/conditionalSlot-91396dd5.js +0 -60
  976. package/dist/esm/cs-f651c3cd.js +0 -141
  977. package/dist/esm/da-e32ccc0a.js +0 -60
  978. package/dist/esm/date-51fa981b.js +0 -235
  979. package/dist/esm/de-9b417aed.js +0 -85
  980. package/dist/esm/de-at-f73447e2.js +0 -84
  981. package/dist/esm/de-ch-7ec8c31e.js +0 -84
  982. package/dist/esm/dom-8a9e4ee8.js +0 -1017
  983. package/dist/esm/downloadUtils-43b53f5a.js +0 -2761
  984. package/dist/esm/el-9a3189a2.js +0 -60
  985. package/dist/esm/en-au-5aea3b73.js +0 -60
  986. package/dist/esm/en-ca-fe3e706b.js +0 -59
  987. package/dist/esm/en-gb-a4278000.js +0 -63
  988. package/dist/esm/es-383f9c9e.js +0 -60
  989. package/dist/esm/es-mx-7845b382.js +0 -59
  990. package/dist/esm/et-d8f8df06.js +0 -86
  991. package/dist/esm/fi-14894338.js +0 -109
  992. package/dist/esm/filter-bf34614b.js +0 -763
  993. package/dist/esm/floating-ui-9870f74c.js +0 -1880
  994. package/dist/esm/focusTrapComponent-34010d00.js +0 -1004
  995. package/dist/esm/form-6669a774.js +0 -280
  996. package/dist/esm/fr-6f570086.js +0 -62
  997. package/dist/esm/fr-ch-b9f89159.js +0 -60
  998. package/dist/esm/he-174aca6e.js +0 -99
  999. package/dist/esm/hi-7e469aab.js +0 -59
  1000. package/dist/esm/hr-a4ac455a.js +0 -74
  1001. package/dist/esm/hu-207da291.js +0 -82
  1002. package/dist/esm/id-8e4d57bf.js +0 -60
  1003. package/dist/esm/index-4c4a4f3d.js +0 -199
  1004. package/dist/esm/index-d298aca9.js +0 -1762
  1005. package/dist/esm/index.es-a185f2b1.js +0 -10722
  1006. package/dist/esm/interfaces-bf20e69c.js +0 -85
  1007. package/dist/esm/it-7ade952c.js +0 -60
  1008. package/dist/esm/it-ch-181d76ab.js +0 -60
  1009. package/dist/esm/ja-42013dd3.js +0 -66
  1010. package/dist/esm/ko-8de07550.js +0 -66
  1011. package/dist/esm/label-661d8e10.js +0 -130
  1012. package/dist/esm/loadModules-cd3569de.js +0 -28
  1013. package/dist/esm/loadable-08376d90.js +0 -89
  1014. package/dist/esm/locale-54cac39a.js +0 -412
  1015. package/dist/esm/locale-73d0926a.js +0 -592
  1016. package/dist/esm/lt-1ef29b5b.js +0 -91
  1017. package/dist/esm/lv-263a2f78.js +0 -60
  1018. package/dist/esm/map-picker_2.entry.js +0 -259
  1019. package/dist/esm/mapViewUtils-1e68cede.js +0 -395
  1020. package/dist/esm/mk-d8bae136.js +0 -60
  1021. package/dist/esm/nb-494542b3.js +0 -61
  1022. package/dist/esm/nl-cd882d7f.js +0 -61
  1023. package/dist/esm/openCloseComponent-a40fd6fd.js +0 -82
  1024. package/dist/esm/pciUtils-ecda46e5.js +0 -844
  1025. package/dist/esm/pl-b79095d5.js +0 -108
  1026. package/dist/esm/polyfills/css-shim.js +0 -1
  1027. package/dist/esm/pt-5ca0b751.js +0 -61
  1028. package/dist/esm/pt-br-e1a1ce60.js +0 -59
  1029. package/dist/esm/publicNotificationStore-6ef555f3.js +0 -49
  1030. package/dist/esm/ro-5cbc0f2a.js +0 -60
  1031. package/dist/esm/ru-e66f5b84.js +0 -120
  1032. package/dist/esm/shared-list-render-5b788e63.js +0 -342
  1033. package/dist/esm/sk-be2b5cec.js +0 -142
  1034. package/dist/esm/sl-74600272.js +0 -60
  1035. package/dist/esm/solution-store-c107ca4d.js +0 -4092
  1036. package/dist/esm/sortableComponent-1dd8a4ae.js +0 -3109
  1037. package/dist/esm/sr-58280ce5.js +0 -95
  1038. package/dist/esm/sv-f0e2171a.js +0 -65
  1039. package/dist/esm/t9n-745553e0.js +0 -95
  1040. package/dist/esm/th-6c3eac31.js +0 -59
  1041. package/dist/esm/throttle-26fa347b.js +0 -73
  1042. package/dist/esm/time-7e3ba7c6.js +0 -195
  1043. package/dist/esm/tr-092713ca.js +0 -60
  1044. package/dist/esm/uk-95df0f95.js +0 -98
  1045. package/dist/esm/utils-4f695ec2.js +0 -45
  1046. package/dist/esm/utils-ddff4ef3.js +0 -61
  1047. package/dist/esm/vi-70a9857c.js +0 -64
  1048. package/dist/esm/zh-cn-e024ef2d.js +0 -88
  1049. package/dist/esm/zh-hk-36ff9e8f.js +0 -65
  1050. package/dist/esm/zh-tw-96ddb74c.js +0 -86
  1051. package/dist/solutions-components/p-0056655c.js +0 -6
  1052. package/dist/solutions-components/p-017265ef.entry.js +0 -23
  1053. package/dist/solutions-components/p-017543d5.entry.js +0 -11
  1054. package/dist/solutions-components/p-0209ed2e.js +0 -6
  1055. package/dist/solutions-components/p-0245bb56.entry.js +0 -6
  1056. package/dist/solutions-components/p-043ead99.entry.js +0 -6
  1057. package/dist/solutions-components/p-048a2a6d.js +0 -6
  1058. package/dist/solutions-components/p-050e12eb.entry.js +0 -12
  1059. package/dist/solutions-components/p-06916de9.entry.js +0 -11
  1060. package/dist/solutions-components/p-08320fb9.entry.js +0 -11
  1061. package/dist/solutions-components/p-08e12eb0.js +0 -6
  1062. package/dist/solutions-components/p-0a2c02fd.js +0 -6
  1063. package/dist/solutions-components/p-0a4bc416.js +0 -6
  1064. package/dist/solutions-components/p-0afa17dc.entry.js +0 -23
  1065. package/dist/solutions-components/p-0b4eb6e4.entry.js +0 -11
  1066. package/dist/solutions-components/p-0d900572.js +0 -6
  1067. package/dist/solutions-components/p-0f4d3009.entry.js +0 -11
  1068. package/dist/solutions-components/p-10181f33.entry.js +0 -6
  1069. package/dist/solutions-components/p-105ef63c.entry.js +0 -17
  1070. package/dist/solutions-components/p-11983a08.js +0 -6
  1071. package/dist/solutions-components/p-1260db08.js +0 -61
  1072. package/dist/solutions-components/p-129fcd0a.js +0 -6
  1073. package/dist/solutions-components/p-13f7e487.js +0 -11
  1074. package/dist/solutions-components/p-14769a01.js +0 -11
  1075. package/dist/solutions-components/p-14a4ad77.entry.js +0 -11
  1076. package/dist/solutions-components/p-15e67907.entry.js +0 -11
  1077. package/dist/solutions-components/p-17799448.entry.js +0 -11
  1078. package/dist/solutions-components/p-185a82e0.js +0 -17
  1079. package/dist/solutions-components/p-191c59e9.js +0 -6
  1080. package/dist/solutions-components/p-1b63bec9.entry.js +0 -11
  1081. package/dist/solutions-components/p-1c810f4c.entry.js +0 -6
  1082. package/dist/solutions-components/p-1d28ff09.entry.js +0 -11
  1083. package/dist/solutions-components/p-1e30069a.entry.js +0 -6
  1084. package/dist/solutions-components/p-1e63db11.entry.js +0 -6
  1085. package/dist/solutions-components/p-20274226.entry.js +0 -6
  1086. package/dist/solutions-components/p-2411f1f6.js +0 -6
  1087. package/dist/solutions-components/p-2509b65f.entry.js +0 -22
  1088. package/dist/solutions-components/p-25faeab6.js +0 -6
  1089. package/dist/solutions-components/p-27f5bb4f.js +0 -36
  1090. package/dist/solutions-components/p-2a0d8a46.entry.js +0 -11
  1091. package/dist/solutions-components/p-2dea68b6.entry.js +0 -17
  1092. package/dist/solutions-components/p-2ecd5cb7.js +0 -6
  1093. package/dist/solutions-components/p-30dbc43d.entry.js +0 -11
  1094. package/dist/solutions-components/p-32d821d1.entry.js +0 -37
  1095. package/dist/solutions-components/p-3479d873.entry.js +0 -6
  1096. package/dist/solutions-components/p-36d09c0c.entry.js +0 -35
  1097. package/dist/solutions-components/p-375f0b74.js +0 -474
  1098. package/dist/solutions-components/p-38b4873b.entry.js +0 -6
  1099. package/dist/solutions-components/p-38d61356.js +0 -18
  1100. package/dist/solutions-components/p-3a7156b8.entry.js +0 -6
  1101. package/dist/solutions-components/p-3b041268.js +0 -6
  1102. package/dist/solutions-components/p-3ca9bb95.js +0 -6
  1103. package/dist/solutions-components/p-3e5c8b2f.js +0 -6
  1104. package/dist/solutions-components/p-3ee6af74.js +0 -11
  1105. package/dist/solutions-components/p-3eecbcf0.entry.js +0 -18
  1106. package/dist/solutions-components/p-40432de5.entry.js +0 -11
  1107. package/dist/solutions-components/p-4058733e.entry.js +0 -11
  1108. package/dist/solutions-components/p-4152fae0.js +0 -6
  1109. package/dist/solutions-components/p-4321edfc.js +0 -6
  1110. package/dist/solutions-components/p-4344b6ca.entry.js +0 -11
  1111. package/dist/solutions-components/p-44e26e37.js +0 -6
  1112. package/dist/solutions-components/p-477ae127.js +0 -21
  1113. package/dist/solutions-components/p-4c8b1179.js +0 -6
  1114. package/dist/solutions-components/p-4e32bf8c.js +0 -6
  1115. package/dist/solutions-components/p-4e93132b.entry.js +0 -6
  1116. package/dist/solutions-components/p-4ea79dc4.entry.js +0 -11
  1117. package/dist/solutions-components/p-4f51db32.js +0 -6
  1118. package/dist/solutions-components/p-4f64d786.js +0 -6
  1119. package/dist/solutions-components/p-4ff653eb.js +0 -6
  1120. package/dist/solutions-components/p-53347add.js +0 -6
  1121. package/dist/solutions-components/p-54fce798.js +0 -11
  1122. package/dist/solutions-components/p-573d282b.entry.js +0 -11
  1123. package/dist/solutions-components/p-58340eba.js +0 -6
  1124. package/dist/solutions-components/p-5930cd6d.entry.js +0 -6
  1125. package/dist/solutions-components/p-5fc99541.js +0 -257
  1126. package/dist/solutions-components/p-6071078a.entry.js +0 -6
  1127. package/dist/solutions-components/p-69863a28.entry.js +0 -6
  1128. package/dist/solutions-components/p-699031c9.entry.js +0 -11
  1129. package/dist/solutions-components/p-6998e886.entry.js +0 -11
  1130. package/dist/solutions-components/p-6a813a31.entry.js +0 -6
  1131. package/dist/solutions-components/p-6b12b5eb.entry.js +0 -16
  1132. package/dist/solutions-components/p-6e89e9dd.js +0 -6
  1133. package/dist/solutions-components/p-705b7f81.entry.js +0 -12
  1134. package/dist/solutions-components/p-75578ebf.entry.js +0 -6
  1135. package/dist/solutions-components/p-7c72df3c.js +0 -22
  1136. package/dist/solutions-components/p-7ca47589.entry.js +0 -11
  1137. package/dist/solutions-components/p-7cb8a4db.js +0 -6
  1138. package/dist/solutions-components/p-7cc13b24.js +0 -8
  1139. package/dist/solutions-components/p-8008b2fe.entry.js +0 -6
  1140. package/dist/solutions-components/p-81531fbe.entry.js +0 -11
  1141. package/dist/solutions-components/p-81627211.entry.js +0 -11
  1142. package/dist/solutions-components/p-8aa806fe.js +0 -12
  1143. package/dist/solutions-components/p-8ae8b789.js +0 -6
  1144. package/dist/solutions-components/p-8b1236bf.js +0 -6
  1145. package/dist/solutions-components/p-8b14f9aa.js +0 -16
  1146. package/dist/solutions-components/p-8b4e79fd.js +0 -16
  1147. package/dist/solutions-components/p-8bc91d5b.entry.js +0 -11
  1148. package/dist/solutions-components/p-8df0c98c.entry.js +0 -35
  1149. package/dist/solutions-components/p-953cf07a.entry.js +0 -6
  1150. package/dist/solutions-components/p-95cf8aa0.entry.js +0 -11
  1151. package/dist/solutions-components/p-99ece5e1.js +0 -11
  1152. package/dist/solutions-components/p-9a2a551d.js +0 -6
  1153. package/dist/solutions-components/p-9b43b4cf.js +0 -11
  1154. package/dist/solutions-components/p-9f922d49.js +0 -11
  1155. package/dist/solutions-components/p-9fb09c2c.js +0 -11
  1156. package/dist/solutions-components/p-a0e50ea6.entry.js +0 -6
  1157. package/dist/solutions-components/p-a1154bb5.entry.js +0 -11
  1158. package/dist/solutions-components/p-a709a84a.js +0 -11
  1159. package/dist/solutions-components/p-a99832c1.js +0 -27
  1160. package/dist/solutions-components/p-ad41cd27.entry.js +0 -6
  1161. package/dist/solutions-components/p-ad962e25.js +0 -6
  1162. package/dist/solutions-components/p-ae1459ed.entry.js +0 -6
  1163. package/dist/solutions-components/p-af9510a4.entry.js +0 -6
  1164. package/dist/solutions-components/p-afc462f0.js +0 -6
  1165. package/dist/solutions-components/p-b02a2b2f.js +0 -11
  1166. package/dist/solutions-components/p-b0eb13a1.js +0 -6
  1167. package/dist/solutions-components/p-b1228e6c.entry.js +0 -11
  1168. package/dist/solutions-components/p-b1ff9f2e.entry.js +0 -11
  1169. package/dist/solutions-components/p-b20bf7b7.entry.js +0 -6
  1170. package/dist/solutions-components/p-b361af64.entry.js +0 -11
  1171. package/dist/solutions-components/p-b4a6abe2.js +0 -11
  1172. package/dist/solutions-components/p-b68b17b6.entry.js +0 -37
  1173. package/dist/solutions-components/p-b73e9c4d.js +0 -6
  1174. package/dist/solutions-components/p-b9111e12.js +0 -6
  1175. package/dist/solutions-components/p-b9653a1e.js +0 -6
  1176. package/dist/solutions-components/p-b9fa9ca9.js +0 -6
  1177. package/dist/solutions-components/p-ba9bb2ba.entry.js +0 -11
  1178. package/dist/solutions-components/p-bc35e445.entry.js +0 -6
  1179. package/dist/solutions-components/p-bccc74a8.js +0 -6
  1180. package/dist/solutions-components/p-bd213033.entry.js +0 -6
  1181. package/dist/solutions-components/p-c0dc792a.entry.js +0 -11
  1182. package/dist/solutions-components/p-c16e540d.js +0 -6
  1183. package/dist/solutions-components/p-c35b219b.entry.js +0 -11
  1184. package/dist/solutions-components/p-c38c0612.entry.js +0 -11
  1185. package/dist/solutions-components/p-c8c3554b.js +0 -17
  1186. package/dist/solutions-components/p-cbebdffa.js +0 -6
  1187. package/dist/solutions-components/p-cbf52aa2.entry.js +0 -11
  1188. package/dist/solutions-components/p-ce21ee76.js +0 -6
  1189. package/dist/solutions-components/p-ce3e73ae.entry.js +0 -6
  1190. package/dist/solutions-components/p-cf14e2f3.js +0 -6
  1191. package/dist/solutions-components/p-cfebc45c.entry.js +0 -11
  1192. package/dist/solutions-components/p-d15a4f36.entry.js +0 -11
  1193. package/dist/solutions-components/p-d3550542.js +0 -6
  1194. package/dist/solutions-components/p-d3dceabd.entry.js +0 -11
  1195. package/dist/solutions-components/p-d43c1fc8.entry.js +0 -11
  1196. package/dist/solutions-components/p-d7ddd3a2.js +0 -21
  1197. package/dist/solutions-components/p-d841cb8b.js +0 -6
  1198. package/dist/solutions-components/p-d9868bac.js +0 -6
  1199. package/dist/solutions-components/p-dc94bec2.js +0 -6
  1200. package/dist/solutions-components/p-dd0f8875.js +0 -6
  1201. package/dist/solutions-components/p-dec7b660.js +0 -11
  1202. package/dist/solutions-components/p-deca8a07.js +0 -6
  1203. package/dist/solutions-components/p-df5ec082.entry.js +0 -11
  1204. package/dist/solutions-components/p-e046f728.js +0 -6
  1205. package/dist/solutions-components/p-e27ce6d2.entry.js +0 -11
  1206. package/dist/solutions-components/p-e2abc969.js +0 -6
  1207. package/dist/solutions-components/p-e3f9e213.js +0 -6
  1208. package/dist/solutions-components/p-e43839a8.entry.js +0 -11
  1209. package/dist/solutions-components/p-e4d5188b.entry.js +0 -6
  1210. package/dist/solutions-components/p-e666c0d6.entry.js +0 -6
  1211. package/dist/solutions-components/p-e6c20791.js +0 -11
  1212. package/dist/solutions-components/p-ec4c8dc3.js +0 -11
  1213. package/dist/solutions-components/p-ef34c9e2.entry.js +0 -11
  1214. package/dist/solutions-components/p-f346f8ab.js +0 -11
  1215. package/dist/solutions-components/p-f780ecc1.entry.js +0 -11
  1216. package/dist/solutions-components/p-f8be5d5f.js +0 -7
  1217. package/dist/solutions-components/p-f9a56d6b.entry.js +0 -6
  1218. package/dist/solutions-components/p-f9b9b211.entry.js +0 -12
  1219. package/dist/solutions-components/p-fc2277fe.js +0 -21
  1220. package/dist/solutions-components/p-fd65b14d.entry.js +0 -6
  1221. package/dist/solutions-components/p-fe0e8542.entry.js +0 -17
  1222. /package/dist/cjs/{array-51e7da8f.js → array-46bb7df1.js} +0 -0
  1223. /package/dist/cjs/{debounce-69c3bada.js → debounce-30afab47.js} +0 -0
  1224. /package/dist/cjs/{guid-ca85ade0.js → guid-3abe3cc6.js} +0 -0
  1225. /package/dist/cjs/{html2canvas-770c1171.js → html2canvas-34208bbf.js} +0 -0
  1226. /package/dist/cjs/{interactive-4e212b36.js → interactive-2fe0f43a.js} +0 -0
  1227. /package/dist/cjs/{key-b32a6438.js → key-b8b55ea3.js} +0 -0
  1228. /package/dist/cjs/{math-ef14a84a.js → math-5132d9bd.js} +0 -0
  1229. /package/dist/cjs/{observers-20fe6f01.js → observers-f5fa975b.js} +0 -0
  1230. /package/dist/cjs/{purify-5389d8d6.js → purify-f8c3e427.js} +0 -0
  1231. /package/dist/cjs/{resources-1d2258a1.js → resources-2901b608.js} +0 -0
  1232. /package/dist/cjs/{resources-a7e3371d.js → resources-4da89742.js} +0 -0
  1233. /package/dist/cjs/{resources-7c9bff85.js → resources-60c27547.js} +0 -0
  1234. /package/dist/cjs/{resources-b4b4b4fe.js → resources-77713c2e.js} +0 -0
  1235. /package/dist/cjs/{resources-b176fc52.js → resources-8233a151.js} +0 -0
  1236. /package/dist/cjs/{resources-f13e2605.js → resources-91409a5d.js} +0 -0
  1237. /package/dist/cjs/{resources-9dcbf30f.js → resources-9f2b33ee.js} +0 -0
  1238. /package/dist/cjs/{resources-f3e30b7b.js → resources-c913200c.js} +0 -0
  1239. /package/dist/cjs/{resources-c6f066a4.js → resources-e1258e8a.js} +0 -0
  1240. /package/dist/cjs/{utils-662561ad.js → utils-bae432a9.js} +0 -0
  1241. /package/dist/cjs/{utils-8a0f3e68.js → utils-cd14113f.js} +0 -0
  1242. /package/dist/{esm/resources-b5267429.js → components/resources4.js} +0 -0
  1243. /package/dist/esm/{array-4a653f59.js → array-751a2b87.js} +0 -0
  1244. /package/dist/esm/{debounce-4c884e5c.js → debounce-229b1a22.js} +0 -0
  1245. /package/dist/esm/{guid-1608fd71.js → guid-2bbb8cd1.js} +0 -0
  1246. /package/dist/esm/{html2canvas-12c862c8.js → html2canvas-a0a4df55.js} +0 -0
  1247. /package/dist/esm/{interactive-0733ee76.js → interactive-eaf4be29.js} +0 -0
  1248. /package/dist/esm/{key-97b504af.js → key-7a525416.js} +0 -0
  1249. /package/dist/esm/{math-e006358c.js → math-5f92f517.js} +0 -0
  1250. /package/dist/esm/{observers-67bdf9e5.js → observers-9d66685a.js} +0 -0
  1251. /package/dist/esm/{purify-75c61cf7.js → purify-c99d2ace.js} +0 -0
  1252. /package/dist/esm/{resources-913009ae.js → resources-58d30a0f.js} +0 -0
  1253. /package/dist/esm/{resources-6be20fcc.js → resources-5bce3953.js} +0 -0
  1254. /package/dist/esm/{resources-f97db74e.js → resources-94c47e64.js} +0 -0
  1255. /package/dist/esm/{resources-43d63050.js → resources-a9b2d33c.js} +0 -0
  1256. /package/dist/esm/{resources-34b761fa.js → resources-c253772f.js} +0 -0
  1257. /package/dist/esm/{resources-6b7800e6.js → resources-c65f5654.js} +0 -0
  1258. /package/dist/esm/{resources-01034dfa.js → resources-d6a4d343.js} +0 -0
  1259. /package/dist/esm/{resources-5490ccf4.js → resources-dca3d475.js} +0 -0
  1260. /package/dist/esm/{utils-dcd05f69.js → utils-18db6b1d.js} +0 -0
  1261. /package/dist/esm/{utils-649c76ab.js → utils-2c91c963.js} +0 -0
  1262. /package/dist/solutions-components/{p-5d25ba99.js → p-18869c0f.js} +0 -0
  1263. /package/dist/solutions-components/{p-43ebe36a.js → p-18f1772b.js} +0 -0
  1264. /package/dist/solutions-components/{p-76b83a13.js → p-1f468797.js} +0 -0
  1265. /package/dist/solutions-components/{p-f93e6931.js → p-215d3505.js} +0 -0
  1266. /package/dist/solutions-components/{p-0b32d4fe.js → p-2291b598.js} +0 -0
  1267. /package/dist/solutions-components/{p-0630e686.js → p-283e3a2d.js} +0 -0
  1268. /package/dist/solutions-components/{p-a963dd48.js → p-38ef0684.js} +0 -0
  1269. /package/dist/solutions-components/{p-3adf63ca.js → p-3fc17d72.js} +0 -0
  1270. /package/dist/solutions-components/{p-fb3ba11a.js → p-4805ff13.js} +0 -0
  1271. /package/dist/solutions-components/{p-5242a652.js → p-58ce5639.js} +0 -0
  1272. /package/dist/solutions-components/{p-203b16df.js → p-5961c4e0.js} +0 -0
  1273. /package/dist/solutions-components/{p-cc815aca.js → p-63a0e9bf.js} +0 -0
  1274. /package/dist/solutions-components/{p-d556b5c4.js → p-6f2edf5b.js} +0 -0
  1275. /package/dist/solutions-components/{p-9ab03591.js → p-868df4a0.js} +0 -0
  1276. /package/dist/solutions-components/{p-ff4afb7d.js → p-b9749e09.js} +0 -0
  1277. /package/dist/solutions-components/{p-3b72043f.js → p-d4c103a8.js} +0 -0
  1278. /package/dist/solutions-components/{p-7ac7b1a1.js → p-d554507d.js} +0 -0
  1279. /package/dist/solutions-components/{p-0506e06f.js → p-f055a840.js} +0 -0
  1280. /package/dist/solutions-components/{p-08ab045a.js → p-fb7e0054.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 };