@esri/solutions-components 0.6.6 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (943) hide show
  1. package/dist/cjs/{ExpandToggle-e6a0d66e.js → ExpandToggle-70890ae0.js} +4 -4
  2. package/dist/cjs/{FloatingArrow-0119ec6e.js → FloatingArrow-4ca06439.js} +1 -1
  3. package/dist/cjs/{Heading-521f39ac.js → Heading-c5c71fc5.js} +1 -1
  4. package/dist/cjs/{app-globals-72576a1c.js → app-globals-a34c0991.js} +20 -25
  5. package/dist/cjs/{ar-1718ae57.js → ar-fa16156d.js} +15 -15
  6. package/dist/cjs/{bg-190a176c.js → bg-b39e773e.js} +15 -15
  7. package/dist/cjs/{bs-919e0de8.js → bs-4579ea2a.js} +15 -15
  8. package/dist/cjs/buffer-tools_4.cjs.entry.js +1437 -1437
  9. package/dist/cjs/{ca-94918e06.js → ca-f3f64686.js} +15 -15
  10. package/dist/cjs/calcite-accordion-item.cjs.entry.js +140 -140
  11. package/dist/cjs/calcite-accordion.cjs.entry.js +75 -75
  12. package/dist/cjs/calcite-action-bar.cjs.entry.js +216 -216
  13. package/dist/cjs/calcite-action-group_2.cjs.entry.js +365 -365
  14. package/dist/cjs/calcite-action-pad.cjs.entry.js +135 -135
  15. package/dist/cjs/calcite-action_2.cjs.entry.js +445 -445
  16. package/dist/cjs/calcite-alert.cjs.entry.js +247 -247
  17. package/dist/cjs/calcite-avatar.cjs.entry.js +73 -73
  18. package/dist/cjs/calcite-block-section.cjs.entry.js +122 -122
  19. package/dist/cjs/calcite-block.cjs.entry.js +131 -131
  20. package/dist/cjs/calcite-button.cjs.entry.js +182 -182
  21. package/dist/cjs/calcite-card.cjs.entry.js +99 -99
  22. package/dist/cjs/calcite-checkbox.cjs.entry.js +125 -125
  23. package/dist/cjs/calcite-chip-group.cjs.entry.js +164 -164
  24. package/dist/cjs/calcite-chip.cjs.entry.js +213 -213
  25. package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +303 -303
  26. package/dist/cjs/calcite-color-picker.cjs.entry.js +886 -886
  27. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +35 -35
  28. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1786 -1786
  29. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +589 -589
  30. package/dist/cjs/calcite-date-picker.cjs.entry.js +434 -434
  31. package/dist/cjs/calcite-fab.cjs.entry.js +66 -66
  32. package/dist/cjs/calcite-filter_5.cjs.entry.js +1131 -1131
  33. package/dist/cjs/calcite-flow-item.cjs.entry.js +146 -146
  34. package/dist/cjs/calcite-flow.cjs.entry.js +117 -117
  35. package/dist/cjs/calcite-graph.cjs.entry.js +66 -66
  36. package/dist/cjs/calcite-icon.cjs.entry.js +80 -80
  37. package/dist/cjs/calcite-inline-editable.cjs.entry.js +225 -225
  38. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +632 -632
  39. package/dist/cjs/calcite-input-number_2.cjs.entry.js +846 -846
  40. package/dist/cjs/{calcite-input-time-picker-b99baf7b.js → calcite-input-time-picker-6f38ef8c.js} +534 -534
  41. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +15 -15
  42. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +150 -150
  43. package/dist/cjs/calcite-input_2.cjs.entry.js +645 -645
  44. package/dist/cjs/calcite-label.cjs.entry.js +40 -40
  45. package/dist/cjs/calcite-link.cjs.entry.js +96 -96
  46. package/dist/cjs/calcite-list-item-group.cjs.entry.js +46 -46
  47. package/dist/cjs/calcite-loader.cjs.entry.js +65 -65
  48. package/dist/cjs/calcite-menu-item.cjs.entry.js +246 -246
  49. package/dist/cjs/calcite-menu.cjs.entry.js +161 -161
  50. package/dist/cjs/calcite-modal.cjs.entry.js +282 -282
  51. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +52 -52
  52. package/dist/cjs/calcite-navigation-user.cjs.entry.js +45 -45
  53. package/dist/cjs/calcite-navigation.cjs.entry.js +126 -126
  54. package/dist/cjs/calcite-notice.cjs.entry.js +105 -105
  55. package/dist/cjs/calcite-option-group.cjs.entry.js +24 -24
  56. package/dist/cjs/calcite-option_2.cjs.entry.js +271 -271
  57. package/dist/cjs/calcite-pagination.cjs.entry.js +191 -191
  58. package/dist/cjs/calcite-panel_2.cjs.entry.js +346 -346
  59. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +46 -46
  60. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +181 -181
  61. package/dist/cjs/calcite-pick-list.cjs.entry.js +130 -130
  62. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +118 -118
  63. package/dist/cjs/calcite-radio-button.cjs.entry.js +292 -292
  64. package/dist/cjs/calcite-rating.cjs.entry.js +245 -245
  65. package/dist/cjs/calcite-scrim.cjs.entry.js +93 -93
  66. package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +225 -225
  67. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +42 -42
  68. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2604 -2604
  69. package/dist/cjs/calcite-sortable-list.cjs.entry.js +134 -134
  70. package/dist/cjs/calcite-split-button.cjs.entry.js +92 -92
  71. package/dist/cjs/calcite-stepper-item.cjs.entry.js +197 -197
  72. package/dist/cjs/calcite-stepper.cjs.entry.js +187 -187
  73. package/dist/cjs/calcite-switch.cjs.entry.js +100 -100
  74. package/dist/cjs/calcite-text-area.cjs.entry.js +235 -235
  75. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +27 -27
  76. package/dist/cjs/calcite-tile-select.cjs.entry.js +180 -180
  77. package/dist/cjs/calcite-tile.cjs.entry.js +58 -58
  78. package/dist/cjs/calcite-time-picker.cjs.entry.js +619 -619
  79. package/dist/cjs/calcite-tip-group.cjs.entry.js +10 -10
  80. package/dist/cjs/calcite-tip-manager.cjs.entry.js +185 -185
  81. package/dist/cjs/calcite-tip.cjs.entry.js +94 -94
  82. package/dist/cjs/calcite-tooltip.cjs.entry.js +185 -185
  83. package/dist/cjs/calcite-tree_3.cjs.entry.js +821 -821
  84. package/dist/cjs/card-manager_4.cjs.entry.js +652 -652
  85. package/dist/cjs/{conditionalSlot-85b3a6b3.js → conditionalSlot-a51326e7.js} +2 -2
  86. package/dist/cjs/crowdsource-manager.cjs.entry.js +256 -256
  87. package/dist/cjs/crowdsource-reporter.cjs.entry.js +60 -60
  88. package/dist/cjs/{cs-fe27e732.js → cs-1bcd5b46.js} +15 -15
  89. package/dist/cjs/{da-1b7f3440.js → da-30ee21db.js} +15 -15
  90. package/dist/cjs/{date-cec32b0e.js → date-f6611a19.js} +1 -1
  91. package/dist/cjs/{de-0dc1effa.js → de-42aae5ad.js} +15 -15
  92. package/dist/cjs/{de-at-acdc4d01.js → de-at-a3a6f020.js} +15 -15
  93. package/dist/cjs/{de-ch-778a0d99.js → de-ch-36c13310.js} +15 -15
  94. package/dist/cjs/deduct-calculator.cjs.entry.js +90 -90
  95. package/dist/cjs/{dom-c1807fc1.js → dom-d529bae8.js} +2 -2
  96. package/dist/cjs/{downloadUtils-a8c530f7.js → downloadUtils-6eb59363.js} +660 -660
  97. package/dist/cjs/edit-card_2.cjs.entry.js +345 -345
  98. package/dist/cjs/{el-fdbc9bc1.js → el-90d066ae.js} +15 -15
  99. package/dist/cjs/{en-au-0ff50cdf.js → en-au-685b882b.js} +15 -15
  100. package/dist/cjs/{en-ca-284e9368.js → en-ca-ff4bc403.js} +15 -15
  101. package/dist/cjs/{en-gb-0fcae8ae.js → en-gb-2f5587ad.js} +15 -15
  102. package/dist/cjs/{es-cd54acba.js → es-e9183ca0.js} +15 -15
  103. package/dist/cjs/{es-mx-2078d50f.js → es-mx-dcc9afb2.js} +15 -15
  104. package/dist/cjs/{et-17f323f6.js → et-a18949ea.js} +15 -15
  105. package/dist/cjs/{fi-82f27397.js → fi-1ce00d38.js} +15 -15
  106. package/dist/cjs/{filter-bda212b4.js → filter-494bf35e.js} +1 -1
  107. package/dist/cjs/{floating-ui-8d10af88.js → floating-ui-7d6e57d3.js} +2 -2
  108. package/dist/cjs/{focusTrapComponent-a22fc6a8.js → focusTrapComponent-0c4d7671.js} +1 -1
  109. package/dist/cjs/{form-9d8ebf06.js → form-bcf49eae.js} +2 -2
  110. package/dist/cjs/{fr-af7e1192.js → fr-a9435a19.js} +15 -15
  111. package/dist/cjs/{fr-ch-5e1f2c28.js → fr-ch-51efa9bf.js} +15 -15
  112. package/dist/cjs/{he-ea851800.js → he-c5dccfa2.js} +15 -15
  113. package/dist/cjs/{hi-5212a21d.js → hi-0898e7f2.js} +15 -15
  114. package/dist/cjs/{hr-4eecb2ed.js → hr-68f7d8da.js} +15 -15
  115. package/dist/cjs/{hu-6b527d8e.js → hu-e494037d.js} +15 -15
  116. package/dist/cjs/{id-d78f12ec.js → id-bef40c1c.js} +15 -15
  117. package/dist/cjs/{index-0e50040c.js → index-6654298b.js} +38 -180
  118. package/dist/cjs/{index-2b60e135.js → index-e1b1954f.js} +1 -1
  119. package/dist/cjs/{index.es-4542630e.js → index.es-d9b5d3a5.js} +6 -6
  120. package/dist/cjs/{interfaces-d539e30c.js → interfaces-ad03ec39.js} +77 -77
  121. package/dist/cjs/{it-15242935.js → it-1144ca67.js} +15 -15
  122. package/dist/cjs/{it-ch-9dc21944.js → it-ch-2c14dca7.js} +15 -15
  123. package/dist/cjs/{ja-f702cfc2.js → ja-caad9809.js} +15 -15
  124. package/dist/cjs/{ko-aa9bde2c.js → ko-ddec9054.js} +15 -15
  125. package/dist/cjs/{label-6e33e971.js → label-215c4af3.js} +1 -1
  126. package/dist/cjs/list-item.cjs.entry.js +60 -60
  127. package/dist/cjs/{loadModules-31cab7ac.js → loadModules-ae7715f2.js} +19 -19
  128. package/dist/cjs/{loadable-bac9cdd6.js → loadable-6da743c6.js} +1 -1
  129. package/dist/cjs/loader.cjs.js +13 -4
  130. package/dist/cjs/{locale-c63a1b57.js → locale-477d8d51.js} +3 -3
  131. package/dist/cjs/{locale-d15cd743.js → locale-b113c6b2.js} +107 -107
  132. package/dist/cjs/{lt-e741ff2f.js → lt-205a1aa6.js} +15 -15
  133. package/dist/cjs/{lv-92d6768e.js → lv-3ba82f9b.js} +15 -15
  134. package/dist/cjs/map-picker_2.cjs.entry.js +243 -243
  135. package/dist/cjs/map-select-tools_3.cjs.entry.js +1285 -1285
  136. package/dist/cjs/{mapViewUtils-9da2dddd.js → mapViewUtils-77a1ff88.js} +384 -384
  137. package/dist/cjs/{mk-b209ac0d.js → mk-069ea86a.js} +15 -15
  138. package/dist/cjs/{nb-db13e666.js → nb-9e9c934f.js} +15 -15
  139. package/dist/cjs/{nl-fcd9e0c5.js → nl-5dd0116f.js} +15 -15
  140. package/dist/cjs/{openCloseComponent-5d70fcd8.js → openCloseComponent-3fa18210.js} +1 -1
  141. package/dist/cjs/pci-calculator.cjs.entry.js +102 -102
  142. package/dist/cjs/{pciUtils-e0ddeb7c.js → pciUtils-423cfc68.js} +836 -836
  143. package/dist/cjs/{pl-87c83322.js → pl-74e70b37.js} +15 -15
  144. package/dist/cjs/{pt-br-03333e90.js → pt-br-0f76e430.js} +15 -15
  145. package/dist/cjs/{pt-b0b5f472.js → pt-cc737fcc.js} +15 -15
  146. package/dist/cjs/public-notification.cjs.entry.js +844 -844
  147. package/dist/cjs/{publicNotificationStore-55edd658.js → publicNotificationStore-ec1bdd2d.js} +40 -40
  148. package/dist/cjs/{ro-c3661b73.js → ro-5e396753.js} +15 -15
  149. package/dist/cjs/{ru-8dd3fd58.js → ru-f7371aca.js} +15 -15
  150. package/dist/cjs/{shared-list-render-c0adb192.js → shared-list-render-76c5dc25.js} +6 -6
  151. package/dist/cjs/{sk-151d9acf.js → sk-ec02498f.js} +15 -15
  152. package/dist/cjs/{sl-9b45a152.js → sl-8363f4d7.js} +15 -15
  153. package/dist/cjs/solution-configuration.cjs.entry.js +888 -888
  154. package/dist/cjs/solution-contents_3.cjs.entry.js +21506 -21506
  155. package/dist/cjs/{solution-store-0004e4e6.js → solution-store-bd956f06.js} +577 -577
  156. package/dist/cjs/solutions-components.cjs.js +4 -4
  157. package/dist/cjs/{sortableComponent-58679f07.js → sortableComponent-8135ea87.js} +1 -1
  158. package/dist/cjs/{sr-186bf15c.js → sr-b0f92cb1.js} +15 -15
  159. package/dist/cjs/store-manager.cjs.entry.js +52 -52
  160. package/dist/cjs/{sv-a93fee0c.js → sv-e2c27fff.js} +15 -15
  161. package/dist/cjs/{t9n-1d032c30.js → t9n-8be30efb.js} +2 -2
  162. package/dist/cjs/{th-41680352.js → th-8a6dc2cc.js} +15 -15
  163. package/dist/cjs/{throttle-aeeb1b4d.js → throttle-8ee74c77.js} +1 -1
  164. package/dist/cjs/{time-5e450ec8.js → time-9004df7e.js} +1 -1
  165. package/dist/cjs/{tr-0bd886d6.js → tr-09137435.js} +15 -15
  166. package/dist/cjs/{uk-4fade133.js → uk-c30401f4.js} +15 -15
  167. package/dist/cjs/{utils-ae9bdd59.js → utils-ed4e5028.js} +1 -1
  168. package/dist/cjs/{utils-acfeed9d.js → utils-fb81c6b3.js} +3 -3
  169. package/dist/cjs/{vi-1c9fe343.js → vi-e069c9e4.js} +15 -15
  170. package/dist/cjs/{zh-cn-28fa1fe1.js → zh-cn-50f223a8.js} +15 -15
  171. package/dist/cjs/{zh-hk-5abf8eb5.js → zh-hk-5498073d.js} +15 -15
  172. package/dist/cjs/{zh-tw-07500357.js → zh-tw-dfdb0ae8.js} +15 -15
  173. package/dist/collection/collection-manifest.json +35 -35
  174. package/dist/collection/components/buffer-tools/buffer-tools.js +476 -481
  175. package/dist/collection/components/card-manager/card-manager.js +197 -199
  176. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +406 -407
  177. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +89 -89
  178. package/dist/collection/components/deduct-calculator/deduct-calculator.js +143 -143
  179. package/dist/collection/components/edit-card/edit-card.js +300 -302
  180. package/dist/collection/components/info-card/info-card.js +357 -361
  181. package/dist/collection/components/json-editor/json-editor.js +614 -618
  182. package/dist/collection/components/layer-table/layer-table.js +548 -551
  183. package/dist/collection/components/layout-manager/layout-manager.js +135 -136
  184. package/dist/collection/components/list-item/list-item.js +89 -89
  185. package/dist/collection/components/map-card/map-card.js +203 -206
  186. package/dist/collection/components/map-draw-tools/map-draw-tools.js +683 -692
  187. package/dist/collection/components/map-layer-picker/map-layer-picker.js +423 -424
  188. package/dist/collection/components/map-picker/map-picker.js +224 -226
  189. package/dist/collection/components/map-select-tools/map-select-tools.js +1229 -1242
  190. package/dist/collection/components/map-tools/map-tools.js +210 -212
  191. package/dist/collection/components/pci-calculator/pci-calculator.js +143 -143
  192. package/dist/collection/components/pdf-download/pdf-download.js +333 -338
  193. package/dist/collection/components/public-notification/public-notification.js +1287 -1295
  194. package/dist/collection/components/refine-selection/refine-selection.js +601 -608
  195. package/dist/collection/components/solution-configuration/solution-configuration.js +735 -739
  196. package/dist/collection/components/solution-contents/solution-contents.js +162 -163
  197. package/dist/collection/components/solution-item/solution-item.js +202 -203
  198. package/dist/collection/components/solution-item-details/solution-item-details.js +248 -248
  199. package/dist/collection/components/solution-item-icon/solution-item-icon.js +398 -398
  200. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +199 -200
  201. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +156 -156
  202. package/dist/collection/components/solution-resource-item/solution-resource-item.js +347 -348
  203. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +510 -515
  204. package/dist/collection/components/solution-spatial-ref/spatialreferences.js +21046 -21046
  205. package/dist/collection/components/solution-template-data/solution-template-data.js +230 -230
  206. package/dist/collection/components/solution-variables/solution-variables.js +168 -168
  207. package/dist/collection/components/store-manager/store-manager.js +127 -128
  208. package/dist/collection/index.js +1 -1
  209. package/dist/collection/utils/common.js +296 -296
  210. package/dist/collection/utils/csvDownload.js +41 -41
  211. package/dist/collection/utils/csvUtils.js +37 -37
  212. package/dist/collection/utils/downloadUtils.js +530 -530
  213. package/dist/collection/utils/interfaces.js +83 -83
  214. package/dist/collection/utils/languageUtil.js +90 -90
  215. package/dist/collection/utils/loadModules.js +25 -25
  216. package/dist/collection/utils/locale.js +61 -61
  217. package/dist/collection/utils/mapViewUtils.js +240 -240
  218. package/dist/collection/utils/pciUtils.js +842 -842
  219. package/dist/collection/utils/pdfUtils.js +87 -87
  220. package/dist/collection/utils/publicNotificationStore.js +47 -47
  221. package/dist/collection/utils/queryUtils.js +200 -200
  222. package/dist/collection/utils/solution-store.js +584 -584
  223. package/dist/collection/utils/templates.js +346 -346
  224. package/dist/collection/utils/test/mocks/jsApi.js +79 -79
  225. package/dist/collection/utils/test/testUtils.js +123 -123
  226. package/dist/collection/utils/types.js +1 -1
  227. package/dist/components/ExpandToggle.js +1 -1
  228. package/dist/components/action-bar.js +263 -262
  229. package/dist/components/action-group.js +145 -144
  230. package/dist/components/action-menu.js +311 -310
  231. package/dist/components/action.js +186 -185
  232. package/dist/components/alert.js +287 -286
  233. package/dist/components/avatar.js +100 -99
  234. package/dist/components/buffer-tools2.js +264 -263
  235. package/dist/components/button.js +226 -225
  236. package/dist/components/calcite-accordion-item.js +168 -168
  237. package/dist/components/calcite-accordion.js +96 -95
  238. package/dist/components/calcite-action-pad.js +181 -180
  239. package/dist/components/calcite-block-section.js +151 -150
  240. package/dist/components/calcite-block.js +187 -186
  241. package/dist/components/calcite-card.js +133 -132
  242. package/dist/components/calcite-chip-group.js +182 -181
  243. package/dist/components/calcite-color-picker.js +980 -979
  244. package/dist/components/calcite-combobox-item-group.js +53 -52
  245. package/dist/components/calcite-fab.js +105 -104
  246. package/dist/components/calcite-filter.js +1 -1
  247. package/dist/components/calcite-flow-item.js +205 -204
  248. package/dist/components/calcite-flow.js +137 -136
  249. package/dist/components/calcite-inline-editable.js +260 -259
  250. package/dist/components/calcite-input-date-picker.js +704 -703
  251. package/dist/components/calcite-input-time-picker.js +596 -595
  252. package/dist/components/calcite-input-time-zone.js +190 -189
  253. package/dist/components/calcite-label.js +1 -1
  254. package/dist/components/calcite-list-item-group.js +65 -64
  255. package/dist/components/calcite-menu-item.js +297 -297
  256. package/dist/components/calcite-modal.js +329 -328
  257. package/dist/components/calcite-navigation-logo.js +77 -76
  258. package/dist/components/calcite-navigation-user.js +79 -78
  259. package/dist/components/calcite-navigation.js +167 -166
  260. package/dist/components/calcite-option-group.js +43 -42
  261. package/dist/components/calcite-pagination.js +218 -217
  262. package/dist/components/calcite-pick-list-group.js +60 -59
  263. package/dist/components/calcite-pick-list.js +151 -150
  264. package/dist/components/calcite-radio-button-group.js +142 -141
  265. package/dist/components/calcite-radio-button.js +317 -316
  266. package/dist/components/calcite-rating.js +280 -279
  267. package/dist/components/calcite-shell-center-row.js +58 -57
  268. package/dist/components/calcite-sortable-list.js +154 -153
  269. package/dist/components/calcite-split-button.js +143 -142
  270. package/dist/components/calcite-stack.js +1 -1
  271. package/dist/components/calcite-stepper-item.js +226 -225
  272. package/dist/components/calcite-stepper.js +213 -212
  273. package/dist/components/calcite-text-area.js +267 -266
  274. package/dist/components/calcite-tile-select-group.js +45 -44
  275. package/dist/components/calcite-tile-select.js +224 -223
  276. package/dist/components/calcite-tip-group.js +28 -27
  277. package/dist/components/calcite-tip-manager.js +223 -222
  278. package/dist/components/calcite-tip.js +127 -126
  279. package/dist/components/card-manager2.js +156 -155
  280. package/dist/components/checkbox.js +147 -146
  281. package/dist/components/chip.js +246 -245
  282. package/dist/components/color-picker-hex-input.js +288 -287
  283. package/dist/components/color-picker-swatch.js +80 -79
  284. package/dist/components/combobox-item.js +136 -135
  285. package/dist/components/combobox.js +922 -921
  286. package/dist/components/crowdsource-manager.js +476 -475
  287. package/dist/components/crowdsource-reporter.js +76 -75
  288. package/dist/components/date-picker-day.js +110 -110
  289. package/dist/components/date-picker-month-header.js +198 -197
  290. package/dist/components/date-picker-month.js +373 -372
  291. package/dist/components/date-picker.js +493 -492
  292. package/dist/components/date.js +1 -1
  293. package/dist/components/deduct-calculator2.js +982 -981
  294. package/dist/components/dom.js +23 -2
  295. package/dist/components/downloadUtils.js +655 -655
  296. package/dist/components/dropdown-group.js +73 -72
  297. package/dist/components/dropdown-item.js +196 -195
  298. package/dist/components/dropdown.js +421 -420
  299. package/dist/components/edit-card2.js +192 -191
  300. package/dist/components/filter.js +202 -751
  301. package/dist/components/filter2.js +740 -190
  302. package/dist/components/floating-ui.js +2 -2
  303. package/dist/components/focusTrapComponent.js +1 -1
  304. package/dist/components/graph.js +87 -86
  305. package/dist/components/handle.js +166 -165
  306. package/dist/components/icon.js +100 -99
  307. package/dist/components/index.d.ts +36 -0
  308. package/dist/components/index.js +153 -25
  309. package/dist/components/info-card2.js +252 -251
  310. package/dist/components/input-message.js +67 -66
  311. package/dist/components/input-number.js +600 -600
  312. package/dist/components/input-text.js +368 -368
  313. package/dist/components/input.js +687 -687
  314. package/dist/components/interfaces.js +78 -78
  315. package/dist/components/json-editor2.js +426 -425
  316. package/dist/components/label.js +65 -117
  317. package/dist/components/label2.js +110 -57
  318. package/dist/components/layer-table2.js +548 -547
  319. package/dist/components/layout-manager2.js +119 -118
  320. package/dist/components/link.js +123 -123
  321. package/dist/components/list-item.js +76 -75
  322. package/dist/components/list-item2.js +432 -431
  323. package/dist/components/list.js +511 -510
  324. package/dist/components/loadModules.js +18 -18
  325. package/dist/components/loader.js +87 -86
  326. package/dist/components/locale.js +106 -106
  327. package/dist/components/locale2.js +2 -2
  328. package/dist/components/map-card2.js +201 -200
  329. package/dist/components/map-draw-tools2.js +384 -383
  330. package/dist/components/map-layer-picker2.js +292 -291
  331. package/dist/components/map-picker2.js +236 -235
  332. package/dist/components/map-select-tools2.js +917 -916
  333. package/dist/components/map-tools2.js +170 -169
  334. package/dist/components/mapViewUtils.js +235 -235
  335. package/dist/components/menu.js +179 -178
  336. package/dist/components/notice.js +131 -130
  337. package/dist/components/option.js +92 -91
  338. package/dist/components/panel.js +308 -307
  339. package/dist/components/pci-calculator.js +170 -169
  340. package/dist/components/pdf-download2.js +174 -173
  341. package/dist/components/pick-list-item.js +220 -219
  342. package/dist/components/popover.js +350 -349
  343. package/dist/components/progress.js +46 -46
  344. package/dist/components/public-notification.js +1102 -1101
  345. package/dist/components/publicNotificationStore.js +39 -39
  346. package/dist/components/queryUtils.js +152 -152
  347. package/dist/components/refine-selection2.js +547 -546
  348. package/dist/components/resources.js +9 -17
  349. package/dist/components/resources2.js +13 -9
  350. package/dist/components/resources3.js +5 -9
  351. package/dist/components/scrim.js +116 -115
  352. package/dist/components/segmented-control-item.js +63 -62
  353. package/dist/components/segmented-control.js +214 -213
  354. package/dist/components/select.js +227 -226
  355. package/dist/components/shared-list-render.js +3 -3
  356. package/dist/components/shell-panel.js +398 -398
  357. package/dist/components/shell.js +120 -119
  358. package/dist/components/slider.js +899 -898
  359. package/dist/components/solution-configuration.js +1096 -1095
  360. package/dist/components/solution-contents2.js +112 -111
  361. package/dist/components/solution-item-details2.js +218 -217
  362. package/dist/components/solution-item-icon2.js +331 -330
  363. package/dist/components/solution-item-sharing2.js +152 -151
  364. package/dist/components/solution-item2.js +270 -269
  365. package/dist/components/solution-organization-variables2.js +116 -115
  366. package/dist/components/solution-resource-item2.js +332 -331
  367. package/dist/components/solution-spatial-ref2.js +21421 -21420
  368. package/dist/components/solution-store.js +575 -575
  369. package/dist/components/solution-template-data2.js +203 -202
  370. package/dist/components/solution-variables2.js +133 -132
  371. package/dist/components/sortableComponent.js +1 -1
  372. package/dist/components/stack.js +79 -78
  373. package/dist/components/store-manager.js +71 -70
  374. package/dist/components/switch.js +119 -118
  375. package/dist/components/tab-nav.js +255 -254
  376. package/dist/components/tab-title.js +301 -300
  377. package/dist/components/tab.js +112 -111
  378. package/dist/components/tabs.js +131 -130
  379. package/dist/components/tile.js +90 -89
  380. package/dist/components/time-picker.js +655 -654
  381. package/dist/components/tooltip.js +208 -207
  382. package/dist/components/tree-item.js +288 -288
  383. package/dist/components/tree.js +282 -281
  384. package/dist/components/utils.js +1 -1
  385. package/dist/components/utils2.js +2 -2
  386. package/dist/components/utils3.js +1 -1
  387. package/dist/components/value-list-item.js +170 -169
  388. package/dist/components/value-list.js +276 -275
  389. package/dist/esm/{ExpandToggle-3d10bd1e.js → ExpandToggle-3420fa39.js} +4 -4
  390. package/dist/esm/{FloatingArrow-29db6da6.js → FloatingArrow-cd8eafa4.js} +1 -1
  391. package/dist/esm/{Heading-cb79e5b2.js → Heading-1763134e.js} +1 -1
  392. package/dist/esm/{app-globals-5cbac6b0.js → app-globals-580889bd.js} +20 -25
  393. package/dist/esm/{ar-4b751ba8.js → ar-ceb1b389.js} +15 -15
  394. package/dist/esm/{bg-5d8bf5ea.js → bg-a8824832.js} +15 -15
  395. package/dist/esm/{bs-ff510e71.js → bs-5c2ca44f.js} +15 -15
  396. package/dist/esm/buffer-tools_4.entry.js +1437 -1437
  397. package/dist/esm/{ca-b9a5e51a.js → ca-47f86073.js} +15 -15
  398. package/dist/esm/calcite-accordion-item.entry.js +140 -140
  399. package/dist/esm/calcite-accordion.entry.js +75 -75
  400. package/dist/esm/calcite-action-bar.entry.js +216 -216
  401. package/dist/esm/calcite-action-group_2.entry.js +365 -365
  402. package/dist/esm/calcite-action-pad.entry.js +135 -135
  403. package/dist/esm/calcite-action_2.entry.js +445 -445
  404. package/dist/esm/calcite-alert.entry.js +247 -247
  405. package/dist/esm/calcite-avatar.entry.js +73 -73
  406. package/dist/esm/calcite-block-section.entry.js +122 -122
  407. package/dist/esm/calcite-block.entry.js +131 -131
  408. package/dist/esm/calcite-button.entry.js +182 -182
  409. package/dist/esm/calcite-card.entry.js +99 -99
  410. package/dist/esm/calcite-checkbox.entry.js +125 -125
  411. package/dist/esm/calcite-chip-group.entry.js +164 -164
  412. package/dist/esm/calcite-chip.entry.js +213 -213
  413. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +303 -303
  414. package/dist/esm/calcite-color-picker.entry.js +886 -886
  415. package/dist/esm/calcite-combobox-item-group.entry.js +35 -35
  416. package/dist/esm/calcite-combobox_6.entry.js +1786 -1786
  417. package/dist/esm/calcite-date-picker-day_3.entry.js +589 -589
  418. package/dist/esm/calcite-date-picker.entry.js +434 -434
  419. package/dist/esm/calcite-fab.entry.js +66 -66
  420. package/dist/esm/calcite-filter_5.entry.js +1131 -1131
  421. package/dist/esm/calcite-flow-item.entry.js +146 -146
  422. package/dist/esm/calcite-flow.entry.js +117 -117
  423. package/dist/esm/calcite-graph.entry.js +66 -66
  424. package/dist/esm/calcite-icon.entry.js +80 -80
  425. package/dist/esm/calcite-inline-editable.entry.js +225 -225
  426. package/dist/esm/calcite-input-date-picker.entry.js +632 -632
  427. package/dist/esm/calcite-input-number_2.entry.js +846 -846
  428. package/dist/esm/{calcite-input-time-picker-13448515.js → calcite-input-time-picker-59a3ed66.js} +534 -534
  429. package/dist/esm/calcite-input-time-picker.entry.js +15 -15
  430. package/dist/esm/calcite-input-time-zone.entry.js +150 -150
  431. package/dist/esm/calcite-input_2.entry.js +645 -645
  432. package/dist/esm/calcite-label.entry.js +40 -40
  433. package/dist/esm/calcite-link.entry.js +96 -96
  434. package/dist/esm/calcite-list-item-group.entry.js +46 -46
  435. package/dist/esm/calcite-loader.entry.js +65 -65
  436. package/dist/esm/calcite-menu-item.entry.js +246 -246
  437. package/dist/esm/calcite-menu.entry.js +161 -161
  438. package/dist/esm/calcite-modal.entry.js +282 -282
  439. package/dist/esm/calcite-navigation-logo.entry.js +52 -52
  440. package/dist/esm/calcite-navigation-user.entry.js +45 -45
  441. package/dist/esm/calcite-navigation.entry.js +126 -126
  442. package/dist/esm/calcite-notice.entry.js +105 -105
  443. package/dist/esm/calcite-option-group.entry.js +24 -24
  444. package/dist/esm/calcite-option_2.entry.js +271 -271
  445. package/dist/esm/calcite-pagination.entry.js +191 -191
  446. package/dist/esm/calcite-panel_2.entry.js +346 -346
  447. package/dist/esm/calcite-pick-list-group.entry.js +46 -46
  448. package/dist/esm/calcite-pick-list-item.entry.js +181 -181
  449. package/dist/esm/calcite-pick-list.entry.js +130 -130
  450. package/dist/esm/calcite-radio-button-group.entry.js +118 -118
  451. package/dist/esm/calcite-radio-button.entry.js +292 -292
  452. package/dist/esm/calcite-rating.entry.js +245 -245
  453. package/dist/esm/calcite-scrim.entry.js +93 -93
  454. package/dist/esm/calcite-segmented-control_2.entry.js +225 -225
  455. package/dist/esm/calcite-shell-center-row.entry.js +42 -42
  456. package/dist/esm/calcite-shell-panel_14.entry.js +2604 -2604
  457. package/dist/esm/calcite-sortable-list.entry.js +134 -134
  458. package/dist/esm/calcite-split-button.entry.js +92 -92
  459. package/dist/esm/calcite-stepper-item.entry.js +197 -197
  460. package/dist/esm/calcite-stepper.entry.js +187 -187
  461. package/dist/esm/calcite-switch.entry.js +100 -100
  462. package/dist/esm/calcite-text-area.entry.js +235 -235
  463. package/dist/esm/calcite-tile-select-group.entry.js +27 -27
  464. package/dist/esm/calcite-tile-select.entry.js +180 -180
  465. package/dist/esm/calcite-tile.entry.js +58 -58
  466. package/dist/esm/calcite-time-picker.entry.js +619 -619
  467. package/dist/esm/calcite-tip-group.entry.js +10 -10
  468. package/dist/esm/calcite-tip-manager.entry.js +185 -185
  469. package/dist/esm/calcite-tip.entry.js +94 -94
  470. package/dist/esm/calcite-tooltip.entry.js +185 -185
  471. package/dist/esm/calcite-tree_3.entry.js +821 -821
  472. package/dist/esm/card-manager_4.entry.js +652 -652
  473. package/dist/esm/{conditionalSlot-27a0fce0.js → conditionalSlot-91396dd5.js} +2 -2
  474. package/dist/esm/crowdsource-manager.entry.js +256 -256
  475. package/dist/esm/crowdsource-reporter.entry.js +60 -60
  476. package/dist/esm/{cs-f21a0628.js → cs-f651c3cd.js} +15 -15
  477. package/dist/esm/{da-dc48fc4c.js → da-e32ccc0a.js} +15 -15
  478. package/dist/esm/{date-0ed48e97.js → date-51fa981b.js} +1 -1
  479. package/dist/esm/{de-59290071.js → de-9b417aed.js} +15 -15
  480. package/dist/esm/{de-at-cd6e6ab7.js → de-at-f73447e2.js} +15 -15
  481. package/dist/esm/{de-ch-27c44e34.js → de-ch-7ec8c31e.js} +15 -15
  482. package/dist/esm/deduct-calculator.entry.js +90 -90
  483. package/dist/esm/{dom-843e3afd.js → dom-8a9e4ee8.js} +2 -2
  484. package/dist/esm/{downloadUtils-63661805.js → downloadUtils-43b53f5a.js} +660 -660
  485. package/dist/esm/edit-card_2.entry.js +345 -345
  486. package/dist/esm/{el-f09fdec6.js → el-9a3189a2.js} +15 -15
  487. package/dist/esm/{en-au-90087aa5.js → en-au-5aea3b73.js} +15 -15
  488. package/dist/esm/{en-ca-10751695.js → en-ca-fe3e706b.js} +15 -15
  489. package/dist/esm/{en-gb-0f8547bd.js → en-gb-a4278000.js} +15 -15
  490. package/dist/esm/{es-b0997cf1.js → es-383f9c9e.js} +15 -15
  491. package/dist/esm/{es-mx-226f5028.js → es-mx-7845b382.js} +15 -15
  492. package/dist/esm/{et-dc96c453.js → et-d8f8df06.js} +15 -15
  493. package/dist/esm/{fi-0941704d.js → fi-14894338.js} +15 -15
  494. package/dist/esm/{filter-1cac3edf.js → filter-bf34614b.js} +1 -1
  495. package/dist/esm/{floating-ui-d28d0fd6.js → floating-ui-9870f74c.js} +2 -2
  496. package/dist/esm/{focusTrapComponent-ff3a9f28.js → focusTrapComponent-34010d00.js} +1 -1
  497. package/dist/esm/{form-11c6a015.js → form-6669a774.js} +2 -2
  498. package/dist/esm/{fr-8da3458d.js → fr-6f570086.js} +15 -15
  499. package/dist/esm/{fr-ch-739ceddf.js → fr-ch-b9f89159.js} +15 -15
  500. package/dist/esm/{he-8b662dfa.js → he-174aca6e.js} +15 -15
  501. package/dist/esm/{hi-10996f89.js → hi-7e469aab.js} +15 -15
  502. package/dist/esm/{hr-42c2024d.js → hr-a4ac455a.js} +15 -15
  503. package/dist/esm/{hu-4768b3ff.js → hu-207da291.js} +15 -15
  504. package/dist/esm/{id-24a08170.js → id-8e4d57bf.js} +15 -15
  505. package/dist/esm/{index-b91c174c.js → index-4c4a4f3d.js} +1 -1
  506. package/dist/esm/{index-b5d9d795.js → index-d298aca9.js} +38 -180
  507. package/dist/esm/{index.es-3a3aa8e3.js → index.es-a185f2b1.js} +6 -6
  508. package/dist/esm/{interfaces-5a2fe8b4.js → interfaces-bf20e69c.js} +77 -77
  509. package/dist/esm/{it-ad09649f.js → it-7ade952c.js} +15 -15
  510. package/dist/esm/{it-ch-b05fc10d.js → it-ch-181d76ab.js} +15 -15
  511. package/dist/esm/{ja-ab839b73.js → ja-42013dd3.js} +15 -15
  512. package/dist/esm/{ko-c778539e.js → ko-8de07550.js} +15 -15
  513. package/dist/esm/{label-6a1caf64.js → label-661d8e10.js} +1 -1
  514. package/dist/esm/list-item.entry.js +60 -60
  515. package/dist/esm/{loadModules-2ecd1e44.js → loadModules-cd3569de.js} +19 -19
  516. package/dist/esm/{loadable-6bca96ad.js → loadable-08376d90.js} +1 -1
  517. package/dist/esm/loader.js +14 -5
  518. package/dist/esm/{locale-aa3de591.js → locale-54cac39a.js} +107 -107
  519. package/dist/esm/{locale-d8561d54.js → locale-73d0926a.js} +3 -3
  520. package/dist/esm/{lt-447d9aa9.js → lt-1ef29b5b.js} +15 -15
  521. package/dist/esm/{lv-4d715e11.js → lv-263a2f78.js} +15 -15
  522. package/dist/esm/map-picker_2.entry.js +243 -243
  523. package/dist/esm/map-select-tools_3.entry.js +1285 -1285
  524. package/dist/esm/{mapViewUtils-f0c04325.js → mapViewUtils-1e68cede.js} +384 -384
  525. package/dist/esm/{mk-b3d7401a.js → mk-d8bae136.js} +15 -15
  526. package/dist/esm/{nb-2b4a8366.js → nb-494542b3.js} +15 -15
  527. package/dist/esm/{nl-c0db1da2.js → nl-cd882d7f.js} +15 -15
  528. package/dist/esm/{openCloseComponent-2b5c6bed.js → openCloseComponent-a40fd6fd.js} +1 -1
  529. package/dist/esm/pci-calculator.entry.js +102 -102
  530. package/dist/esm/{pciUtils-59c29b42.js → pciUtils-ecda46e5.js} +836 -836
  531. package/dist/esm/{pl-0d322bb4.js → pl-b79095d5.js} +15 -15
  532. package/dist/esm/polyfills/core-js.js +11 -0
  533. package/dist/esm/polyfills/css-shim.js +1 -0
  534. package/dist/esm/polyfills/dom.js +79 -0
  535. package/dist/esm/polyfills/es5-html-element.js +1 -0
  536. package/dist/esm/polyfills/index.js +34 -0
  537. package/dist/esm/polyfills/system.js +6 -0
  538. package/dist/esm/{pt-5997598c.js → pt-5ca0b751.js} +15 -15
  539. package/dist/esm/{pt-br-6b77e7db.js → pt-br-e1a1ce60.js} +15 -15
  540. package/dist/esm/public-notification.entry.js +844 -844
  541. package/dist/esm/{publicNotificationStore-ade82148.js → publicNotificationStore-6ef555f3.js} +40 -40
  542. package/dist/esm/{ro-ac3724e0.js → ro-5cbc0f2a.js} +15 -15
  543. package/dist/esm/{ru-4e75151f.js → ru-e66f5b84.js} +15 -15
  544. package/dist/esm/{shared-list-render-abd19c8d.js → shared-list-render-5b788e63.js} +6 -6
  545. package/dist/esm/{sk-bbfa22a3.js → sk-be2b5cec.js} +15 -15
  546. package/dist/esm/{sl-867cecfc.js → sl-74600272.js} +15 -15
  547. package/dist/esm/solution-configuration.entry.js +888 -888
  548. package/dist/esm/solution-contents_3.entry.js +21506 -21506
  549. package/dist/esm/{solution-store-46bc46a5.js → solution-store-c107ca4d.js} +577 -577
  550. package/dist/esm/solutions-components.js +5 -5
  551. package/dist/esm/{sortableComponent-db502e97.js → sortableComponent-1dd8a4ae.js} +1 -1
  552. package/dist/esm/{sr-198b5c00.js → sr-58280ce5.js} +15 -15
  553. package/dist/esm/store-manager.entry.js +52 -52
  554. package/dist/esm/{sv-02d64370.js → sv-f0e2171a.js} +15 -15
  555. package/dist/esm/{t9n-76168237.js → t9n-745553e0.js} +2 -2
  556. package/dist/esm/{th-1616e303.js → th-6c3eac31.js} +15 -15
  557. package/dist/esm/{throttle-9ab70933.js → throttle-26fa347b.js} +1 -1
  558. package/dist/esm/{time-6721a4c2.js → time-7e3ba7c6.js} +1 -1
  559. package/dist/esm/{tr-f4619f64.js → tr-092713ca.js} +15 -15
  560. package/dist/esm/{uk-df7df34a.js → uk-95df0f95.js} +15 -15
  561. package/dist/esm/{utils-ccfd94a7.js → utils-4f695ec2.js} +1 -1
  562. package/dist/esm/{utils-f54411df.js → utils-ddff4ef3.js} +3 -3
  563. package/dist/esm/{vi-176ca9f7.js → vi-70a9857c.js} +15 -15
  564. package/dist/esm/{zh-cn-e13d83d1.js → zh-cn-e024ef2d.js} +15 -15
  565. package/dist/esm/{zh-hk-d97365d8.js → zh-hk-36ff9e8f.js} +15 -15
  566. package/dist/esm/{zh-tw-a2b6f0b7.js → zh-tw-96ddb74c.js} +15 -15
  567. package/dist/loader/index.d.ts +2 -2
  568. package/dist/solutions-components/{p-15ef7894.js → p-0056655c.js} +1 -1
  569. package/dist/solutions-components/{p-955a956a.entry.js → p-017265ef.entry.js} +1 -1
  570. package/dist/solutions-components/{p-844ee452.entry.js → p-017543d5.entry.js} +1 -1
  571. package/dist/solutions-components/{p-b2e6c578.js → p-0209ed2e.js} +1 -1
  572. package/dist/solutions-components/{p-5e59219b.entry.js → p-0245bb56.entry.js} +1 -1
  573. package/dist/solutions-components/{p-916f90ec.entry.js → p-043ead99.entry.js} +1 -1
  574. package/dist/solutions-components/p-048a2a6d.js +6 -0
  575. package/dist/solutions-components/{p-e02fcfa9.entry.js → p-050e12eb.entry.js} +1 -1
  576. package/dist/solutions-components/{p-b0c4138f.entry.js → p-06916de9.entry.js} +1 -1
  577. package/dist/solutions-components/{p-67ce3c0c.entry.js → p-08320fb9.entry.js} +2 -2
  578. package/dist/solutions-components/{p-21f00df6.js → p-08e12eb0.js} +1 -1
  579. package/dist/solutions-components/p-0a2c02fd.js +6 -0
  580. package/dist/solutions-components/{p-de58bd49.js → p-0a4bc416.js} +1 -1
  581. package/dist/solutions-components/{p-ef96894d.entry.js → p-0afa17dc.entry.js} +1 -1
  582. package/dist/solutions-components/{p-4bc7b875.entry.js → p-0b4eb6e4.entry.js} +1 -1
  583. package/dist/solutions-components/{p-7b9adfff.js → p-0d900572.js} +1 -1
  584. package/dist/solutions-components/{p-0fbc27fd.entry.js → p-0f4d3009.entry.js} +1 -1
  585. package/dist/solutions-components/{p-b921aa1a.entry.js → p-10181f33.entry.js} +1 -1
  586. package/dist/solutions-components/{p-804e4751.entry.js → p-105ef63c.entry.js} +1 -1
  587. package/dist/solutions-components/{p-35123c90.js → p-11983a08.js} +1 -1
  588. package/dist/solutions-components/p-1260db08.js +61 -0
  589. package/dist/solutions-components/{p-a0edbb27.js → p-129fcd0a.js} +1 -1
  590. package/dist/solutions-components/{p-c1ee0d69.js → p-13f7e487.js} +1 -1
  591. package/dist/solutions-components/p-14769a01.js +11 -0
  592. package/dist/solutions-components/{p-c6d83122.entry.js → p-14a4ad77.entry.js} +2 -2
  593. package/dist/solutions-components/{p-e07b8a72.entry.js → p-15e67907.entry.js} +1 -1
  594. package/dist/solutions-components/{p-32ef065d.entry.js → p-17799448.entry.js} +1 -1
  595. package/dist/solutions-components/{p-8a758303.js → p-185a82e0.js} +1 -1
  596. package/dist/solutions-components/p-191c59e9.js +6 -0
  597. package/dist/solutions-components/{p-7601988d.entry.js → p-1b63bec9.entry.js} +1 -1
  598. package/dist/solutions-components/{p-28d2670f.entry.js → p-1c810f4c.entry.js} +1 -1
  599. package/dist/solutions-components/{p-9603c3ff.entry.js → p-1d28ff09.entry.js} +1 -1
  600. package/dist/solutions-components/{p-4b95d05e.entry.js → p-1e30069a.entry.js} +1 -1
  601. package/dist/solutions-components/p-1e63db11.entry.js +6 -0
  602. package/dist/solutions-components/{p-a08bd8c1.entry.js → p-20274226.entry.js} +1 -1
  603. package/dist/solutions-components/{p-a843af2a.js → p-2411f1f6.js} +1 -1
  604. package/dist/solutions-components/{p-ad4d6d02.entry.js → p-2509b65f.entry.js} +2 -2
  605. package/dist/solutions-components/{p-216801d5.js → p-25faeab6.js} +1 -1
  606. package/dist/solutions-components/{p-f8dd2784.js → p-27f5bb4f.js} +2 -2
  607. package/dist/solutions-components/{p-b948ecd2.entry.js → p-2a0d8a46.entry.js} +1 -1
  608. package/dist/solutions-components/{p-27a1ac1f.entry.js → p-2dea68b6.entry.js} +2 -2
  609. package/dist/solutions-components/{p-de59d2f5.js → p-2ecd5cb7.js} +1 -1
  610. package/dist/solutions-components/{p-7aa949a3.entry.js → p-30dbc43d.entry.js} +2 -2
  611. package/dist/solutions-components/{p-46d5970b.entry.js → p-32d821d1.entry.js} +1 -1
  612. package/dist/solutions-components/{p-82199b7b.entry.js → p-3479d873.entry.js} +1 -1
  613. package/dist/solutions-components/{p-9fb16c72.entry.js → p-36d09c0c.entry.js} +1 -1
  614. package/dist/solutions-components/{p-75f26870.js → p-375f0b74.js} +6 -6
  615. package/dist/solutions-components/{p-cf1af08f.entry.js → p-38b4873b.entry.js} +1 -1
  616. package/dist/solutions-components/p-38d61356.js +18 -0
  617. package/dist/solutions-components/{p-a2748b38.entry.js → p-3a7156b8.entry.js} +1 -1
  618. package/dist/solutions-components/{p-022a9b7a.js → p-3b041268.js} +1 -1
  619. package/dist/solutions-components/{p-6a820c4d.js → p-3ca9bb95.js} +1 -1
  620. package/dist/solutions-components/{p-326fa270.js → p-3e5c8b2f.js} +1 -1
  621. package/dist/solutions-components/{p-1ede2e18.js → p-3ee6af74.js} +2 -2
  622. package/dist/solutions-components/{p-97c47bbd.entry.js → p-3eecbcf0.entry.js} +1 -1
  623. package/dist/solutions-components/{p-5c097e25.entry.js → p-40432de5.entry.js} +1 -1
  624. package/dist/solutions-components/{p-c9858d8f.entry.js → p-4058733e.entry.js} +1 -1
  625. package/dist/solutions-components/{p-9e727488.js → p-4152fae0.js} +1 -1
  626. package/dist/solutions-components/{p-12a4fa84.js → p-4321edfc.js} +1 -1
  627. package/dist/solutions-components/{p-761a033a.entry.js → p-4344b6ca.entry.js} +1 -1
  628. package/dist/solutions-components/{p-aeebdb15.js → p-44e26e37.js} +1 -1
  629. package/dist/solutions-components/{p-3445a8c6.js → p-477ae127.js} +1 -1
  630. package/dist/solutions-components/{p-9cb94ea0.js → p-4c8b1179.js} +1 -1
  631. package/dist/solutions-components/p-4e32bf8c.js +6 -0
  632. package/dist/solutions-components/{p-4c43820f.entry.js → p-4e93132b.entry.js} +1 -1
  633. package/dist/solutions-components/{p-1add4e39.entry.js → p-4ea79dc4.entry.js} +2 -2
  634. package/dist/solutions-components/{p-05db4340.js → p-4f51db32.js} +1 -1
  635. package/dist/solutions-components/{p-4d17943f.js → p-4f64d786.js} +1 -1
  636. package/dist/solutions-components/{p-2c0dc7b1.js → p-4ff653eb.js} +1 -1
  637. package/dist/solutions-components/{p-b1f84ae5.js → p-53347add.js} +1 -1
  638. package/dist/solutions-components/p-54fce798.js +11 -0
  639. package/dist/solutions-components/{p-abda8ca2.entry.js → p-573d282b.entry.js} +1 -1
  640. package/dist/solutions-components/{p-a258f5e7.js → p-58340eba.js} +1 -1
  641. package/dist/solutions-components/p-5930cd6d.entry.js +6 -0
  642. package/dist/solutions-components/p-5fc99541.js +257 -0
  643. package/dist/solutions-components/{p-ffac6f88.entry.js → p-6071078a.entry.js} +1 -1
  644. package/dist/solutions-components/{p-dc9dad31.entry.js → p-69863a28.entry.js} +1 -1
  645. package/dist/solutions-components/{p-a6900100.entry.js → p-699031c9.entry.js} +2 -2
  646. package/dist/solutions-components/{p-ab8f5c6b.entry.js → p-6998e886.entry.js} +1 -1
  647. package/dist/solutions-components/{p-bbb0d957.entry.js → p-6a813a31.entry.js} +1 -1
  648. package/dist/solutions-components/{p-ad72a379.entry.js → p-6b12b5eb.entry.js} +1 -1
  649. package/dist/solutions-components/{p-639cca97.js → p-6e89e9dd.js} +1 -1
  650. package/dist/solutions-components/{p-5adf37ea.entry.js → p-705b7f81.entry.js} +1 -1
  651. package/dist/solutions-components/p-75578ebf.entry.js +6 -0
  652. package/dist/solutions-components/{p-5383607a.js → p-7c72df3c.js} +3 -3
  653. package/dist/solutions-components/{p-03fccde6.entry.js → p-7ca47589.entry.js} +2 -2
  654. package/dist/solutions-components/{p-a040efff.js → p-7cb8a4db.js} +1 -1
  655. package/dist/solutions-components/p-7cc13b24.js +8 -0
  656. package/dist/solutions-components/{p-e4253e1b.entry.js → p-8008b2fe.entry.js} +1 -1
  657. package/dist/solutions-components/{p-22d580b0.entry.js → p-81531fbe.entry.js} +1 -1
  658. package/dist/solutions-components/{p-e10a62f4.entry.js → p-81627211.entry.js} +1 -1
  659. package/dist/solutions-components/{p-2d70d3fd.js → p-8aa806fe.js} +1 -1
  660. package/dist/solutions-components/{p-052ff2c7.js → p-8ae8b789.js} +1 -1
  661. package/dist/solutions-components/{p-4daae757.js → p-8b1236bf.js} +1 -1
  662. package/dist/solutions-components/{p-ee066c67.js → p-8b14f9aa.js} +3 -3
  663. package/dist/solutions-components/{p-56300653.js → p-8b4e79fd.js} +1 -1
  664. package/dist/solutions-components/{p-bba3fa4e.entry.js → p-8bc91d5b.entry.js} +2 -2
  665. package/dist/solutions-components/{p-cad5587c.entry.js → p-8df0c98c.entry.js} +1 -1
  666. package/dist/solutions-components/p-953cf07a.entry.js +6 -0
  667. package/dist/solutions-components/{p-5b9b1cbb.entry.js → p-95cf8aa0.entry.js} +1 -1
  668. package/dist/solutions-components/{p-29d41c7e.js → p-99ece5e1.js} +2 -2
  669. package/dist/solutions-components/{p-b4157e6a.js → p-9a2a551d.js} +1 -1
  670. package/dist/solutions-components/{p-541697d0.js → p-9b43b4cf.js} +1 -1
  671. package/dist/solutions-components/{p-647a4130.js → p-9f922d49.js} +2 -7
  672. package/dist/solutions-components/p-9fb09c2c.js +11 -0
  673. package/dist/solutions-components/{p-e645edf2.entry.js → p-a0e50ea6.entry.js} +1 -1
  674. package/dist/solutions-components/{p-31316d61.entry.js → p-a1154bb5.entry.js} +2 -2
  675. package/dist/solutions-components/{p-d62784a4.js → p-a709a84a.js} +1 -1
  676. package/dist/solutions-components/p-a99832c1.js +27 -0
  677. package/dist/solutions-components/{p-0f8440bb.entry.js → p-ad41cd27.entry.js} +1 -1
  678. package/dist/solutions-components/{p-bd3a3afe.js → p-ad962e25.js} +1 -1
  679. package/dist/solutions-components/{p-2b252afd.entry.js → p-ae1459ed.entry.js} +1 -1
  680. package/dist/solutions-components/{p-90bbf223.entry.js → p-af9510a4.entry.js} +1 -1
  681. package/dist/solutions-components/{p-4f0c3fc1.js → p-afc462f0.js} +1 -1
  682. package/dist/solutions-components/{p-6431fd69.js → p-b02a2b2f.js} +2 -2
  683. package/dist/solutions-components/{p-421d5e7c.js → p-b0eb13a1.js} +1 -1
  684. package/dist/solutions-components/{p-2656168f.entry.js → p-b1228e6c.entry.js} +1 -1
  685. package/dist/solutions-components/{p-0e7914e6.entry.js → p-b1ff9f2e.entry.js} +1 -1
  686. package/dist/solutions-components/p-b20bf7b7.entry.js +6 -0
  687. package/dist/solutions-components/{p-7920b5a2.entry.js → p-b361af64.entry.js} +1 -1
  688. package/dist/solutions-components/{p-a777b18c.js → p-b4a6abe2.js} +2 -2
  689. package/dist/solutions-components/{p-4e4b55b9.entry.js → p-b68b17b6.entry.js} +3 -3
  690. package/dist/solutions-components/{p-f41105c8.js → p-b73e9c4d.js} +1 -1
  691. package/dist/solutions-components/{p-19fe7725.js → p-b9111e12.js} +1 -1
  692. package/dist/solutions-components/{p-3cbe5ef3.js → p-b9653a1e.js} +1 -1
  693. package/dist/solutions-components/{p-5f5c371e.js → p-b9fa9ca9.js} +1 -1
  694. package/dist/solutions-components/{p-c07af9c2.entry.js → p-ba9bb2ba.entry.js} +2 -2
  695. package/dist/solutions-components/{p-b49bdc72.entry.js → p-bc35e445.entry.js} +1 -1
  696. package/dist/solutions-components/{p-c3f8b670.js → p-bccc74a8.js} +1 -1
  697. package/dist/solutions-components/{p-1990d9c8.entry.js → p-bd213033.entry.js} +1 -1
  698. package/dist/solutions-components/{p-a775ba2f.entry.js → p-c0dc792a.entry.js} +1 -1
  699. package/dist/solutions-components/{p-606ca126.js → p-c16e540d.js} +1 -1
  700. package/dist/solutions-components/{p-42c7a5fa.entry.js → p-c35b219b.entry.js} +1 -1
  701. package/dist/solutions-components/{p-b86b4512.entry.js → p-c38c0612.entry.js} +2 -2
  702. package/dist/solutions-components/{p-6b2f2b85.js → p-c8c3554b.js} +3 -3
  703. package/dist/solutions-components/{p-634e1240.js → p-cbebdffa.js} +1 -1
  704. package/dist/solutions-components/{p-91caf655.entry.js → p-cbf52aa2.entry.js} +2 -2
  705. package/dist/solutions-components/{p-825bac0e.js → p-ce21ee76.js} +1 -1
  706. package/dist/solutions-components/{p-57c08531.entry.js → p-ce3e73ae.entry.js} +1 -1
  707. package/dist/solutions-components/{p-d3a22725.js → p-cf14e2f3.js} +1 -1
  708. package/dist/solutions-components/{p-f28d69ac.entry.js → p-cfebc45c.entry.js} +1 -1
  709. package/dist/solutions-components/{p-6a524392.entry.js → p-d15a4f36.entry.js} +1 -1
  710. package/dist/solutions-components/{p-754e2df2.js → p-d3550542.js} +1 -1
  711. package/dist/solutions-components/{p-b5d67495.entry.js → p-d3dceabd.entry.js} +1 -1
  712. package/dist/solutions-components/{p-07bc4f07.entry.js → p-d43c1fc8.entry.js} +2 -2
  713. package/dist/solutions-components/{p-6de98c51.js → p-d7ddd3a2.js} +1 -1
  714. package/dist/solutions-components/{p-3e139360.js → p-d841cb8b.js} +1 -1
  715. package/dist/solutions-components/{p-2ae17fa2.js → p-d9868bac.js} +1 -1
  716. package/dist/solutions-components/{p-32f9c709.js → p-dc94bec2.js} +1 -1
  717. package/dist/solutions-components/{p-e6bee82f.js → p-dd0f8875.js} +1 -1
  718. package/dist/solutions-components/p-dec7b660.js +11 -0
  719. package/dist/solutions-components/{p-3f0193e9.js → p-deca8a07.js} +1 -1
  720. package/dist/solutions-components/{p-31ff3452.entry.js → p-df5ec082.entry.js} +1 -1
  721. package/dist/solutions-components/{p-ea282908.js → p-e046f728.js} +1 -1
  722. package/dist/solutions-components/{p-cf43278c.entry.js → p-e27ce6d2.entry.js} +1 -1
  723. package/dist/solutions-components/p-e2abc969.js +6 -0
  724. package/dist/solutions-components/{p-c5e294e4.js → p-e3f9e213.js} +1 -1
  725. package/dist/solutions-components/{p-2b96e551.entry.js → p-e43839a8.entry.js} +2 -2
  726. package/dist/solutions-components/{p-418d0b60.entry.js → p-e4d5188b.entry.js} +1 -1
  727. package/dist/solutions-components/{p-7b90c18e.entry.js → p-e666c0d6.entry.js} +1 -1
  728. package/dist/solutions-components/{p-39ff5ee5.js → p-e6c20791.js} +1 -1
  729. package/dist/solutions-components/{p-2005280f.js → p-ec4c8dc3.js} +1 -1
  730. package/dist/solutions-components/{p-93074bd4.entry.js → p-ef34c9e2.entry.js} +1 -1
  731. package/dist/solutions-components/{p-361f1fe1.js → p-f346f8ab.js} +2 -2
  732. package/dist/solutions-components/{p-680d193d.entry.js → p-f780ecc1.entry.js} +2 -2
  733. package/dist/solutions-components/p-f8be5d5f.js +7 -0
  734. package/dist/solutions-components/{p-c70392c4.entry.js → p-f9a56d6b.entry.js} +1 -1
  735. package/dist/solutions-components/{p-0ece6df1.entry.js → p-f9b9b211.entry.js} +1 -1
  736. package/dist/solutions-components/{p-a0a2c53d.js → p-fc2277fe.js} +1 -1
  737. package/dist/solutions-components/{p-40bde8b2.entry.js → p-fd65b14d.entry.js} +1 -1
  738. package/dist/solutions-components/{p-ef48bd77.entry.js → p-fe0e8542.entry.js} +1 -1
  739. package/dist/solutions-components/solutions-components.esm.js +1 -1
  740. package/dist/types/components/buffer-tools/buffer-tools.d.ts +170 -170
  741. package/dist/types/components/card-manager/card-manager.d.ts +70 -70
  742. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +174 -174
  743. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +26 -26
  744. package/dist/types/components/deduct-calculator/deduct-calculator.d.ts +90 -90
  745. package/dist/types/components/edit-card/edit-card.d.ts +140 -140
  746. package/dist/types/components/info-card/info-card.d.ts +143 -143
  747. package/dist/types/components/json-editor/json-editor.d.ts +229 -229
  748. package/dist/types/components/layer-table/layer-table.d.ts +276 -276
  749. package/dist/types/components/layout-manager/layout-manager.d.ts +69 -69
  750. package/dist/types/components/list-item/list-item.d.ts +26 -26
  751. package/dist/types/components/map-card/map-card.d.ts +83 -83
  752. package/dist/types/components/map-draw-tools/map-draw-tools.d.ts +231 -231
  753. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +160 -160
  754. package/dist/types/components/map-picker/map-picker.d.ts +109 -109
  755. package/dist/types/components/map-select-tools/map-select-tools.d.ts +469 -469
  756. package/dist/types/components/map-tools/map-tools.d.ts +104 -104
  757. package/dist/types/components/pci-calculator/pci-calculator.d.ts +71 -71
  758. package/dist/types/components/pdf-download/pdf-download.d.ts +101 -101
  759. package/dist/types/components/public-notification/public-notification.d.ts +610 -610
  760. package/dist/types/components/refine-selection/refine-selection.d.ts +234 -234
  761. package/dist/types/components/solution-configuration/solution-configuration.d.ts +205 -205
  762. package/dist/types/components/solution-contents/solution-contents.d.ts +46 -46
  763. package/dist/types/components/solution-item/solution-item.d.ts +71 -71
  764. package/dist/types/components/solution-item-details/solution-item-details.d.ts +100 -100
  765. package/dist/types/components/solution-item-icon/solution-item-icon.d.ts +44 -44
  766. package/dist/types/components/solution-item-sharing/solution-item-sharing.d.ts +62 -62
  767. package/dist/types/components/solution-organization-variables/solution-organization-variables.d.ts +63 -63
  768. package/dist/types/components/solution-resource-item/solution-resource-item.d.ts +144 -144
  769. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +180 -180
  770. package/dist/types/components/solution-spatial-ref/spatialreferences.d.ts +17 -17
  771. package/dist/types/components/solution-template-data/solution-template-data.d.ts +72 -72
  772. package/dist/types/components/solution-variables/solution-variables.d.ts +69 -69
  773. package/dist/types/components/store-manager/store-manager.d.ts +55 -55
  774. package/dist/types/components.d.ts +0 -2
  775. package/dist/types/index.d.ts +16 -16
  776. package/dist/types/stencil-public-runtime.d.ts +14 -27
  777. package/dist/types/utils/common.d.ts +49 -49
  778. package/dist/types/utils/csvDownload.d.ts +24 -24
  779. package/dist/types/utils/csvUtils.d.ts +22 -22
  780. package/dist/types/utils/downloadUtils.d.ts +118 -118
  781. package/dist/types/utils/interfaces.d.ts +398 -398
  782. package/dist/types/utils/languageUtil.d.ts +11 -11
  783. package/dist/types/utils/loadModules.d.ts +17 -17
  784. package/dist/types/utils/locale.d.ts +22 -22
  785. package/dist/types/utils/mapViewUtils.d.ts +124 -124
  786. package/dist/types/utils/pciUtils.d.ts +97 -97
  787. package/dist/types/utils/pdfUtils.d.ts +27 -27
  788. package/dist/types/utils/publicNotificationStore.d.ts +24 -24
  789. package/dist/types/utils/queryUtils.d.ts +95 -95
  790. package/dist/types/utils/solution-store.d.ts +234 -234
  791. package/dist/types/utils/templates.d.ts +50 -50
  792. package/dist/types/utils/test/mocks/jsApi.d.ts +59 -59
  793. package/dist/types/utils/test/testUtils.d.ts +36 -36
  794. package/dist/types/utils/types.d.ts +1 -1
  795. package/package.json +2 -2
  796. package/dist/collection/components/buffer-tools/test/buffer-tools.e2e.js +0 -29
  797. package/dist/collection/components/buffer-tools/test/buffer-tools.spec.js +0 -160
  798. package/dist/collection/components/card-manager/test/card-manager.e2e.js +0 -29
  799. package/dist/collection/components/card-manager/test/card-manager.spec.js +0 -37
  800. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.e2e.js +0 -29
  801. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.spec.js +0 -37
  802. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.e2e.js +0 -29
  803. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.spec.js +0 -37
  804. package/dist/collection/components/deduct-calculator/test/deduct-calculator.e2e.js +0 -29
  805. package/dist/collection/components/deduct-calculator/test/deduct-calculator.spec.js +0 -37
  806. package/dist/collection/components/edit-card/test/edit-card.e2e.js +0 -14
  807. package/dist/collection/components/edit-card/test/edit-card.spec.js +0 -22
  808. package/dist/collection/components/info-card/test/info-card.e2e.js +0 -29
  809. package/dist/collection/components/info-card/test/info-card.spec.js +0 -37
  810. package/dist/collection/components/json-editor/test/json-editor.e2e.js +0 -36
  811. package/dist/collection/components/json-editor/test/json-editor.spec.js +0 -65
  812. package/dist/collection/components/layer-table/test/layer-table.e2e.js +0 -29
  813. package/dist/collection/components/layer-table/test/layer-table.spec.js +0 -37
  814. package/dist/collection/components/layout-manager/test/layout-manager.e2e.js +0 -29
  815. package/dist/collection/components/layout-manager/test/layout-manager.spec.js +0 -37
  816. package/dist/collection/components/list-item/test/list-item.e2e.js +0 -29
  817. package/dist/collection/components/list-item/test/list-item.spec.js +0 -37
  818. package/dist/collection/components/map-card/test/map-card.e2e.js +0 -29
  819. package/dist/collection/components/map-card/test/map-card.spec.js +0 -37
  820. package/dist/collection/components/map-draw-tools/test/map-draw-tools.e2e.js +0 -29
  821. package/dist/collection/components/map-draw-tools/test/map-draw-tools.spec.js +0 -37
  822. package/dist/collection/components/map-layer-picker/test/map-layer-picker.e2e.js +0 -29
  823. package/dist/collection/components/map-layer-picker/test/map-layer-picker.spec.js +0 -114
  824. package/dist/collection/components/map-picker/test/map-picker.e2e.js +0 -29
  825. package/dist/collection/components/map-picker/test/map-picker.spec.js +0 -37
  826. package/dist/collection/components/map-select-tools/test/map-select-tools.e2e.js +0 -29
  827. package/dist/collection/components/map-select-tools/test/map-select-tools.spec.js +0 -366
  828. package/dist/collection/components/map-tools/test/map-tools.e2e.js +0 -29
  829. package/dist/collection/components/map-tools/test/map-tools.spec.js +0 -37
  830. package/dist/collection/components/pci-calculator/test/pci-calculator.e2e.js +0 -29
  831. package/dist/collection/components/pci-calculator/test/pci-calculator.spec.js +0 -37
  832. package/dist/collection/components/pdf-download/test/pdf-download.e2e.js +0 -76
  833. package/dist/collection/components/pdf-download/test/pdf-download.spec.js +0 -107
  834. package/dist/collection/components/public-notification/test/public-notification.spec.js +0 -161
  835. package/dist/collection/components/refine-selection/test/refine-selection.e2e.js +0 -14
  836. package/dist/collection/components/refine-selection/test/refine-selection.spec.js +0 -22
  837. package/dist/collection/components/solution-configuration/test/solution-configuration.e2e.js +0 -36
  838. package/dist/collection/components/solution-configuration/test/solution-configuration.spec.js +0 -119
  839. package/dist/collection/components/solution-contents/test/solution-contents.e2e.js +0 -94
  840. package/dist/collection/components/solution-contents/test/solution-contents.spec.js +0 -143
  841. package/dist/collection/components/solution-item/test/solution-item.e2e.js +0 -36
  842. package/dist/collection/components/solution-item/test/solution-item.spec.js +0 -77
  843. package/dist/collection/components/solution-item-details/test/solution-item-details.e2e.js +0 -36
  844. package/dist/collection/components/solution-item-details/test/solution-item-details.spec.js +0 -142
  845. package/dist/collection/components/solution-item-icon/test/solution-item-icon.e2e.js +0 -29
  846. package/dist/collection/components/solution-item-icon/test/solution-item-icon.spec.js +0 -39
  847. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.e2e.js +0 -36
  848. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.spec.js +0 -54
  849. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.e2e.js +0 -36
  850. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.spec.js +0 -65
  851. package/dist/collection/components/solution-resource-item/test/solution-resource-item.e2e.js +0 -36
  852. package/dist/collection/components/solution-resource-item/test/solution-resource-item.spec.js +0 -55
  853. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.e2e.js +0 -36
  854. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +0 -175
  855. package/dist/collection/components/solution-template-data/test/solution-template-data.e2e.js +0 -36
  856. package/dist/collection/components/solution-template-data/test/solution-template-data.spec.js +0 -60
  857. package/dist/collection/components/solution-variables/test/solution-variables.e2e.js +0 -36
  858. package/dist/collection/components/solution-variables/test/solution-variables.spec.js +0 -131
  859. package/dist/collection/utils/templates.e2e.js +0 -30
  860. package/dist/collection/utils/test/csvUtils.spec.js +0 -51
  861. package/dist/collection/utils/test/downloadUtils.spec.js +0 -357
  862. package/dist/collection/utils/test/pciUtils.spec.js +0 -302
  863. package/dist/collection/utils/test/solution-store.spec.js +0 -444
  864. package/dist/esm/resources-40d8e06f.js +0 -20
  865. package/dist/solutions-components/p-0cc32f06.js +0 -6
  866. package/dist/solutions-components/p-10248e04.js +0 -11
  867. package/dist/solutions-components/p-108fbf59.entry.js +0 -6
  868. package/dist/solutions-components/p-13290851.js +0 -259
  869. package/dist/solutions-components/p-164be8ef.entry.js +0 -6
  870. package/dist/solutions-components/p-1ea1dcac.js +0 -61
  871. package/dist/solutions-components/p-3aba40e8.js +0 -18
  872. package/dist/solutions-components/p-3bd99fc9.js +0 -11
  873. package/dist/solutions-components/p-3cce003d.js +0 -27
  874. package/dist/solutions-components/p-525f1188.js +0 -11
  875. package/dist/solutions-components/p-6665fa1f.js +0 -6
  876. package/dist/solutions-components/p-7c33e500.entry.js +0 -6
  877. package/dist/solutions-components/p-9310b882.js +0 -7
  878. package/dist/solutions-components/p-9bbc05ff.js +0 -11
  879. package/dist/solutions-components/p-a82f35c9.js +0 -6
  880. package/dist/solutions-components/p-b6578a32.js +0 -6
  881. package/dist/solutions-components/p-b684bbc7.entry.js +0 -6
  882. package/dist/solutions-components/p-baccfd70.entry.js +0 -6
  883. package/dist/solutions-components/p-bf9e18d4.js +0 -8
  884. package/dist/solutions-components/p-d6322e4b.js +0 -6
  885. /package/dist/cjs/{array-46bb7df1.js → array-51e7da8f.js} +0 -0
  886. /package/dist/cjs/{debounce-30afab47.js → debounce-69c3bada.js} +0 -0
  887. /package/dist/cjs/{guid-3abe3cc6.js → guid-ca85ade0.js} +0 -0
  888. /package/dist/cjs/{html2canvas-34208bbf.js → html2canvas-770c1171.js} +0 -0
  889. /package/dist/cjs/{interactive-2fe0f43a.js → interactive-4e212b36.js} +0 -0
  890. /package/dist/cjs/{key-b8b55ea3.js → key-b32a6438.js} +0 -0
  891. /package/dist/cjs/{math-5132d9bd.js → math-ef14a84a.js} +0 -0
  892. /package/dist/cjs/{observers-f5fa975b.js → observers-20fe6f01.js} +0 -0
  893. /package/dist/cjs/{purify-f8c3e427.js → purify-5389d8d6.js} +0 -0
  894. /package/dist/cjs/{resources-2901b608.js → resources-1d2258a1.js} +0 -0
  895. /package/dist/cjs/{resources-60c27547.js → resources-7c9bff85.js} +0 -0
  896. /package/dist/cjs/{resources-9f2b33ee.js → resources-9dcbf30f.js} +0 -0
  897. /package/dist/cjs/{resources-4da89742.js → resources-a7e3371d.js} +0 -0
  898. /package/dist/cjs/{resources-8233a151.js → resources-b176fc52.js} +0 -0
  899. /package/dist/cjs/{resources-77713c2e.js → resources-b4b4b4fe.js} +0 -0
  900. /package/dist/cjs/{resources-e1258e8a.js → resources-c6f066a4.js} +0 -0
  901. /package/dist/cjs/{resources-91409a5d.js → resources-f13e2605.js} +0 -0
  902. /package/dist/cjs/{resources-c913200c.js → resources-f3e30b7b.js} +0 -0
  903. /package/dist/cjs/{utils-bae432a9.js → utils-662561ad.js} +0 -0
  904. /package/dist/cjs/{utils-cd14113f.js → utils-8a0f3e68.js} +0 -0
  905. /package/dist/esm/{array-751a2b87.js → array-4a653f59.js} +0 -0
  906. /package/dist/esm/{debounce-229b1a22.js → debounce-4c884e5c.js} +0 -0
  907. /package/dist/esm/{guid-2bbb8cd1.js → guid-1608fd71.js} +0 -0
  908. /package/dist/esm/{html2canvas-a0a4df55.js → html2canvas-12c862c8.js} +0 -0
  909. /package/dist/esm/{interactive-eaf4be29.js → interactive-0733ee76.js} +0 -0
  910. /package/dist/esm/{key-7a525416.js → key-97b504af.js} +0 -0
  911. /package/dist/esm/{math-5f92f517.js → math-e006358c.js} +0 -0
  912. /package/dist/esm/{observers-9d66685a.js → observers-67bdf9e5.js} +0 -0
  913. /package/dist/esm/{purify-c99d2ace.js → purify-75c61cf7.js} +0 -0
  914. /package/dist/esm/{resources-d6a4d343.js → resources-01034dfa.js} +0 -0
  915. /package/dist/esm/{resources-c253772f.js → resources-34b761fa.js} +0 -0
  916. /package/dist/esm/{resources-a9b2d33c.js → resources-43d63050.js} +0 -0
  917. /package/dist/esm/{resources-dca3d475.js → resources-5490ccf4.js} +0 -0
  918. /package/dist/esm/{resources-c65f5654.js → resources-6b7800e6.js} +0 -0
  919. /package/dist/esm/{resources-5bce3953.js → resources-6be20fcc.js} +0 -0
  920. /package/dist/esm/{resources-58d30a0f.js → resources-913009ae.js} +0 -0
  921. /package/dist/{components/resources4.js → esm/resources-b5267429.js} +0 -0
  922. /package/dist/esm/{resources-94c47e64.js → resources-f97db74e.js} +0 -0
  923. /package/dist/esm/{utils-2c91c963.js → utils-649c76ab.js} +0 -0
  924. /package/dist/esm/{utils-18db6b1d.js → utils-dcd05f69.js} +0 -0
  925. /package/dist/solutions-components/{p-f055a840.js → p-0506e06f.js} +0 -0
  926. /package/dist/solutions-components/{p-283e3a2d.js → p-0630e686.js} +0 -0
  927. /package/dist/solutions-components/{p-fb7e0054.js → p-08ab045a.js} +0 -0
  928. /package/dist/solutions-components/{p-2291b598.js → p-0b32d4fe.js} +0 -0
  929. /package/dist/solutions-components/{p-5961c4e0.js → p-203b16df.js} +0 -0
  930. /package/dist/solutions-components/{p-3fc17d72.js → p-3adf63ca.js} +0 -0
  931. /package/dist/solutions-components/{p-d4c103a8.js → p-3b72043f.js} +0 -0
  932. /package/dist/solutions-components/{p-18f1772b.js → p-43ebe36a.js} +0 -0
  933. /package/dist/solutions-components/{p-58ce5639.js → p-5242a652.js} +0 -0
  934. /package/dist/solutions-components/{p-18869c0f.js → p-5d25ba99.js} +0 -0
  935. /package/dist/solutions-components/{p-1f468797.js → p-76b83a13.js} +0 -0
  936. /package/dist/solutions-components/{p-d554507d.js → p-7ac7b1a1.js} +0 -0
  937. /package/dist/solutions-components/{p-868df4a0.js → p-9ab03591.js} +0 -0
  938. /package/dist/solutions-components/{p-38ef0684.js → p-a963dd48.js} +0 -0
  939. /package/dist/solutions-components/{p-63a0e9bf.js → p-cc815aca.js} +0 -0
  940. /package/dist/solutions-components/{p-6f2edf5b.js → p-d556b5c4.js} +0 -0
  941. /package/dist/solutions-components/{p-215d3505.js → p-f93e6931.js} +0 -0
  942. /package/dist/solutions-components/{p-4805ff13.js → p-fb3ba11a.js} +0 -0
  943. /package/dist/solutions-components/{p-b9749e09.js → p-ff4afb7d.js} +0 -0
@@ -1,584 +1,584 @@
1
- /*!
2
- * Copyright 2022 Esri
3
- * Licensed under the Apache License, Version 2.0
4
- * http://www.apache.org/licenses/LICENSE-2.0
5
- */
6
- /** @license
7
- * Copyright 2022 Esri
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License");
10
- * you may not use this file except in compliance with the License.
11
- * You may obtain a copy of the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS,
17
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- * See the License for the specific language governing permissions and
19
- * limitations under the License.
20
- */
21
- import { createStore } from "@stencil/store";
22
- import { EUpdateType } from "./interfaces";
23
- import { EFileType, SolutionTemplateFormatVersion, copyFilesToStorageItem, generateStorageFilePaths, getItemDataAsJson, getProp, getThumbnailFromStorageItem, isSupportedFileType, removeItemResourceFile, setCreateProp, updateItem, updateItemResourceFile } from "@esri/solution-common";
24
- const EmptySolutionStore = {
25
- solutionItemId: "",
26
- defaultWkid: undefined,
27
- solutionData: { metadata: {}, templates: [] },
28
- templateEdits: {},
29
- featureServices: [],
30
- spatialReferenceInfo: {
31
- enabled: false,
32
- services: {},
33
- spatialReference: undefined
34
- }
35
- };
36
- class SolutionStore {
37
- /**
38
- * Creates singleton instance when accessed; default export from module.
39
- *
40
- * @returns Static instance of the class
41
- */
42
- static get Store() {
43
- return this._instance || (this._instance = new this());
44
- }
45
- /**
46
- * Creates an empty store.
47
- *
48
- * @protected
49
- */
50
- constructor() {
51
- this._hasChanges = false;
52
- this._store = createStore(Object.assign({}, EmptySolutionStore));
53
- }
54
- /**
55
- * Returns the stored information of an item.
56
- *
57
- * @param itemId Id of item to fetch
58
- *
59
- * @returns Item information or `undefined` if not found
60
- */
61
- getItemInfo(itemId) {
62
- const templates = this._store.get("solutionData").templates;
63
- let template;
64
- templates.some((t) => {
65
- if (itemId == t.itemId) {
66
- template = t;
67
- return true;
68
- }
69
- return false;
70
- });
71
- return template;
72
- }
73
- /**
74
- * Returns a top-level store property: solutionItemId, defaultWkid, etc.
75
- *
76
- * @param propName Name of property
77
- *
78
- * @returns Value of property
79
- */
80
- getStoreInfo(propName) {
81
- return this._store.get(propName);
82
- }
83
- /**
84
- * Loads a Solution into the store from AGO.
85
- *
86
- * @param solutionItemId Id of the solution represented in the store
87
- * @param authentication Credentials for fetching information to be loaded into the store
88
- *
89
- * @returns Promise that resolves when task is done
90
- */
91
- async loadSolution(solutionItemId, authentication) {
92
- this._authentication = authentication;
93
- const solutionData = await getItemDataAsJson(solutionItemId, authentication);
94
- if (solutionData) {
95
- const defaultWkid = getProp(solutionData, "params.wkid.default");
96
- await this._prepareSolutionItemsForEditing(solutionItemId, solutionData.templates, authentication);
97
- const featureServices = this._getFeatureServices(solutionData.templates);
98
- const spatialReferenceInfo = this._getSpatialReferenceInfo(featureServices, defaultWkid);
99
- this._store.set("solutionItemId", solutionItemId);
100
- this._store.set("defaultWkid", defaultWkid);
101
- this._store.set("solutionData", solutionData);
102
- this._store.set("featureServices", featureServices);
103
- this._store.set("spatialReferenceInfo", spatialReferenceInfo);
104
- }
105
- this._flagStoreHasChanges(false);
106
- }
107
- /**
108
- * Queues the replacement of the thumbnail associated with a template item in the store.
109
- *
110
- * @param itemEdit Details of the template to modify, containing the new thumbnail in the `thumbnail`
111
- * property
112
- */
113
- replaceItemThumbnail(itemEdit) {
114
- // Flag the current thumbnail and any replacements for removal
115
- itemEdit.resourceFilePaths.forEach((path) => {
116
- if (path.type === EFileType.Thumbnail) {
117
- if (path.updateType === EUpdateType.None) {
118
- // Existing thumbnail not yet flagged for removal
119
- path.updateType = EUpdateType.Remove;
120
- }
121
- else if (path.updateType === EUpdateType.Add || path.updateType === EUpdateType.Update) {
122
- // An earlier replacement
123
- path.updateType = EUpdateType.Obsolete;
124
- }
125
- }
126
- });
127
- // Remove any replacements already queued
128
- itemEdit.resourceFilePaths =
129
- itemEdit.resourceFilePaths.filter((path) => path.updateType != EUpdateType.Obsolete);
130
- // Add the new thumbnail to the store item
131
- itemEdit.resourceFilePaths.push({
132
- blob: itemEdit.thumbnail,
133
- filename: itemEdit.thumbnail.name,
134
- type: EFileType.Thumbnail,
135
- updateType: EUpdateType.Add
136
- });
137
- // Update the store
138
- this.setItemInfo(itemEdit);
139
- }
140
- /**
141
- * Writes a Solution into AGO from the store. Must use `loadSolution` to continue with solution.
142
- *
143
- * @returns Promise that resolves when task is done
144
- */
145
- async saveSolution() {
146
- // Update the templates in the original solution item data
147
- const solutionItemId = this._store.get("solutionItemId");
148
- const solutionData = this._store.get("solutionData");
149
- const spatialReferenceInfo = this._store.get("spatialReferenceInfo");
150
- await this._prepareSolutionItemsForStorage(solutionItemId, solutionData.templates, this._authentication);
151
- const updatedDefaultWkid = this._setSpatialReferenceInfo(spatialReferenceInfo, solutionData.templates);
152
- if (updatedDefaultWkid) {
153
- setCreateProp(solutionData, "params.wkid", {
154
- "label": "Spatial Reference",
155
- "default": updatedDefaultWkid,
156
- "valueType": "spatialReference",
157
- "attributes": {
158
- "required": "true"
159
- }
160
- });
161
- }
162
- else {
163
- setCreateProp(solutionData, "params.wkid", {});
164
- }
165
- const itemInfo = {
166
- id: solutionItemId,
167
- text: solutionData
168
- };
169
- await updateItem(itemInfo, this._authentication);
170
- }
171
- /**
172
- * Stores information for item.
173
- *
174
- * @param itemEdit Item information
175
- */
176
- setItemInfo(itemEdit) {
177
- const solutionData = this._store.get("solutionData");
178
- const templates = solutionData.templates;
179
- templates.some((t) => {
180
- if (itemEdit.itemId == t.itemId) {
181
- t = itemEdit;
182
- this._store.set("solutionData", solutionData);
183
- this._flagStoreHasChanges(true);
184
- return true;
185
- }
186
- return false;
187
- });
188
- }
189
- /**
190
- * Sets a top-level store property: solutionItemId, defaultWkid, etc.
191
- *
192
- * @param propName Name of property
193
- * @param value Value of property
194
- */
195
- setStoreInfo(propName, value) {
196
- this._store.set(propName, value);
197
- this._flagStoreHasChanges(true);
198
- }
199
- //------------------------------------------------------------------------------------------------------------------//
200
- /** Provides access to protected methods for unit testing.
201
- *
202
- * @param methodName Name of protected method to run
203
- * @param arg1 First argument to forward to method, e.g., for "_prepareSolutionItemsForEditing", `solutionItemId`
204
- * @param arg2 Second argument to forward to method, e.g., for "_prepareSolutionItemsForEditing", `templates`
205
- * @param arg3 Third argument to forward to method, e.g., for "_prepareSolutionItemsForEditing", `authentication`
206
- *
207
- * @returns
208
- */
209
- _testAccess(methodName, arg1, arg2, arg3) {
210
- switch (methodName) {
211
- case "_emptyTheStore":
212
- this._emptyTheStore();
213
- break;
214
- case "_getFeatureServices":
215
- return this._getFeatureServices(arg1);
216
- case "_getItemsSharedWithThisGroup":
217
- return this._getItemsSharedWithThisGroup(arg1, arg2);
218
- case "_getResourceFilePaths":
219
- return this._getResourceFilePaths(arg1, arg2, arg3);
220
- case "_getResourceStorageName":
221
- return this._getResourceStorageName(arg1, arg2);
222
- case "_getSpatialReferenceInfo":
223
- return this._getSpatialReferenceInfo(arg1, arg2);
224
- case "_prepareSolutionItemsForEditing":
225
- return this._prepareSolutionItemsForEditing(arg1, arg2, arg3);
226
- case "_prepareSolutionItemsForStorage":
227
- return this._prepareSolutionItemsForStorage(arg1, arg2, arg3);
228
- case "_setSpatialReferenceInfo":
229
- return this._setSpatialReferenceInfo(arg1, arg2);
230
- case "_splitFilename":
231
- return this._splitFilename(arg1);
232
- }
233
- return null;
234
- }
235
- /**
236
- * Returns the store to the empty state.
237
- *
238
- * @protected
239
- */
240
- _emptyTheStore() {
241
- this._store.set("solutionItemId", EmptySolutionStore.solutionItemId);
242
- this._store.set("defaultWkid", EmptySolutionStore.defaultWkid);
243
- this._store.set("solutionData", EmptySolutionStore.solutionData);
244
- this._store.set("templateEdits", EmptySolutionStore.templateEdits);
245
- this._store.set("featureServices", EmptySolutionStore.featureServices);
246
- this._store.set("spatialReferenceInfo", EmptySolutionStore.spatialReferenceInfo);
247
- }
248
- /**
249
- * Sets the store's flag indicating if it has changes and dispatches an event when
250
- * the flag value changes.
251
- *
252
- * @param flagHasChanges Current state of change in the store; if it doesn't match the value saved in this
253
- * object, an event is dispatched with the new value and the saved value is updated
254
- *
255
- * @protected
256
- */
257
- _flagStoreHasChanges(flagHasChanges) {
258
- // Event for notifying if the store has changes or not
259
- if (this._hasChanges !== flagHasChanges) {
260
- window.dispatchEvent(new CustomEvent("solutionStoreHasChanges", {
261
- detail: flagHasChanges,
262
- bubbles: true,
263
- cancelable: false,
264
- composed: true
265
- }));
266
- }
267
- this._hasChanges = flagHasChanges;
268
- }
269
- /**
270
- * Gets a list of Feature Services that are not views.
271
- *
272
- * @param templates A list of item templates from the solution
273
- *
274
- * @returns a list of feature services
275
- *
276
- * @protected
277
- */
278
- _getCustomizableFeatureServices(templates) {
279
- return templates.reduce((prev, cur) => {
280
- if (cur.type === "Feature Service" && cur.item.typeKeywords.indexOf("View Service") < 0) {
281
- prev.push(cur);
282
- }
283
- return prev;
284
- }, []);
285
- }
286
- /**
287
- * Gets a list of Feature Services that are not views along with an enabled property that indicates
288
- * if the service currently uses a spatial reference variable.
289
- *
290
- * @param templates A list of item templates from the solution
291
- *
292
- * @returns a list of feature service names and an enabled property to indicate
293
- * if they currently use a spatial reference variable.
294
- *
295
- * @protected
296
- */
297
- _getFeatureServices(templates) {
298
- const customizeableFeatureServices = this._getCustomizableFeatureServices(templates);
299
- return customizeableFeatureServices.map((fs) => {
300
- const name = fs.item.title || fs.item.name;
301
- const wkid = getProp(fs, "properties.service.spatialReference.wkid");
302
- return { name, enabled: wkid.toString().startsWith("{{params.wkid||") };
303
- });
304
- }
305
- /**
306
- * Capture the key item details for a given group template
307
- *
308
- * @param template one of the templates from the current solution
309
- * @param templates full list of templates
310
- *
311
- * @returns a list of IItemShare objects
312
- *
313
- * @protected
314
- */
315
- _getItemsSharedWithThisGroup(template, templates) {
316
- return templates.reduce((prev, cur) => {
317
- if (cur.itemId !== template.itemId && cur.type !== "Group") {
318
- prev.push({
319
- id: cur.itemId,
320
- title: cur.item.name || cur.item.title,
321
- isShared: (cur.groups || []).indexOf(template.itemId) > -1,
322
- shareItem: (cur.groups || []).indexOf(template.itemId) > -1,
323
- type: cur.type,
324
- typeKeywords: cur.item.typeKeywords
325
- });
326
- }
327
- return prev;
328
- }, []);
329
- }
330
- /**
331
- * Generate storage file paths from the solution template
332
- *
333
- * @param solutionId the id of the current solution
334
- * @param template the current template from the solution
335
- * @param portal Portal where file is to be found
336
- *
337
- * @returns a list of resource file infos
338
- *
339
- * @protected
340
- */
341
- _getResourceFilePaths(solutionId, template, portal) {
342
- const resourceFilePaths = generateStorageFilePaths(portal, solutionId, template.resources, SolutionTemplateFormatVersion);
343
- return resourceFilePaths.map((fp) => {
344
- fp.updateType = EUpdateType.None;
345
- return fp;
346
- });
347
- }
348
- /**
349
- * Generates a resource name from a storage file path.
350
- *
351
- * @param templateItemId The id of the template item whose resource this is; used as a prefix in the resource name
352
- * @param resourcePath Resource file infos
353
- *
354
- * @returns The resource name to use when attaching a resource to the item.
355
- *
356
- * @protected
357
- */
358
- _getResourceStorageName(templateItemId, resourcePath) {
359
- /* Converts
360
- {
361
- "url": "https://myorg.maps.arcgis.com/sharing/rest/content/items/ca924c6db7d247b9a31fa30532fb5913/resources/79036430a6274e17ae915d0278b8569c_info_metadata/metadata.xml",
362
- "type": 2,
363
- "folder": "",
364
- "filename": "metadata.xml",
365
- "updateType": 3
366
- }
367
- to
368
- ca924c6db7d247b9a31fa30532fb5913_info_metadata/metadata.xml
369
- */
370
- let prefix = templateItemId;
371
- switch (resourcePath.type) {
372
- case EFileType.Data:
373
- prefix = `${prefix}_info_data`;
374
- break;
375
- case EFileType.Info:
376
- prefix = `${prefix}_info`;
377
- break;
378
- case EFileType.Metadata:
379
- prefix = `${prefix}_info_metadata`;
380
- break;
381
- case EFileType.Resource:
382
- break;
383
- case EFileType.Thumbnail:
384
- prefix = `${prefix}_info_thumbnail`;
385
- break;
386
- }
387
- let filenameToUse = resourcePath.filename;
388
- if (resourcePath.type == EFileType.Data && filenameToUse && !isSupportedFileType(filenameToUse)) {
389
- filenameToUse = filenameToUse + ".zip";
390
- prefix += "z";
391
- }
392
- const filename = resourcePath.folder ? resourcePath.folder + "/" + filenameToUse : filenameToUse;
393
- return prefix + "/" + filename;
394
- }
395
- /**
396
- * Extracts basic spatial reference information that is used to determine if a custom spatial reference parameter will
397
- * be exposed while deploying this solution and if so what feature services will support it and what will the default wkid be
398
- *
399
- * @param services a list of objects with service name and enabled property (indicates if they currently use a spatial reference var)
400
- * @param data the data object of a solution item
401
- *
402
- * @returns an object that stores if a custom spatial reference parameter is enabled/disabled,
403
- * a list of services and if they are enabled/disabled, and the default wkid
404
- *
405
- * @protected
406
- */
407
- _getSpatialReferenceInfo(services, defaultWkid) {
408
- const defaultServices = {};
409
- services.forEach(service => {
410
- defaultServices[service.name] = service.enabled;
411
- });
412
- return {
413
- enabled: defaultWkid !== undefined,
414
- services: defaultServices,
415
- spatialReference: defaultWkid ? defaultWkid : undefined
416
- };
417
- }
418
- /**
419
- * Create and store template items for the editor.
420
- *
421
- * @param solutionItemId Id of the solution represented in the store
422
- * @param templates A list of item templates from the solution
423
- * @param authentication Credentials for fetching information to be loaded into the store
424
- *
425
- * @returns a promise that resolves when the templates are ready
426
- *
427
- * @protected
428
- */
429
- async _prepareSolutionItemsForEditing(solutionItemId, templates, authentication) {
430
- const thumbnailPromises = [];
431
- // Augment the template with paths to resources and group information, if relevant
432
- templates.forEach((t) => {
433
- t.resourceFilePaths = this._getResourceFilePaths(solutionItemId, t, authentication.portal);
434
- thumbnailPromises.push(t.resourceFilePaths.length > 0 ?
435
- getThumbnailFromStorageItem(authentication, t.resourceFilePaths) :
436
- Promise.resolve());
437
- t.groupDetails = t.type === "Group" ? this._getItemsSharedWithThisGroup(t, templates) : [];
438
- });
439
- // Augment the template with its thumbnail file
440
- const thumbnails = await Promise.all(thumbnailPromises);
441
- templates.forEach((t, i) => {
442
- t.thumbnail = thumbnails[i] ? thumbnails[i] : undefined;
443
- });
444
- return Promise.resolve();
445
- }
446
- /**
447
- * Prepares template items for sending to AGO by updating the resources held by the solution item.
448
- *
449
- * @param solutionItemId Id of the solution represented in the store
450
- * @param templates A list of item templates from the solution
451
- * @param authentication Credentials for fetching information to be loaded into the store
452
- *
453
- * @returns a promise that resolves when the templates are ready
454
- *
455
- * @protected
456
- */
457
- async _prepareSolutionItemsForStorage(solutionItemId, templates, authentication) {
458
- const resourceAdds = [];
459
- // Update the resources and remove the augmentation from a template
460
- const pendingTasks = [];
461
- templates.forEach((t) => {
462
- // Run through the resourceFilePaths for the item seeking modifications to be made to the solution item's
463
- // collection of resources; queue them for batching
464
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
465
- t.resourceFilePaths.forEach(async (path) => {
466
- const storageName = this._getResourceStorageName(t.itemId, path);
467
- switch (path.updateType) {
468
- case EUpdateType.Add:
469
- const { prefix, suffix } = this._splitFilename(storageName);
470
- t.resources.push(storageName);
471
- resourceAdds.push({
472
- itemId: t.itemId,
473
- file: path.blob,
474
- folder: prefix,
475
- filename: suffix
476
- });
477
- break;
478
- case EUpdateType.Update:
479
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
480
- pendingTasks.push(new Promise(async (resolve) => {
481
- try {
482
- await updateItemResourceFile(solutionItemId, storageName, path.blob, authentication);
483
- }
484
- catch (err) {
485
- console.log("Unable to update " + storageName + " for item " + t.itemId + ": " + JSON.stringify(err));
486
- }
487
- resolve();
488
- }));
489
- break;
490
- case EUpdateType.Remove:
491
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
492
- pendingTasks.push(new Promise(async (resolve) => {
493
- try {
494
- await removeItemResourceFile(solutionItemId, storageName, authentication);
495
- t.resources = t.resources.filter((path) => path !== storageName);
496
- }
497
- catch (err) {
498
- console.log("Unable to remove " + storageName + " for item " + t.itemId + ": " + JSON.stringify(err));
499
- }
500
- resolve();
501
- }));
502
- break;
503
- }
504
- return Promise.resolve();
505
- });
506
- delete t.resourceFilePaths;
507
- delete t.thumbnail;
508
- delete t.groupDetails;
509
- });
510
- // Update the resources
511
- return Promise.all(pendingTasks)
512
- .then(async () => {
513
- if (resourceAdds.length > 0) {
514
- await copyFilesToStorageItem(resourceAdds, solutionItemId, authentication);
515
- }
516
- return Promise.resolve();
517
- });
518
- }
519
- /**
520
- * Stores basic spatial reference information that is used to determine if a custom spatial reference parameter will
521
- * be exposed while deploying this solution and if so what feature services will support it and what will the default wkid be
522
- *
523
- * @param spatialReferenceInfo The configuration settings for a custom spatial reference
524
- * @param templates The templates in the current solution, which will be updated in place if
525
- * `spatialReferenceInfo.enabled` is true
526
- *
527
- * @returns The new default wkid
528
- *
529
- * @protected
530
- */
531
- _setSpatialReferenceInfo(spatialReferenceInfo, templates) {
532
- const customizingPrefix = "{{params.wkid||";
533
- const customizeableFeatureServices = this._getCustomizableFeatureServices(templates);
534
- if (spatialReferenceInfo.enabled) {
535
- // Enable or disable this feature in each service
536
- customizeableFeatureServices.forEach((fs) => {
537
- const name = fs.item.title || fs.item.name;
538
- let wkid;
539
- if (spatialReferenceInfo.services[name]) { // enabled
540
- wkid = `{{params.wkid||${spatialReferenceInfo.spatialReference}}}`;
541
- setCreateProp(fs, "properties.service.spatialReference.wkid", wkid);
542
- }
543
- else { // disabled
544
- wkid = getProp(fs, "properties.service.spatialReference.wkid");
545
- // Remove customizing prefix if present
546
- if (wkid.toString().startsWith(customizingPrefix)) {
547
- wkid = wkid.toString().substring(customizingPrefix.length, wkid.length - 2);
548
- setCreateProp(fs, "properties.service.spatialReference.wkid", wkid);
549
- }
550
- }
551
- });
552
- return spatialReferenceInfo.spatialReference;
553
- }
554
- else {
555
- // Disable this feature in each service
556
- customizeableFeatureServices.forEach((fs) => {
557
- const wkid = getProp(fs, "properties.service.spatialReference.wkid");
558
- // Remove customizing prefix if present
559
- if (wkid.toString().startsWith(customizingPrefix)) {
560
- setCreateProp(fs, "properties.service.spatialReference.wkid", wkid.toString().substring(customizingPrefix.length, wkid.length - 2));
561
- }
562
- });
563
- return undefined;
564
- }
565
- }
566
- /**
567
- * Splits a pathed filename into a last term and a prefix; e.g., "a/b/c" returns "c" with a prefix of "a/b".
568
- *
569
- * @param filename Filename with optional path
570
- *
571
- * @returns An object consisting of a `prefix` (undefined if `filename` does not contain a path) and a `suffix`--the
572
- * filename at the end of a path
573
- *
574
- * @protected
575
- */
576
- _splitFilename(filename) {
577
- const filenameParts = filename.split("/");
578
- return {
579
- prefix: filenameParts.length > 1 ? filenameParts.slice(0, filenameParts.length - 1).join("/") : undefined,
580
- suffix: filenameParts[filenameParts.length - 1]
581
- };
582
- }
583
- }
584
- export default SolutionStore.Store;
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ /** @license
7
+ * Copyright 2022 Esri
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * http://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ import { createStore } from "@stencil/store";
22
+ import { EUpdateType } from './interfaces';
23
+ import { EFileType, SolutionTemplateFormatVersion, copyFilesToStorageItem, generateStorageFilePaths, getItemDataAsJson, getProp, getThumbnailFromStorageItem, isSupportedFileType, removeItemResourceFile, setCreateProp, updateItem, updateItemResourceFile } from '@esri/solution-common';
24
+ const EmptySolutionStore = {
25
+ solutionItemId: "",
26
+ defaultWkid: undefined,
27
+ solutionData: { metadata: {}, templates: [] },
28
+ templateEdits: {},
29
+ featureServices: [],
30
+ spatialReferenceInfo: {
31
+ enabled: false,
32
+ services: {},
33
+ spatialReference: undefined
34
+ }
35
+ };
36
+ class SolutionStore {
37
+ /**
38
+ * Creates singleton instance when accessed; default export from module.
39
+ *
40
+ * @returns Static instance of the class
41
+ */
42
+ static get Store() {
43
+ return this._instance || (this._instance = new this());
44
+ }
45
+ /**
46
+ * Creates an empty store.
47
+ *
48
+ * @protected
49
+ */
50
+ constructor() {
51
+ this._hasChanges = false;
52
+ this._store = createStore(Object.assign({}, EmptySolutionStore));
53
+ }
54
+ /**
55
+ * Returns the stored information of an item.
56
+ *
57
+ * @param itemId Id of item to fetch
58
+ *
59
+ * @returns Item information or `undefined` if not found
60
+ */
61
+ getItemInfo(itemId) {
62
+ const templates = this._store.get("solutionData").templates;
63
+ let template;
64
+ templates.some((t) => {
65
+ if (itemId == t.itemId) {
66
+ template = t;
67
+ return true;
68
+ }
69
+ return false;
70
+ });
71
+ return template;
72
+ }
73
+ /**
74
+ * Returns a top-level store property: solutionItemId, defaultWkid, etc.
75
+ *
76
+ * @param propName Name of property
77
+ *
78
+ * @returns Value of property
79
+ */
80
+ getStoreInfo(propName) {
81
+ return this._store.get(propName);
82
+ }
83
+ /**
84
+ * Loads a Solution into the store from AGO.
85
+ *
86
+ * @param solutionItemId Id of the solution represented in the store
87
+ * @param authentication Credentials for fetching information to be loaded into the store
88
+ *
89
+ * @returns Promise that resolves when task is done
90
+ */
91
+ async loadSolution(solutionItemId, authentication) {
92
+ this._authentication = authentication;
93
+ const solutionData = await getItemDataAsJson(solutionItemId, authentication);
94
+ if (solutionData) {
95
+ const defaultWkid = getProp(solutionData, "params.wkid.default");
96
+ await this._prepareSolutionItemsForEditing(solutionItemId, solutionData.templates, authentication);
97
+ const featureServices = this._getFeatureServices(solutionData.templates);
98
+ const spatialReferenceInfo = this._getSpatialReferenceInfo(featureServices, defaultWkid);
99
+ this._store.set("solutionItemId", solutionItemId);
100
+ this._store.set("defaultWkid", defaultWkid);
101
+ this._store.set("solutionData", solutionData);
102
+ this._store.set("featureServices", featureServices);
103
+ this._store.set("spatialReferenceInfo", spatialReferenceInfo);
104
+ }
105
+ this._flagStoreHasChanges(false);
106
+ }
107
+ /**
108
+ * Queues the replacement of the thumbnail associated with a template item in the store.
109
+ *
110
+ * @param itemEdit Details of the template to modify, containing the new thumbnail in the `thumbnail`
111
+ * property
112
+ */
113
+ replaceItemThumbnail(itemEdit) {
114
+ // Flag the current thumbnail and any replacements for removal
115
+ itemEdit.resourceFilePaths.forEach((path) => {
116
+ if (path.type === EFileType.Thumbnail) {
117
+ if (path.updateType === EUpdateType.None) {
118
+ // Existing thumbnail not yet flagged for removal
119
+ path.updateType = EUpdateType.Remove;
120
+ }
121
+ else if (path.updateType === EUpdateType.Add || path.updateType === EUpdateType.Update) {
122
+ // An earlier replacement
123
+ path.updateType = EUpdateType.Obsolete;
124
+ }
125
+ }
126
+ });
127
+ // Remove any replacements already queued
128
+ itemEdit.resourceFilePaths =
129
+ itemEdit.resourceFilePaths.filter((path) => path.updateType != EUpdateType.Obsolete);
130
+ // Add the new thumbnail to the store item
131
+ itemEdit.resourceFilePaths.push({
132
+ blob: itemEdit.thumbnail,
133
+ filename: itemEdit.thumbnail.name,
134
+ type: EFileType.Thumbnail,
135
+ updateType: EUpdateType.Add
136
+ });
137
+ // Update the store
138
+ this.setItemInfo(itemEdit);
139
+ }
140
+ /**
141
+ * Writes a Solution into AGO from the store. Must use `loadSolution` to continue with solution.
142
+ *
143
+ * @returns Promise that resolves when task is done
144
+ */
145
+ async saveSolution() {
146
+ // Update the templates in the original solution item data
147
+ const solutionItemId = this._store.get("solutionItemId");
148
+ const solutionData = this._store.get("solutionData");
149
+ const spatialReferenceInfo = this._store.get("spatialReferenceInfo");
150
+ await this._prepareSolutionItemsForStorage(solutionItemId, solutionData.templates, this._authentication);
151
+ const updatedDefaultWkid = this._setSpatialReferenceInfo(spatialReferenceInfo, solutionData.templates);
152
+ if (updatedDefaultWkid) {
153
+ setCreateProp(solutionData, "params.wkid", {
154
+ "label": "Spatial Reference",
155
+ "default": updatedDefaultWkid,
156
+ "valueType": "spatialReference",
157
+ "attributes": {
158
+ "required": "true"
159
+ }
160
+ });
161
+ }
162
+ else {
163
+ setCreateProp(solutionData, "params.wkid", {});
164
+ }
165
+ const itemInfo = {
166
+ id: solutionItemId,
167
+ text: solutionData
168
+ };
169
+ await updateItem(itemInfo, this._authentication);
170
+ }
171
+ /**
172
+ * Stores information for item.
173
+ *
174
+ * @param itemEdit Item information
175
+ */
176
+ setItemInfo(itemEdit) {
177
+ const solutionData = this._store.get("solutionData");
178
+ const templates = solutionData.templates;
179
+ templates.some((t) => {
180
+ if (itemEdit.itemId == t.itemId) {
181
+ t = itemEdit;
182
+ this._store.set("solutionData", solutionData);
183
+ this._flagStoreHasChanges(true);
184
+ return true;
185
+ }
186
+ return false;
187
+ });
188
+ }
189
+ /**
190
+ * Sets a top-level store property: solutionItemId, defaultWkid, etc.
191
+ *
192
+ * @param propName Name of property
193
+ * @param value Value of property
194
+ */
195
+ setStoreInfo(propName, value) {
196
+ this._store.set(propName, value);
197
+ this._flagStoreHasChanges(true);
198
+ }
199
+ //------------------------------------------------------------------------------------------------------------------//
200
+ /** Provides access to protected methods for unit testing.
201
+ *
202
+ * @param methodName Name of protected method to run
203
+ * @param arg1 First argument to forward to method, e.g., for "_prepareSolutionItemsForEditing", `solutionItemId`
204
+ * @param arg2 Second argument to forward to method, e.g., for "_prepareSolutionItemsForEditing", `templates`
205
+ * @param arg3 Third argument to forward to method, e.g., for "_prepareSolutionItemsForEditing", `authentication`
206
+ *
207
+ * @returns
208
+ */
209
+ _testAccess(methodName, arg1, arg2, arg3) {
210
+ switch (methodName) {
211
+ case "_emptyTheStore":
212
+ this._emptyTheStore();
213
+ break;
214
+ case "_getFeatureServices":
215
+ return this._getFeatureServices(arg1);
216
+ case "_getItemsSharedWithThisGroup":
217
+ return this._getItemsSharedWithThisGroup(arg1, arg2);
218
+ case "_getResourceFilePaths":
219
+ return this._getResourceFilePaths(arg1, arg2, arg3);
220
+ case "_getResourceStorageName":
221
+ return this._getResourceStorageName(arg1, arg2);
222
+ case "_getSpatialReferenceInfo":
223
+ return this._getSpatialReferenceInfo(arg1, arg2);
224
+ case "_prepareSolutionItemsForEditing":
225
+ return this._prepareSolutionItemsForEditing(arg1, arg2, arg3);
226
+ case "_prepareSolutionItemsForStorage":
227
+ return this._prepareSolutionItemsForStorage(arg1, arg2, arg3);
228
+ case "_setSpatialReferenceInfo":
229
+ return this._setSpatialReferenceInfo(arg1, arg2);
230
+ case "_splitFilename":
231
+ return this._splitFilename(arg1);
232
+ }
233
+ return null;
234
+ }
235
+ /**
236
+ * Returns the store to the empty state.
237
+ *
238
+ * @protected
239
+ */
240
+ _emptyTheStore() {
241
+ this._store.set("solutionItemId", EmptySolutionStore.solutionItemId);
242
+ this._store.set("defaultWkid", EmptySolutionStore.defaultWkid);
243
+ this._store.set("solutionData", EmptySolutionStore.solutionData);
244
+ this._store.set("templateEdits", EmptySolutionStore.templateEdits);
245
+ this._store.set("featureServices", EmptySolutionStore.featureServices);
246
+ this._store.set("spatialReferenceInfo", EmptySolutionStore.spatialReferenceInfo);
247
+ }
248
+ /**
249
+ * Sets the store's flag indicating if it has changes and dispatches an event when
250
+ * the flag value changes.
251
+ *
252
+ * @param flagHasChanges Current state of change in the store; if it doesn't match the value saved in this
253
+ * object, an event is dispatched with the new value and the saved value is updated
254
+ *
255
+ * @protected
256
+ */
257
+ _flagStoreHasChanges(flagHasChanges) {
258
+ // Event for notifying if the store has changes or not
259
+ if (this._hasChanges !== flagHasChanges) {
260
+ window.dispatchEvent(new CustomEvent("solutionStoreHasChanges", {
261
+ detail: flagHasChanges,
262
+ bubbles: true,
263
+ cancelable: false,
264
+ composed: true
265
+ }));
266
+ }
267
+ this._hasChanges = flagHasChanges;
268
+ }
269
+ /**
270
+ * Gets a list of Feature Services that are not views.
271
+ *
272
+ * @param templates A list of item templates from the solution
273
+ *
274
+ * @returns a list of feature services
275
+ *
276
+ * @protected
277
+ */
278
+ _getCustomizableFeatureServices(templates) {
279
+ return templates.reduce((prev, cur) => {
280
+ if (cur.type === "Feature Service" && cur.item.typeKeywords.indexOf("View Service") < 0) {
281
+ prev.push(cur);
282
+ }
283
+ return prev;
284
+ }, []);
285
+ }
286
+ /**
287
+ * Gets a list of Feature Services that are not views along with an enabled property that indicates
288
+ * if the service currently uses a spatial reference variable.
289
+ *
290
+ * @param templates A list of item templates from the solution
291
+ *
292
+ * @returns a list of feature service names and an enabled property to indicate
293
+ * if they currently use a spatial reference variable.
294
+ *
295
+ * @protected
296
+ */
297
+ _getFeatureServices(templates) {
298
+ const customizeableFeatureServices = this._getCustomizableFeatureServices(templates);
299
+ return customizeableFeatureServices.map((fs) => {
300
+ const name = fs.item.title || fs.item.name;
301
+ const wkid = getProp(fs, "properties.service.spatialReference.wkid");
302
+ return { name, enabled: wkid.toString().startsWith("{{params.wkid||") };
303
+ });
304
+ }
305
+ /**
306
+ * Capture the key item details for a given group template
307
+ *
308
+ * @param template one of the templates from the current solution
309
+ * @param templates full list of templates
310
+ *
311
+ * @returns a list of IItemShare objects
312
+ *
313
+ * @protected
314
+ */
315
+ _getItemsSharedWithThisGroup(template, templates) {
316
+ return templates.reduce((prev, cur) => {
317
+ if (cur.itemId !== template.itemId && cur.type !== "Group") {
318
+ prev.push({
319
+ id: cur.itemId,
320
+ title: cur.item.name || cur.item.title,
321
+ isShared: (cur.groups || []).indexOf(template.itemId) > -1,
322
+ shareItem: (cur.groups || []).indexOf(template.itemId) > -1,
323
+ type: cur.type,
324
+ typeKeywords: cur.item.typeKeywords
325
+ });
326
+ }
327
+ return prev;
328
+ }, []);
329
+ }
330
+ /**
331
+ * Generate storage file paths from the solution template
332
+ *
333
+ * @param solutionId the id of the current solution
334
+ * @param template the current template from the solution
335
+ * @param portal Portal where file is to be found
336
+ *
337
+ * @returns a list of resource file infos
338
+ *
339
+ * @protected
340
+ */
341
+ _getResourceFilePaths(solutionId, template, portal) {
342
+ const resourceFilePaths = generateStorageFilePaths(portal, solutionId, template.resources, SolutionTemplateFormatVersion);
343
+ return resourceFilePaths.map((fp) => {
344
+ fp.updateType = EUpdateType.None;
345
+ return fp;
346
+ });
347
+ }
348
+ /**
349
+ * Generates a resource name from a storage file path.
350
+ *
351
+ * @param templateItemId The id of the template item whose resource this is; used as a prefix in the resource name
352
+ * @param resourcePath Resource file infos
353
+ *
354
+ * @returns The resource name to use when attaching a resource to the item.
355
+ *
356
+ * @protected
357
+ */
358
+ _getResourceStorageName(templateItemId, resourcePath) {
359
+ /* Converts
360
+ {
361
+ "url": "https://myorg.maps.arcgis.com/sharing/rest/content/items/ca924c6db7d247b9a31fa30532fb5913/resources/79036430a6274e17ae915d0278b8569c_info_metadata/metadata.xml",
362
+ "type": 2,
363
+ "folder": "",
364
+ "filename": "metadata.xml",
365
+ "updateType": 3
366
+ }
367
+ to
368
+ ca924c6db7d247b9a31fa30532fb5913_info_metadata/metadata.xml
369
+ */
370
+ let prefix = templateItemId;
371
+ switch (resourcePath.type) {
372
+ case EFileType.Data:
373
+ prefix = `${prefix}_info_data`;
374
+ break;
375
+ case EFileType.Info:
376
+ prefix = `${prefix}_info`;
377
+ break;
378
+ case EFileType.Metadata:
379
+ prefix = `${prefix}_info_metadata`;
380
+ break;
381
+ case EFileType.Resource:
382
+ break;
383
+ case EFileType.Thumbnail:
384
+ prefix = `${prefix}_info_thumbnail`;
385
+ break;
386
+ }
387
+ let filenameToUse = resourcePath.filename;
388
+ if (resourcePath.type == EFileType.Data && filenameToUse && !isSupportedFileType(filenameToUse)) {
389
+ filenameToUse = filenameToUse + ".zip";
390
+ prefix += "z";
391
+ }
392
+ const filename = resourcePath.folder ? resourcePath.folder + "/" + filenameToUse : filenameToUse;
393
+ return prefix + "/" + filename;
394
+ }
395
+ /**
396
+ * Extracts basic spatial reference information that is used to determine if a custom spatial reference parameter will
397
+ * be exposed while deploying this solution and if so what feature services will support it and what will the default wkid be
398
+ *
399
+ * @param services a list of objects with service name and enabled property (indicates if they currently use a spatial reference var)
400
+ * @param data the data object of a solution item
401
+ *
402
+ * @returns an object that stores if a custom spatial reference parameter is enabled/disabled,
403
+ * a list of services and if they are enabled/disabled, and the default wkid
404
+ *
405
+ * @protected
406
+ */
407
+ _getSpatialReferenceInfo(services, defaultWkid) {
408
+ const defaultServices = {};
409
+ services.forEach(service => {
410
+ defaultServices[service.name] = service.enabled;
411
+ });
412
+ return {
413
+ enabled: defaultWkid !== undefined,
414
+ services: defaultServices,
415
+ spatialReference: defaultWkid ? defaultWkid : undefined
416
+ };
417
+ }
418
+ /**
419
+ * Create and store template items for the editor.
420
+ *
421
+ * @param solutionItemId Id of the solution represented in the store
422
+ * @param templates A list of item templates from the solution
423
+ * @param authentication Credentials for fetching information to be loaded into the store
424
+ *
425
+ * @returns a promise that resolves when the templates are ready
426
+ *
427
+ * @protected
428
+ */
429
+ async _prepareSolutionItemsForEditing(solutionItemId, templates, authentication) {
430
+ const thumbnailPromises = [];
431
+ // Augment the template with paths to resources and group information, if relevant
432
+ templates.forEach((t) => {
433
+ t.resourceFilePaths = this._getResourceFilePaths(solutionItemId, t, authentication.portal);
434
+ thumbnailPromises.push(t.resourceFilePaths.length > 0 ?
435
+ getThumbnailFromStorageItem(authentication, t.resourceFilePaths) :
436
+ Promise.resolve());
437
+ t.groupDetails = t.type === "Group" ? this._getItemsSharedWithThisGroup(t, templates) : [];
438
+ });
439
+ // Augment the template with its thumbnail file
440
+ const thumbnails = await Promise.all(thumbnailPromises);
441
+ templates.forEach((t, i) => {
442
+ t.thumbnail = thumbnails[i] ? thumbnails[i] : undefined;
443
+ });
444
+ return Promise.resolve();
445
+ }
446
+ /**
447
+ * Prepares template items for sending to AGO by updating the resources held by the solution item.
448
+ *
449
+ * @param solutionItemId Id of the solution represented in the store
450
+ * @param templates A list of item templates from the solution
451
+ * @param authentication Credentials for fetching information to be loaded into the store
452
+ *
453
+ * @returns a promise that resolves when the templates are ready
454
+ *
455
+ * @protected
456
+ */
457
+ async _prepareSolutionItemsForStorage(solutionItemId, templates, authentication) {
458
+ const resourceAdds = [];
459
+ // Update the resources and remove the augmentation from a template
460
+ const pendingTasks = [];
461
+ templates.forEach((t) => {
462
+ // Run through the resourceFilePaths for the item seeking modifications to be made to the solution item's
463
+ // collection of resources; queue them for batching
464
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
465
+ t.resourceFilePaths.forEach(async (path) => {
466
+ const storageName = this._getResourceStorageName(t.itemId, path);
467
+ switch (path.updateType) {
468
+ case EUpdateType.Add:
469
+ const { prefix, suffix } = this._splitFilename(storageName);
470
+ t.resources.push(storageName);
471
+ resourceAdds.push({
472
+ itemId: t.itemId,
473
+ file: path.blob,
474
+ folder: prefix,
475
+ filename: suffix
476
+ });
477
+ break;
478
+ case EUpdateType.Update:
479
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
480
+ pendingTasks.push(new Promise(async (resolve) => {
481
+ try {
482
+ await updateItemResourceFile(solutionItemId, storageName, path.blob, authentication);
483
+ }
484
+ catch (err) {
485
+ console.log("Unable to update " + storageName + " for item " + t.itemId + ": " + JSON.stringify(err));
486
+ }
487
+ resolve();
488
+ }));
489
+ break;
490
+ case EUpdateType.Remove:
491
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
492
+ pendingTasks.push(new Promise(async (resolve) => {
493
+ try {
494
+ await removeItemResourceFile(solutionItemId, storageName, authentication);
495
+ t.resources = t.resources.filter((path) => path !== storageName);
496
+ }
497
+ catch (err) {
498
+ console.log("Unable to remove " + storageName + " for item " + t.itemId + ": " + JSON.stringify(err));
499
+ }
500
+ resolve();
501
+ }));
502
+ break;
503
+ }
504
+ return Promise.resolve();
505
+ });
506
+ delete t.resourceFilePaths;
507
+ delete t.thumbnail;
508
+ delete t.groupDetails;
509
+ });
510
+ // Update the resources
511
+ return Promise.all(pendingTasks)
512
+ .then(async () => {
513
+ if (resourceAdds.length > 0) {
514
+ await copyFilesToStorageItem(resourceAdds, solutionItemId, authentication);
515
+ }
516
+ return Promise.resolve();
517
+ });
518
+ }
519
+ /**
520
+ * Stores basic spatial reference information that is used to determine if a custom spatial reference parameter will
521
+ * be exposed while deploying this solution and if so what feature services will support it and what will the default wkid be
522
+ *
523
+ * @param spatialReferenceInfo The configuration settings for a custom spatial reference
524
+ * @param templates The templates in the current solution, which will be updated in place if
525
+ * `spatialReferenceInfo.enabled` is true
526
+ *
527
+ * @returns The new default wkid
528
+ *
529
+ * @protected
530
+ */
531
+ _setSpatialReferenceInfo(spatialReferenceInfo, templates) {
532
+ const customizingPrefix = "{{params.wkid||";
533
+ const customizeableFeatureServices = this._getCustomizableFeatureServices(templates);
534
+ if (spatialReferenceInfo.enabled) {
535
+ // Enable or disable this feature in each service
536
+ customizeableFeatureServices.forEach((fs) => {
537
+ const name = fs.item.title || fs.item.name;
538
+ let wkid;
539
+ if (spatialReferenceInfo.services[name]) { // enabled
540
+ wkid = `{{params.wkid||${spatialReferenceInfo.spatialReference}}}`;
541
+ setCreateProp(fs, "properties.service.spatialReference.wkid", wkid);
542
+ }
543
+ else { // disabled
544
+ wkid = getProp(fs, "properties.service.spatialReference.wkid");
545
+ // Remove customizing prefix if present
546
+ if (wkid.toString().startsWith(customizingPrefix)) {
547
+ wkid = wkid.toString().substring(customizingPrefix.length, wkid.length - 2);
548
+ setCreateProp(fs, "properties.service.spatialReference.wkid", wkid);
549
+ }
550
+ }
551
+ });
552
+ return spatialReferenceInfo.spatialReference;
553
+ }
554
+ else {
555
+ // Disable this feature in each service
556
+ customizeableFeatureServices.forEach((fs) => {
557
+ const wkid = getProp(fs, "properties.service.spatialReference.wkid");
558
+ // Remove customizing prefix if present
559
+ if (wkid.toString().startsWith(customizingPrefix)) {
560
+ setCreateProp(fs, "properties.service.spatialReference.wkid", wkid.toString().substring(customizingPrefix.length, wkid.length - 2));
561
+ }
562
+ });
563
+ return undefined;
564
+ }
565
+ }
566
+ /**
567
+ * Splits a pathed filename into a last term and a prefix; e.g., "a/b/c" returns "c" with a prefix of "a/b".
568
+ *
569
+ * @param filename Filename with optional path
570
+ *
571
+ * @returns An object consisting of a `prefix` (undefined if `filename` does not contain a path) and a `suffix`--the
572
+ * filename at the end of a path
573
+ *
574
+ * @protected
575
+ */
576
+ _splitFilename(filename) {
577
+ const filenameParts = filename.split("/");
578
+ return {
579
+ prefix: filenameParts.length > 1 ? filenameParts.slice(0, filenameParts.length - 1).join("/") : undefined,
580
+ suffix: filenameParts[filenameParts.length - 1]
581
+ };
582
+ }
583
+ }
584
+ export default SolutionStore.Store;