@esri/solutions-components 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (989) hide show
  1. package/dist/assets/t9n/solution-config-modal/resources.json +22 -0
  2. package/dist/assets/t9n/solution-config-modal/resources_en.json +22 -0
  3. package/dist/cjs/ExpandToggle-73df0d51.js +2 -0
  4. package/dist/cjs/ExpandToggle-73df0d51.js.map +1 -0
  5. package/dist/cjs/Heading-6b7b374c.js +2 -0
  6. package/dist/cjs/Heading-6b7b374c.js.map +1 -0
  7. package/dist/cjs/_commonjsHelpers-6aafa5de.js +2 -0
  8. package/dist/cjs/_commonjsHelpers-6aafa5de.js.map +1 -0
  9. package/dist/cjs/app-globals-2f48e57e.js +2 -0
  10. package/dist/cjs/app-globals-2f48e57e.js.map +1 -0
  11. package/dist/cjs/array-ace6d4b5.js +2 -0
  12. package/dist/cjs/array-ace6d4b5.js.map +1 -0
  13. package/dist/cjs/buffer-tools_6.cjs.entry.js +2 -0
  14. package/dist/cjs/buffer-tools_6.cjs.entry.js.map +1 -0
  15. package/dist/cjs/calcite-accordion-item.cjs.entry.js +2 -0
  16. package/dist/cjs/calcite-accordion-item.cjs.entry.js.map +1 -0
  17. package/dist/cjs/calcite-accordion.cjs.entry.js +2 -0
  18. package/dist/cjs/calcite-accordion.cjs.entry.js.map +1 -0
  19. package/dist/cjs/calcite-action-bar_6.cjs.entry.js +2 -0
  20. package/dist/cjs/calcite-action-bar_6.cjs.entry.js.map +1 -0
  21. package/dist/cjs/calcite-action-group.cjs.entry.js +2 -0
  22. package/dist/cjs/calcite-action-group.cjs.entry.js.map +1 -0
  23. package/dist/cjs/calcite-action-menu_2.cjs.entry.js +20 -401
  24. package/dist/cjs/calcite-action-menu_2.cjs.entry.js.map +1 -0
  25. package/dist/cjs/calcite-action-pad.cjs.entry.js +2 -0
  26. package/dist/cjs/calcite-action-pad.cjs.entry.js.map +1 -0
  27. package/dist/cjs/calcite-action_2.cjs.entry.js +425 -71
  28. package/dist/cjs/calcite-action_2.cjs.entry.js.map +1 -0
  29. package/dist/cjs/calcite-alert.cjs.entry.js +2 -0
  30. package/dist/cjs/calcite-alert.cjs.entry.js.map +1 -0
  31. package/dist/cjs/calcite-avatar.cjs.entry.js +2 -0
  32. package/dist/cjs/calcite-avatar.cjs.entry.js.map +1 -0
  33. package/dist/cjs/calcite-block-section.cjs.entry.js +2 -0
  34. package/dist/cjs/calcite-block-section.cjs.entry.js.map +1 -0
  35. package/dist/cjs/calcite-block.cjs.entry.js +2 -0
  36. package/dist/cjs/calcite-block.cjs.entry.js.map +1 -0
  37. package/dist/cjs/calcite-button.cjs.entry.js +2 -0
  38. package/dist/cjs/calcite-button.cjs.entry.js.map +1 -0
  39. package/dist/cjs/calcite-card.cjs.entry.js +2 -0
  40. package/dist/cjs/calcite-card.cjs.entry.js.map +1 -0
  41. package/dist/cjs/calcite-checkbox.cjs.entry.js +2 -0
  42. package/dist/cjs/calcite-checkbox.cjs.entry.js.map +1 -0
  43. package/dist/cjs/calcite-chip.cjs.entry.js +2 -0
  44. package/dist/cjs/calcite-chip.cjs.entry.js.map +1 -0
  45. package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js +2 -0
  46. package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js.map +1 -0
  47. package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js +2 -0
  48. package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js.map +1 -0
  49. package/dist/cjs/calcite-color-picker.cjs.entry.js +2 -0
  50. package/dist/cjs/calcite-color-picker.cjs.entry.js.map +1 -0
  51. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +2 -0
  52. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js.map +1 -0
  53. package/dist/cjs/calcite-combobox_3.cjs.entry.js +2 -0
  54. package/dist/cjs/calcite-combobox_3.cjs.entry.js.map +1 -0
  55. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +2 -0
  56. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js.map +1 -0
  57. package/dist/cjs/calcite-date-picker.cjs.entry.js +2 -0
  58. package/dist/cjs/calcite-date-picker.cjs.entry.js.map +1 -0
  59. package/dist/cjs/calcite-dropdown-group.cjs.entry.js +2 -0
  60. package/dist/cjs/calcite-dropdown-group.cjs.entry.js.map +1 -0
  61. package/dist/cjs/calcite-dropdown-item.cjs.entry.js +2 -0
  62. package/dist/cjs/calcite-dropdown-item.cjs.entry.js.map +1 -0
  63. package/dist/cjs/calcite-dropdown.cjs.entry.js +2 -0
  64. package/dist/cjs/calcite-dropdown.cjs.entry.js.map +1 -0
  65. package/dist/cjs/calcite-fab.cjs.entry.js +2 -0
  66. package/dist/cjs/calcite-fab.cjs.entry.js.map +1 -0
  67. package/dist/cjs/calcite-filter.cjs.entry.js +2 -0
  68. package/dist/cjs/calcite-filter.cjs.entry.js.map +1 -0
  69. package/dist/cjs/calcite-flow-item.cjs.entry.js +2 -0
  70. package/dist/cjs/calcite-flow-item.cjs.entry.js.map +1 -0
  71. package/dist/cjs/calcite-flow.cjs.entry.js +2 -0
  72. package/dist/cjs/calcite-flow.cjs.entry.js.map +1 -0
  73. package/dist/cjs/calcite-graph.cjs.entry.js +2 -0
  74. package/dist/cjs/calcite-graph.cjs.entry.js.map +1 -0
  75. package/dist/cjs/calcite-handle.cjs.entry.js +2 -0
  76. package/dist/cjs/calcite-handle.cjs.entry.js.map +1 -0
  77. package/dist/cjs/calcite-icon.cjs.entry.js +2 -0
  78. package/dist/cjs/calcite-icon.cjs.entry.js.map +1 -0
  79. package/dist/cjs/calcite-inline-editable.cjs.entry.js +2 -0
  80. package/dist/cjs/calcite-inline-editable.cjs.entry.js.map +1 -0
  81. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +2 -0
  82. package/dist/cjs/calcite-input-date-picker.cjs.entry.js.map +1 -0
  83. package/dist/cjs/calcite-input-number.cjs.entry.js +2 -0
  84. package/dist/cjs/calcite-input-number.cjs.entry.js.map +1 -0
  85. package/dist/cjs/calcite-input-text.cjs.entry.js +2 -0
  86. package/dist/cjs/calcite-input-text.cjs.entry.js.map +1 -0
  87. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +2 -0
  88. package/dist/cjs/calcite-input-time-picker.cjs.entry.js.map +1 -0
  89. package/dist/cjs/calcite-input_2.cjs.entry.js +2 -0
  90. package/dist/cjs/calcite-input_2.cjs.entry.js.map +1 -0
  91. package/dist/cjs/calcite-label.cjs.entry.js +2 -0
  92. package/dist/cjs/calcite-label.cjs.entry.js.map +1 -0
  93. package/dist/cjs/calcite-link.cjs.entry.js +2 -0
  94. package/dist/cjs/calcite-link.cjs.entry.js.map +1 -0
  95. package/dist/cjs/calcite-list-item-group.cjs.entry.js +2 -0
  96. package/dist/cjs/calcite-list-item-group.cjs.entry.js.map +1 -0
  97. package/dist/cjs/calcite-list_2.cjs.entry.js +2 -0
  98. package/dist/cjs/calcite-list_2.cjs.entry.js.map +1 -0
  99. package/dist/cjs/calcite-loader.cjs.entry.js +97 -0
  100. package/dist/cjs/calcite-loader.cjs.entry.js.map +1 -0
  101. package/dist/cjs/{solution-configuration.cjs.entry.js → calcite-modal_2.cjs.entry.js} +452 -6
  102. package/dist/cjs/calcite-modal_2.cjs.entry.js.map +1 -0
  103. package/dist/cjs/calcite-option-group.cjs.entry.js +2 -0
  104. package/dist/cjs/calcite-option-group.cjs.entry.js.map +1 -0
  105. package/dist/cjs/calcite-option_2.cjs.entry.js +2 -0
  106. package/dist/cjs/calcite-option_2.cjs.entry.js.map +1 -0
  107. package/dist/cjs/calcite-pagination.cjs.entry.js +2 -0
  108. package/dist/cjs/calcite-pagination.cjs.entry.js.map +1 -0
  109. package/dist/cjs/{calcite-shell-panel_14.cjs.entry.js → calcite-panel_12.cjs.entry.js} +469 -711
  110. package/dist/cjs/calcite-panel_12.cjs.entry.js.map +1 -0
  111. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +2 -0
  112. package/dist/cjs/calcite-pick-list-group.cjs.entry.js.map +1 -0
  113. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +2 -0
  114. package/dist/cjs/calcite-pick-list-item.cjs.entry.js.map +1 -0
  115. package/dist/cjs/calcite-pick-list.cjs.entry.js +2 -0
  116. package/dist/cjs/calcite-pick-list.cjs.entry.js.map +1 -0
  117. package/dist/cjs/calcite-popover-manager.cjs.entry.js +2 -0
  118. package/dist/cjs/calcite-popover-manager.cjs.entry.js.map +1 -0
  119. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +2 -0
  120. package/dist/cjs/calcite-radio-button-group.cjs.entry.js.map +1 -0
  121. package/dist/cjs/calcite-radio-button.cjs.entry.js +2 -0
  122. package/dist/cjs/calcite-radio-button.cjs.entry.js.map +1 -0
  123. package/dist/cjs/calcite-rating.cjs.entry.js +2 -0
  124. package/dist/cjs/calcite-rating.cjs.entry.js.map +1 -0
  125. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +2 -0
  126. package/dist/cjs/calcite-shell-center-row.cjs.entry.js.map +1 -0
  127. package/dist/cjs/calcite-sortable-list.cjs.entry.js +2 -0
  128. package/dist/cjs/calcite-sortable-list.cjs.entry.js.map +1 -0
  129. package/dist/cjs/calcite-split-button.cjs.entry.js +2 -0
  130. package/dist/cjs/calcite-split-button.cjs.entry.js.map +1 -0
  131. package/dist/cjs/calcite-stepper-item.cjs.entry.js +2 -0
  132. package/dist/cjs/calcite-stepper-item.cjs.entry.js.map +1 -0
  133. package/dist/cjs/calcite-stepper.cjs.entry.js +2 -0
  134. package/dist/cjs/calcite-stepper.cjs.entry.js.map +1 -0
  135. package/dist/cjs/calcite-switch.cjs.entry.js +2 -0
  136. package/dist/cjs/calcite-switch.cjs.entry.js.map +1 -0
  137. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +2 -0
  138. package/dist/cjs/calcite-tile-select-group.cjs.entry.js.map +1 -0
  139. package/dist/cjs/calcite-tile-select.cjs.entry.js +2 -0
  140. package/dist/cjs/calcite-tile-select.cjs.entry.js.map +1 -0
  141. package/dist/cjs/calcite-tile.cjs.entry.js +2 -0
  142. package/dist/cjs/calcite-tile.cjs.entry.js.map +1 -0
  143. package/dist/cjs/calcite-time-picker.cjs.entry.js +2 -0
  144. package/dist/cjs/calcite-time-picker.cjs.entry.js.map +1 -0
  145. package/dist/cjs/calcite-tip-group.cjs.entry.js +2 -0
  146. package/dist/cjs/calcite-tip-group.cjs.entry.js.map +1 -0
  147. package/dist/cjs/calcite-tip-manager.cjs.entry.js +2 -0
  148. package/dist/cjs/calcite-tip-manager.cjs.entry.js.map +1 -0
  149. package/dist/cjs/calcite-tip.cjs.entry.js +2 -0
  150. package/dist/cjs/calcite-tip.cjs.entry.js.map +1 -0
  151. package/dist/cjs/calcite-tooltip-manager.cjs.entry.js +2 -0
  152. package/dist/cjs/calcite-tooltip-manager.cjs.entry.js.map +1 -0
  153. package/dist/cjs/calcite-tooltip.cjs.entry.js +2 -0
  154. package/dist/cjs/calcite-tooltip.cjs.entry.js.map +1 -0
  155. package/dist/cjs/calcite-tree_3.cjs.entry.js +2 -0
  156. package/dist/cjs/calcite-tree_3.cjs.entry.js.map +1 -0
  157. package/dist/cjs/check-list.cjs.entry.js +2 -0
  158. package/dist/cjs/check-list.cjs.entry.js.map +1 -0
  159. package/dist/cjs/conditionalSlot-2defe83d.js +2 -0
  160. package/dist/cjs/conditionalSlot-2defe83d.js.map +1 -0
  161. package/dist/cjs/config-buffer-tools.cjs.entry.js +2 -0
  162. package/dist/cjs/config-buffer-tools.cjs.entry.js.map +1 -0
  163. package/dist/cjs/config-draw-tools.cjs.entry.js +2 -0
  164. package/dist/cjs/config-draw-tools.cjs.entry.js.map +1 -0
  165. package/dist/cjs/config-layer-picker.cjs.entry.js +2 -0
  166. package/dist/cjs/config-layer-picker.cjs.entry.js.map +1 -0
  167. package/dist/cjs/config-pdf-download.cjs.entry.js +2 -0
  168. package/dist/cjs/config-pdf-download.cjs.entry.js.map +1 -0
  169. package/dist/cjs/date-e21b2052.js +2 -0
  170. package/dist/cjs/date-e21b2052.js.map +1 -0
  171. package/dist/cjs/debounce-69c3bada.js +2 -0
  172. package/dist/cjs/debounce-69c3bada.js.map +1 -0
  173. package/dist/cjs/dom-4a580af6.js +2 -0
  174. package/dist/cjs/dom-4a580af6.js.map +1 -0
  175. package/dist/cjs/filter-325f654f.js +2 -0
  176. package/dist/cjs/filter-325f654f.js.map +1 -0
  177. package/dist/cjs/floating-ui-ca1bcead.js +2 -0
  178. package/dist/cjs/floating-ui-ca1bcead.js.map +1 -0
  179. package/dist/cjs/form-45849654.js +2 -0
  180. package/dist/cjs/form-45849654.js.map +1 -0
  181. package/dist/cjs/guid-84ac4d91.js +2 -0
  182. package/dist/cjs/guid-84ac4d91.js.map +1 -0
  183. package/dist/cjs/index-7af21b6f.js +2 -0
  184. package/dist/cjs/index-7af21b6f.js.map +1 -0
  185. package/dist/cjs/index-a86078a0.js +2 -0
  186. package/dist/cjs/index-a86078a0.js.map +1 -0
  187. package/dist/cjs/index-d7f9770d.js +2 -0
  188. package/dist/cjs/index-d7f9770d.js.map +1 -0
  189. package/dist/cjs/index.cjs.js +2 -0
  190. package/dist/cjs/index.cjs.js.map +1 -0
  191. package/dist/cjs/interactive-0a68ab99.js +2 -0
  192. package/dist/cjs/interactive-0a68ab99.js.map +1 -0
  193. package/dist/cjs/interfaces-ab603e16.js +2 -0
  194. package/dist/cjs/interfaces-ab603e16.js.map +1 -0
  195. package/dist/cjs/interfaces-e76f31e9.js +2 -0
  196. package/dist/cjs/interfaces-e76f31e9.js.map +1 -0
  197. package/dist/cjs/key-55aca5c0.js +2 -0
  198. package/dist/cjs/key-55aca5c0.js.map +1 -0
  199. package/dist/cjs/label-24fcd8a5.js +2 -0
  200. package/dist/cjs/label-24fcd8a5.js.map +1 -0
  201. package/dist/cjs/labelFormats-3236d2e0.js +2 -0
  202. package/dist/cjs/labelFormats-3236d2e0.js.map +1 -0
  203. package/dist/cjs/loadModules-38269f99.js +2 -0
  204. package/dist/cjs/loadModules-38269f99.js.map +1 -0
  205. package/dist/cjs/loader.cjs.js +3 -1
  206. package/dist/cjs/loader.cjs.js.map +1 -0
  207. package/dist/cjs/locale-73cab8e8.js +2 -0
  208. package/dist/cjs/locale-73cab8e8.js.map +1 -0
  209. package/dist/cjs/locale-746a095d.js +2 -0
  210. package/dist/cjs/locale-746a095d.js.map +1 -0
  211. package/dist/cjs/map-search.cjs.entry.js +2 -0
  212. package/dist/cjs/map-search.cjs.entry.js.map +1 -0
  213. package/dist/cjs/mapViewUtils-67cfc412.js +2 -0
  214. package/dist/cjs/mapViewUtils-67cfc412.js.map +1 -0
  215. package/dist/cjs/math-460fffaf.js +2 -0
  216. package/dist/cjs/math-460fffaf.js.map +1 -0
  217. package/dist/cjs/nonChromiumPlatformUtils-7a6a84d2.js +2 -0
  218. package/dist/cjs/nonChromiumPlatformUtils-7a6a84d2.js.map +1 -0
  219. package/dist/cjs/observers-5311faf8.js +2 -0
  220. package/dist/cjs/observers-5311faf8.js.map +1 -0
  221. package/dist/cjs/openCloseComponent-bf986132.js +2 -0
  222. package/dist/cjs/openCloseComponent-bf986132.js.map +1 -0
  223. package/dist/cjs/public-notification.cjs.entry.js +2 -0
  224. package/dist/cjs/public-notification.cjs.entry.js.map +1 -0
  225. package/dist/cjs/publicNotificationStore-6a3d40b3.js +2 -0
  226. package/dist/cjs/publicNotificationStore-6a3d40b3.js.map +1 -0
  227. package/dist/cjs/publicNotificationUtils-9d585d8d.js +2 -0
  228. package/dist/cjs/publicNotificationUtils-9d585d8d.js.map +1 -0
  229. package/dist/cjs/resources-1f785471.js +2 -0
  230. package/dist/cjs/resources-1f785471.js.map +1 -0
  231. package/dist/cjs/resources-2260d186.js +2 -0
  232. package/dist/cjs/resources-2260d186.js.map +1 -0
  233. package/dist/cjs/resources-2a9862c7.js +2 -0
  234. package/dist/cjs/resources-2a9862c7.js.map +1 -0
  235. package/dist/cjs/resources-308edbd8.js +2 -0
  236. package/dist/cjs/resources-308edbd8.js.map +1 -0
  237. package/dist/cjs/resources-6152b073.js +2 -0
  238. package/dist/cjs/resources-6152b073.js.map +1 -0
  239. package/dist/cjs/resources-808cfca8.js +2 -0
  240. package/dist/cjs/resources-808cfca8.js.map +1 -0
  241. package/dist/cjs/resources-9c55e05c.js +2 -0
  242. package/dist/cjs/resources-9c55e05c.js.map +1 -0
  243. package/dist/cjs/resources-aa19bf8c.js +2 -0
  244. package/dist/cjs/resources-aa19bf8c.js.map +1 -0
  245. package/dist/cjs/resources-b56bce71.js +2 -0
  246. package/dist/cjs/resources-b56bce71.js.map +1 -0
  247. package/dist/cjs/resources-cc7f63b0.js +2 -0
  248. package/dist/cjs/resources-cc7f63b0.js.map +1 -0
  249. package/dist/cjs/shared-list-render-4c7d84bf.js +2 -0
  250. package/dist/cjs/shared-list-render-4c7d84bf.js.map +1 -0
  251. package/dist/cjs/solution-config-modal.cjs.entry.js +131 -0
  252. package/dist/cjs/solution-config-modal.cjs.entry.js.map +1 -0
  253. package/dist/cjs/{solution-contents_3.cjs.entry.js → solution-contents_7.cjs.entry.js} +665 -2
  254. package/dist/cjs/solution-contents_7.cjs.entry.js.map +1 -0
  255. package/dist/cjs/{solution-store-e2fc11ac.js → solution-store-09b3fc53.js} +5 -3
  256. package/dist/cjs/solution-store-09b3fc53.js.map +1 -0
  257. package/dist/cjs/solutions-components.cjs.js +3 -1
  258. package/dist/cjs/solutions-components.cjs.js.map +1 -0
  259. package/dist/cjs/sortable.esm-bf47019d.js +2 -0
  260. package/dist/cjs/sortable.esm-bf47019d.js.map +1 -0
  261. package/dist/cjs/store-manager.cjs.entry.js +2 -0
  262. package/dist/cjs/store-manager.cjs.entry.js.map +1 -0
  263. package/dist/cjs/time-3f5577cb.js +2 -0
  264. package/dist/cjs/time-3f5577cb.js.map +1 -0
  265. package/dist/cjs/utils-120bbbeb.js +2 -0
  266. package/dist/cjs/utils-120bbbeb.js.map +1 -0
  267. package/dist/cjs/utils-b4236001.js +2 -0
  268. package/dist/cjs/utils-b4236001.js.map +1 -0
  269. package/dist/collection/collection-manifest.json +1 -0
  270. package/dist/collection/components/buffer-tools/buffer-tools.js +1 -0
  271. package/dist/collection/components/buffer-tools/buffer-tools.js.map +1 -0
  272. package/dist/collection/components/check-list/check-list.js +1 -0
  273. package/dist/collection/components/check-list/check-list.js.map +1 -0
  274. package/dist/collection/components/config-buffer-tools/config-buffer-tools.js +1 -0
  275. package/dist/collection/components/config-buffer-tools/config-buffer-tools.js.map +1 -0
  276. package/dist/collection/components/config-draw-tools/config-draw-tools.js +1 -0
  277. package/dist/collection/components/config-draw-tools/config-draw-tools.js.map +1 -0
  278. package/dist/collection/components/config-layer-picker/config-layer-picker.js +1 -0
  279. package/dist/collection/components/config-layer-picker/config-layer-picker.js.map +1 -0
  280. package/dist/collection/components/config-pdf-download/config-pdf-download.js +1 -0
  281. package/dist/collection/components/config-pdf-download/config-pdf-download.js.map +1 -0
  282. package/dist/collection/components/json-editor/json-editor.js +1 -0
  283. package/dist/collection/components/json-editor/json-editor.js.map +1 -0
  284. package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -0
  285. package/dist/collection/components/map-draw-tools/map-draw-tools.js.map +1 -0
  286. package/dist/collection/components/map-layer-picker/map-layer-picker.js +1 -0
  287. package/dist/collection/components/map-layer-picker/map-layer-picker.js.map +1 -0
  288. package/dist/collection/components/map-search/map-search.js +1 -0
  289. package/dist/collection/components/map-search/map-search.js.map +1 -0
  290. package/dist/collection/components/map-select-tools/map-select-tools.js +1 -0
  291. package/dist/collection/components/map-select-tools/map-select-tools.js.map +1 -0
  292. package/dist/collection/components/pdf-download/pdf-download.js +1 -0
  293. package/dist/collection/components/pdf-download/pdf-download.js.map +1 -0
  294. package/dist/collection/components/public-notification/public-notification.js +1 -0
  295. package/dist/collection/components/public-notification/public-notification.js.map +1 -0
  296. package/dist/collection/components/refine-selection/refine-selection.js +1 -0
  297. package/dist/collection/components/refine-selection/refine-selection.js.map +1 -0
  298. package/dist/collection/components/refine-selection-tools/refine-selection-tools.js +1 -0
  299. package/dist/collection/components/refine-selection-tools/refine-selection-tools.js.map +1 -0
  300. package/dist/collection/components/solution-config-modal/solution-config-modal.css +91 -0
  301. package/dist/collection/components/solution-config-modal/solution-config-modal.js +245 -0
  302. package/dist/collection/components/solution-config-modal/solution-config-modal.js.map +1 -0
  303. package/dist/collection/components/solution-configuration/solution-configuration.js +24 -11
  304. package/dist/collection/components/solution-configuration/solution-configuration.js.map +1 -0
  305. package/dist/collection/components/solution-contents/solution-contents.js +1 -0
  306. package/dist/collection/components/solution-contents/solution-contents.js.map +1 -0
  307. package/dist/collection/components/solution-item/solution-item.js +1 -0
  308. package/dist/collection/components/solution-item/solution-item.js.map +1 -0
  309. package/dist/collection/components/solution-item-details/solution-item-details.js +1 -0
  310. package/dist/collection/components/solution-item-details/solution-item-details.js.map +1 -0
  311. package/dist/collection/components/solution-item-icon/solution-item-icon.js +1 -0
  312. package/dist/collection/components/solution-item-icon/solution-item-icon.js.map +1 -0
  313. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -0
  314. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js.map +1 -0
  315. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +1 -0
  316. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js.map +1 -0
  317. package/dist/collection/components/solution-resource-item/solution-resource-item.js +1 -0
  318. package/dist/collection/components/solution-resource-item/solution-resource-item.js.map +1 -0
  319. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +1 -0
  320. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js.map +1 -0
  321. package/dist/collection/components/solution-spatial-ref/spatialreferences.js +1 -0
  322. package/dist/collection/components/solution-spatial-ref/spatialreferences.js.map +1 -0
  323. package/dist/collection/components/solution-template-data/solution-template-data.js +1 -0
  324. package/dist/collection/components/solution-template-data/solution-template-data.js.map +1 -0
  325. package/dist/collection/components/solution-variables/solution-variables.js +1 -0
  326. package/dist/collection/components/solution-variables/solution-variables.js.map +1 -0
  327. package/dist/collection/components/store-manager/store-manager.js +1 -0
  328. package/dist/collection/components/store-manager/store-manager.js.map +1 -0
  329. package/dist/collection/index.js +1 -0
  330. package/dist/collection/index.js.map +1 -0
  331. package/dist/collection/utils/common.js +1 -0
  332. package/dist/collection/utils/common.js.map +1 -0
  333. package/dist/collection/utils/csvUtils.js +1 -0
  334. package/dist/collection/utils/csvUtils.js.map +1 -0
  335. package/dist/collection/utils/interfaces.js +1 -0
  336. package/dist/collection/utils/interfaces.js.map +1 -0
  337. package/dist/collection/utils/languageUtil.js +1 -0
  338. package/dist/collection/utils/languageUtil.js.map +1 -0
  339. package/dist/collection/utils/loadModules.js +1 -0
  340. package/dist/collection/utils/loadModules.js.map +1 -0
  341. package/dist/collection/utils/locale.js +1 -0
  342. package/dist/collection/utils/locale.js.map +1 -0
  343. package/dist/collection/utils/mapViewUtils.js +1 -0
  344. package/dist/collection/utils/mapViewUtils.js.map +1 -0
  345. package/dist/collection/utils/publicNotificationStore.js +1 -0
  346. package/dist/collection/utils/publicNotificationStore.js.map +1 -0
  347. package/dist/collection/utils/publicNotificationUtils.js +1 -0
  348. package/dist/collection/utils/publicNotificationUtils.js.map +1 -0
  349. package/dist/collection/utils/queryUtils.js +1 -0
  350. package/dist/collection/utils/queryUtils.js.map +1 -0
  351. package/dist/collection/utils/solution-store.js +4 -3
  352. package/dist/collection/utils/solution-store.js.map +1 -0
  353. package/dist/collection/utils/solution-store.ts +3 -3
  354. package/dist/collection/utils/templates.js +1 -0
  355. package/dist/collection/utils/templates.js.map +1 -0
  356. package/dist/collection/utils/test/testUtils.js +1 -0
  357. package/dist/collection/utils/test/testUtils.js.map +1 -0
  358. package/dist/collection/utils/types.js +1 -0
  359. package/dist/collection/utils/types.js.map +1 -0
  360. package/dist/esm/ExpandToggle-b7d1fb3c.js +2 -0
  361. package/dist/esm/ExpandToggle-b7d1fb3c.js.map +1 -0
  362. package/dist/esm/Heading-1efb4837.js +2 -0
  363. package/dist/esm/Heading-1efb4837.js.map +1 -0
  364. package/dist/esm/_commonjsHelpers-8fd39c50.js +2 -0
  365. package/dist/esm/_commonjsHelpers-8fd39c50.js.map +1 -0
  366. package/dist/esm/app-globals-09b9efee.js +2 -0
  367. package/dist/esm/app-globals-09b9efee.js.map +1 -0
  368. package/dist/esm/array-2ab3b18f.js +2 -0
  369. package/dist/esm/array-2ab3b18f.js.map +1 -0
  370. package/dist/esm/buffer-tools_6.entry.js +4 -2
  371. package/dist/esm/buffer-tools_6.entry.js.map +1 -0
  372. package/dist/esm/calcite-accordion-item.entry.js +2 -0
  373. package/dist/esm/calcite-accordion-item.entry.js.map +1 -0
  374. package/dist/esm/calcite-accordion.entry.js +2 -0
  375. package/dist/esm/calcite-accordion.entry.js.map +1 -0
  376. package/dist/esm/calcite-action-bar_6.entry.js +4 -2
  377. package/dist/esm/calcite-action-bar_6.entry.js.map +1 -0
  378. package/dist/esm/calcite-action-group.entry.js +2 -0
  379. package/dist/esm/calcite-action-group.entry.js.map +1 -0
  380. package/dist/esm/calcite-action-menu_2.entry.js +22 -403
  381. package/dist/esm/calcite-action-menu_2.entry.js.map +1 -0
  382. package/dist/esm/calcite-action-pad.entry.js +2 -0
  383. package/dist/esm/calcite-action-pad.entry.js.map +1 -0
  384. package/dist/esm/calcite-action_2.entry.js +426 -72
  385. package/dist/esm/calcite-action_2.entry.js.map +1 -0
  386. package/dist/esm/calcite-alert.entry.js +2 -0
  387. package/dist/esm/calcite-alert.entry.js.map +1 -0
  388. package/dist/esm/calcite-avatar.entry.js +2 -0
  389. package/dist/esm/calcite-avatar.entry.js.map +1 -0
  390. package/dist/esm/calcite-block-section.entry.js +2 -0
  391. package/dist/esm/calcite-block-section.entry.js.map +1 -0
  392. package/dist/esm/calcite-block.entry.js +2 -0
  393. package/dist/esm/calcite-block.entry.js.map +1 -0
  394. package/dist/esm/calcite-button.entry.js +2 -0
  395. package/dist/esm/calcite-button.entry.js.map +1 -0
  396. package/dist/esm/calcite-card.entry.js +2 -0
  397. package/dist/esm/calcite-card.entry.js.map +1 -0
  398. package/dist/esm/calcite-checkbox.entry.js +2 -0
  399. package/dist/esm/calcite-checkbox.entry.js.map +1 -0
  400. package/dist/esm/calcite-chip.entry.js +2 -0
  401. package/dist/esm/calcite-chip.entry.js.map +1 -0
  402. package/dist/esm/calcite-color-picker-hex-input.entry.js +2 -0
  403. package/dist/esm/calcite-color-picker-hex-input.entry.js.map +1 -0
  404. package/dist/esm/calcite-color-picker-swatch.entry.js +2 -0
  405. package/dist/esm/calcite-color-picker-swatch.entry.js.map +1 -0
  406. package/dist/esm/calcite-color-picker.entry.js +2 -0
  407. package/dist/esm/calcite-color-picker.entry.js.map +1 -0
  408. package/dist/esm/calcite-combobox-item-group.entry.js +2 -0
  409. package/dist/esm/calcite-combobox-item-group.entry.js.map +1 -0
  410. package/dist/esm/calcite-combobox_3.entry.js +4 -2
  411. package/dist/esm/calcite-combobox_3.entry.js.map +1 -0
  412. package/dist/esm/calcite-date-picker-day_3.entry.js +2 -0
  413. package/dist/esm/calcite-date-picker-day_3.entry.js.map +1 -0
  414. package/dist/esm/calcite-date-picker.entry.js +2 -0
  415. package/dist/esm/calcite-date-picker.entry.js.map +1 -0
  416. package/dist/esm/calcite-dropdown-group.entry.js +2 -0
  417. package/dist/esm/calcite-dropdown-group.entry.js.map +1 -0
  418. package/dist/esm/calcite-dropdown-item.entry.js +2 -0
  419. package/dist/esm/calcite-dropdown-item.entry.js.map +1 -0
  420. package/dist/esm/calcite-dropdown.entry.js +2 -0
  421. package/dist/esm/calcite-dropdown.entry.js.map +1 -0
  422. package/dist/esm/calcite-fab.entry.js +2 -0
  423. package/dist/esm/calcite-fab.entry.js.map +1 -0
  424. package/dist/esm/calcite-filter.entry.js +2 -0
  425. package/dist/esm/calcite-filter.entry.js.map +1 -0
  426. package/dist/esm/calcite-flow-item.entry.js +2 -0
  427. package/dist/esm/calcite-flow-item.entry.js.map +1 -0
  428. package/dist/esm/calcite-flow.entry.js +2 -0
  429. package/dist/esm/calcite-flow.entry.js.map +1 -0
  430. package/dist/esm/calcite-graph.entry.js +2 -0
  431. package/dist/esm/calcite-graph.entry.js.map +1 -0
  432. package/dist/esm/calcite-handle.entry.js +2 -0
  433. package/dist/esm/calcite-handle.entry.js.map +1 -0
  434. package/dist/esm/calcite-icon.entry.js +2 -0
  435. package/dist/esm/calcite-icon.entry.js.map +1 -0
  436. package/dist/esm/calcite-inline-editable.entry.js +2 -0
  437. package/dist/esm/calcite-inline-editable.entry.js.map +1 -0
  438. package/dist/esm/calcite-input-date-picker.entry.js +2 -0
  439. package/dist/esm/calcite-input-date-picker.entry.js.map +1 -0
  440. package/dist/esm/calcite-input-number.entry.js +2 -0
  441. package/dist/esm/calcite-input-number.entry.js.map +1 -0
  442. package/dist/esm/calcite-input-text.entry.js +2 -0
  443. package/dist/esm/calcite-input-text.entry.js.map +1 -0
  444. package/dist/esm/calcite-input-time-picker.entry.js +2 -0
  445. package/dist/esm/calcite-input-time-picker.entry.js.map +1 -0
  446. package/dist/esm/calcite-input_2.entry.js +2 -0
  447. package/dist/esm/calcite-input_2.entry.js.map +1 -0
  448. package/dist/esm/calcite-label.entry.js +2 -0
  449. package/dist/esm/calcite-label.entry.js.map +1 -0
  450. package/dist/esm/calcite-link.entry.js +2 -0
  451. package/dist/esm/calcite-link.entry.js.map +1 -0
  452. package/dist/esm/calcite-list-item-group.entry.js +2 -0
  453. package/dist/esm/calcite-list-item-group.entry.js.map +1 -0
  454. package/dist/esm/calcite-list_2.entry.js +2 -0
  455. package/dist/esm/calcite-list_2.entry.js.map +1 -0
  456. package/dist/esm/calcite-loader.entry.js +93 -0
  457. package/dist/esm/calcite-loader.entry.js.map +1 -0
  458. package/dist/esm/{solution-configuration.entry.js → calcite-modal_2.entry.js} +454 -9
  459. package/dist/esm/calcite-modal_2.entry.js.map +1 -0
  460. package/dist/esm/calcite-option-group.entry.js +2 -0
  461. package/dist/esm/calcite-option-group.entry.js.map +1 -0
  462. package/dist/esm/calcite-option_2.entry.js +2 -0
  463. package/dist/esm/calcite-option_2.entry.js.map +1 -0
  464. package/dist/esm/calcite-pagination.entry.js +2 -0
  465. package/dist/esm/calcite-pagination.entry.js.map +1 -0
  466. package/dist/esm/{calcite-shell-panel_14.entry.js → calcite-panel_12.entry.js} +468 -708
  467. package/dist/esm/calcite-panel_12.entry.js.map +1 -0
  468. package/dist/esm/calcite-pick-list-group.entry.js +2 -0
  469. package/dist/esm/calcite-pick-list-group.entry.js.map +1 -0
  470. package/dist/esm/calcite-pick-list-item.entry.js +2 -0
  471. package/dist/esm/calcite-pick-list-item.entry.js.map +1 -0
  472. package/dist/esm/calcite-pick-list.entry.js +2 -0
  473. package/dist/esm/calcite-pick-list.entry.js.map +1 -0
  474. package/dist/esm/calcite-popover-manager.entry.js +2 -0
  475. package/dist/esm/calcite-popover-manager.entry.js.map +1 -0
  476. package/dist/esm/calcite-radio-button-group.entry.js +2 -0
  477. package/dist/esm/calcite-radio-button-group.entry.js.map +1 -0
  478. package/dist/esm/calcite-radio-button.entry.js +2 -0
  479. package/dist/esm/calcite-radio-button.entry.js.map +1 -0
  480. package/dist/esm/calcite-rating.entry.js +2 -0
  481. package/dist/esm/calcite-rating.entry.js.map +1 -0
  482. package/dist/esm/calcite-shell-center-row.entry.js +2 -0
  483. package/dist/esm/calcite-shell-center-row.entry.js.map +1 -0
  484. package/dist/esm/calcite-sortable-list.entry.js +2 -0
  485. package/dist/esm/calcite-sortable-list.entry.js.map +1 -0
  486. package/dist/esm/calcite-split-button.entry.js +2 -0
  487. package/dist/esm/calcite-split-button.entry.js.map +1 -0
  488. package/dist/esm/calcite-stepper-item.entry.js +2 -0
  489. package/dist/esm/calcite-stepper-item.entry.js.map +1 -0
  490. package/dist/esm/calcite-stepper.entry.js +2 -0
  491. package/dist/esm/calcite-stepper.entry.js.map +1 -0
  492. package/dist/esm/calcite-switch.entry.js +2 -0
  493. package/dist/esm/calcite-switch.entry.js.map +1 -0
  494. package/dist/esm/calcite-tile-select-group.entry.js +2 -0
  495. package/dist/esm/calcite-tile-select-group.entry.js.map +1 -0
  496. package/dist/esm/calcite-tile-select.entry.js +2 -0
  497. package/dist/esm/calcite-tile-select.entry.js.map +1 -0
  498. package/dist/esm/calcite-tile.entry.js +2 -0
  499. package/dist/esm/calcite-tile.entry.js.map +1 -0
  500. package/dist/esm/calcite-time-picker.entry.js +2 -0
  501. package/dist/esm/calcite-time-picker.entry.js.map +1 -0
  502. package/dist/esm/calcite-tip-group.entry.js +2 -0
  503. package/dist/esm/calcite-tip-group.entry.js.map +1 -0
  504. package/dist/esm/calcite-tip-manager.entry.js +2 -0
  505. package/dist/esm/calcite-tip-manager.entry.js.map +1 -0
  506. package/dist/esm/calcite-tip.entry.js +2 -0
  507. package/dist/esm/calcite-tip.entry.js.map +1 -0
  508. package/dist/esm/calcite-tooltip-manager.entry.js +2 -0
  509. package/dist/esm/calcite-tooltip-manager.entry.js.map +1 -0
  510. package/dist/esm/calcite-tooltip.entry.js +2 -0
  511. package/dist/esm/calcite-tooltip.entry.js.map +1 -0
  512. package/dist/esm/calcite-tree_3.entry.js +2 -0
  513. package/dist/esm/calcite-tree_3.entry.js.map +1 -0
  514. package/dist/esm/check-list.entry.js +2 -0
  515. package/dist/esm/check-list.entry.js.map +1 -0
  516. package/dist/esm/conditionalSlot-bb4cab11.js +2 -0
  517. package/dist/esm/conditionalSlot-bb4cab11.js.map +1 -0
  518. package/dist/esm/config-buffer-tools.entry.js +2 -0
  519. package/dist/esm/config-buffer-tools.entry.js.map +1 -0
  520. package/dist/esm/config-draw-tools.entry.js +2 -0
  521. package/dist/esm/config-draw-tools.entry.js.map +1 -0
  522. package/dist/esm/config-layer-picker.entry.js +4 -2
  523. package/dist/esm/config-layer-picker.entry.js.map +1 -0
  524. package/dist/esm/config-pdf-download.entry.js +2 -0
  525. package/dist/esm/config-pdf-download.entry.js.map +1 -0
  526. package/dist/esm/date-45de0016.js +2 -0
  527. package/dist/esm/date-45de0016.js.map +1 -0
  528. package/dist/esm/debounce-4c884e5c.js +2 -0
  529. package/dist/esm/debounce-4c884e5c.js.map +1 -0
  530. package/dist/esm/dom-e593bf85.js +2 -0
  531. package/dist/esm/dom-e593bf85.js.map +1 -0
  532. package/dist/esm/filter-82935f2d.js +2 -0
  533. package/dist/esm/filter-82935f2d.js.map +1 -0
  534. package/dist/esm/floating-ui-69a55a27.js +2 -0
  535. package/dist/esm/floating-ui-69a55a27.js.map +1 -0
  536. package/dist/esm/form-dbfde8ce.js +2 -0
  537. package/dist/esm/form-dbfde8ce.js.map +1 -0
  538. package/dist/esm/guid-15fce7c0.js +2 -0
  539. package/dist/esm/guid-15fce7c0.js.map +1 -0
  540. package/dist/esm/index-15022d11.js +2 -0
  541. package/dist/esm/index-15022d11.js.map +1 -0
  542. package/dist/esm/index-9c882a6e.js +2 -0
  543. package/dist/esm/index-9c882a6e.js.map +1 -0
  544. package/dist/esm/index-d33ebc35.js +2 -0
  545. package/dist/esm/index-d33ebc35.js.map +1 -0
  546. package/dist/esm/index.js +2 -0
  547. package/dist/esm/index.js.map +1 -0
  548. package/dist/esm/interactive-822ffed6.js +2 -0
  549. package/dist/esm/interactive-822ffed6.js.map +1 -0
  550. package/dist/esm/interfaces-1bdfc3a8.js +72 -0
  551. package/dist/esm/interfaces-1bdfc3a8.js.map +1 -0
  552. package/dist/esm/interfaces-4ae145eb.js +2 -0
  553. package/dist/esm/interfaces-4ae145eb.js.map +1 -0
  554. package/dist/esm/key-acb660e7.js +2 -0
  555. package/dist/esm/key-acb660e7.js.map +1 -0
  556. package/dist/esm/label-d411de44.js +2 -0
  557. package/dist/esm/label-d411de44.js.map +1 -0
  558. package/dist/esm/labelFormats-b37958c3.js +2 -0
  559. package/dist/esm/labelFormats-b37958c3.js.map +1 -0
  560. package/dist/esm/loadModules-d3b50f95.js +2 -0
  561. package/dist/esm/loadModules-d3b50f95.js.map +1 -0
  562. package/dist/esm/loader.js +3 -1
  563. package/dist/esm/loader.js.map +1 -0
  564. package/dist/esm/locale-0b490b02.js +2 -0
  565. package/dist/esm/locale-0b490b02.js.map +1 -0
  566. package/dist/esm/locale-0e10d7e5.js +2 -0
  567. package/dist/esm/locale-0e10d7e5.js.map +1 -0
  568. package/dist/esm/map-search.entry.js +2 -0
  569. package/dist/esm/map-search.entry.js.map +1 -0
  570. package/dist/esm/mapViewUtils-809947c8.js +284 -0
  571. package/dist/esm/mapViewUtils-809947c8.js.map +1 -0
  572. package/dist/esm/math-552c5420.js +2 -0
  573. package/dist/esm/math-552c5420.js.map +1 -0
  574. package/dist/esm/nonChromiumPlatformUtils-ee349005.js +2 -0
  575. package/dist/esm/nonChromiumPlatformUtils-ee349005.js.map +1 -0
  576. package/dist/esm/observers-31601001.js +2 -0
  577. package/dist/esm/observers-31601001.js.map +1 -0
  578. package/dist/esm/openCloseComponent-5caff873.js +2 -0
  579. package/dist/esm/openCloseComponent-5caff873.js.map +1 -0
  580. package/dist/esm/public-notification.entry.js +4 -2
  581. package/dist/esm/public-notification.entry.js.map +1 -0
  582. package/dist/esm/publicNotificationStore-060c59c8.js +2 -0
  583. package/dist/esm/publicNotificationStore-060c59c8.js.map +1 -0
  584. package/dist/esm/publicNotificationUtils-5cb5a607.js +2 -0
  585. package/dist/esm/publicNotificationUtils-5cb5a607.js.map +1 -0
  586. package/dist/esm/resources-2235e4ff.js +2 -0
  587. package/dist/esm/resources-2235e4ff.js.map +1 -0
  588. package/dist/esm/resources-3d641588.js +2 -0
  589. package/dist/esm/resources-3d641588.js.map +1 -0
  590. package/dist/esm/resources-436ae282.js +2 -0
  591. package/dist/esm/resources-436ae282.js.map +1 -0
  592. package/dist/esm/resources-4d02cb48.js +2 -0
  593. package/dist/esm/resources-4d02cb48.js.map +1 -0
  594. package/dist/esm/resources-78132e50.js +2 -0
  595. package/dist/esm/resources-78132e50.js.map +1 -0
  596. package/dist/esm/resources-7d4a587f.js +2 -0
  597. package/dist/esm/resources-7d4a587f.js.map +1 -0
  598. package/dist/esm/resources-971845d1.js +2 -0
  599. package/dist/esm/resources-971845d1.js.map +1 -0
  600. package/dist/esm/resources-9eb63965.js +2 -0
  601. package/dist/esm/resources-9eb63965.js.map +1 -0
  602. package/dist/esm/resources-d60362c3.js +2 -0
  603. package/dist/esm/resources-d60362c3.js.map +1 -0
  604. package/dist/esm/resources-e3a5cf27.js +2 -0
  605. package/dist/esm/resources-e3a5cf27.js.map +1 -0
  606. package/dist/esm/shared-list-render-4e9d47a3.js +2 -0
  607. package/dist/esm/shared-list-render-4e9d47a3.js.map +1 -0
  608. package/dist/esm/solution-config-modal.entry.js +127 -0
  609. package/dist/esm/solution-config-modal.entry.js.map +1 -0
  610. package/dist/esm/{solution-contents_3.entry.js → solution-contents_7.entry.js} +662 -3
  611. package/dist/esm/solution-contents_7.entry.js.map +1 -0
  612. package/dist/esm/{solution-store-b3c65467.js → solution-store-d8519c64.js} +6 -4
  613. package/dist/esm/solution-store-d8519c64.js.map +1 -0
  614. package/dist/esm/solutions-components.js +3 -1
  615. package/dist/esm/solutions-components.js.map +1 -0
  616. package/dist/esm/sortable.esm-3b2eaa5c.js +2 -0
  617. package/dist/esm/sortable.esm-3b2eaa5c.js.map +1 -0
  618. package/dist/esm/store-manager.entry.js +2 -0
  619. package/dist/esm/store-manager.entry.js.map +1 -0
  620. package/dist/esm/time-f014778c.js +2 -0
  621. package/dist/esm/time-f014778c.js.map +1 -0
  622. package/dist/esm/utils-3f4ee4c3.js +2 -0
  623. package/dist/esm/utils-3f4ee4c3.js.map +1 -0
  624. package/dist/esm/utils-583554bc.js +2 -0
  625. package/dist/esm/utils-583554bc.js.map +1 -0
  626. package/dist/solutions-components/index.esm.js +2 -0
  627. package/dist/solutions-components/index.esm.js.map +1 -0
  628. package/dist/solutions-components/p-06dab43c.entry.js +140 -0
  629. package/dist/solutions-components/p-06dab43c.entry.js.map +1 -0
  630. package/dist/solutions-components/p-0bbe4865.entry.js +620 -0
  631. package/dist/solutions-components/p-0bbe4865.entry.js.map +1 -0
  632. package/dist/solutions-components/p-0fddf8a4.entry.js +349 -0
  633. package/dist/solutions-components/p-0fddf8a4.entry.js.map +1 -0
  634. package/dist/solutions-components/p-11068040.entry.js +1121 -0
  635. package/dist/solutions-components/p-11068040.entry.js.map +1 -0
  636. package/dist/solutions-components/p-11bc6805.entry.js +87 -0
  637. package/dist/solutions-components/p-11bc6805.entry.js.map +1 -0
  638. package/dist/solutions-components/p-13b37f05.js +308 -3
  639. package/dist/solutions-components/p-13b37f05.js.map +1 -0
  640. package/dist/solutions-components/p-1dfb5fae.entry.js +713 -0
  641. package/dist/solutions-components/p-1dfb5fae.entry.js.map +1 -0
  642. package/dist/solutions-components/p-1e15b1a3.js +183 -2
  643. package/dist/solutions-components/p-1e15b1a3.js.map +1 -0
  644. package/dist/solutions-components/p-1e5bc9c3.entry.js +96 -0
  645. package/dist/solutions-components/p-1e5bc9c3.entry.js.map +1 -0
  646. package/dist/solutions-components/p-1ed05745.entry.js +214 -0
  647. package/dist/solutions-components/p-1ed05745.entry.js.map +1 -0
  648. package/dist/solutions-components/p-20bdf42f.js +407 -14
  649. package/dist/solutions-components/p-20bdf42f.js.map +1 -0
  650. package/dist/solutions-components/p-22574d83.entry.js +74 -0
  651. package/dist/solutions-components/p-22574d83.entry.js.map +1 -0
  652. package/dist/solutions-components/p-23904a3d.js +401 -3
  653. package/dist/solutions-components/p-23904a3d.js.map +1 -0
  654. package/dist/solutions-components/p-26484399.entry.js +108 -0
  655. package/dist/solutions-components/p-26484399.entry.js.map +1 -0
  656. package/dist/solutions-components/p-2910dd9e.js +4094 -0
  657. package/dist/solutions-components/p-2910dd9e.js.map +1 -0
  658. package/dist/solutions-components/p-29bdbd3e.entry.js +280 -0
  659. package/dist/solutions-components/p-29bdbd3e.entry.js.map +1 -0
  660. package/dist/solutions-components/p-2ac06389.js +25 -16
  661. package/dist/solutions-components/p-2ac06389.js.map +1 -0
  662. package/dist/solutions-components/p-2bce7fa2.entry.js +45 -0
  663. package/dist/solutions-components/p-2bce7fa2.entry.js.map +1 -0
  664. package/dist/solutions-components/p-2e9ed892.js +48 -1
  665. package/dist/solutions-components/p-2e9ed892.js.map +1 -0
  666. package/dist/solutions-components/p-2f12ff1b.entry.js +202 -0
  667. package/dist/solutions-components/p-2f12ff1b.entry.js.map +1 -0
  668. package/dist/solutions-components/p-30810b45.entry.js +1250 -0
  669. package/dist/solutions-components/p-30810b45.entry.js.map +1 -0
  670. package/dist/solutions-components/p-32a67cb2.js +207 -2
  671. package/dist/solutions-components/p-32a67cb2.js.map +1 -0
  672. package/dist/solutions-components/p-341ff921.entry.js +449 -0
  673. package/dist/solutions-components/p-341ff921.entry.js.map +1 -0
  674. package/dist/solutions-components/p-36ce64e4.entry.js +215 -0
  675. package/dist/solutions-components/p-36ce64e4.entry.js.map +1 -0
  676. package/dist/solutions-components/p-374a5031.js +107 -2
  677. package/dist/solutions-components/p-374a5031.js.map +1 -0
  678. package/dist/solutions-components/p-38ddadf2.entry.js +342 -0
  679. package/dist/solutions-components/p-38ddadf2.entry.js.map +1 -0
  680. package/dist/solutions-components/p-3b010ce1.js +19 -1
  681. package/dist/solutions-components/p-3b010ce1.js.map +1 -0
  682. package/dist/solutions-components/p-3f6b0af4.js +221 -2
  683. package/dist/solutions-components/p-3f6b0af4.js.map +1 -0
  684. package/dist/solutions-components/p-400e1427.entry.js +236 -0
  685. package/dist/solutions-components/p-400e1427.entry.js.map +1 -0
  686. package/dist/solutions-components/p-40d7cf01.entry.js +228 -0
  687. package/dist/solutions-components/p-40d7cf01.entry.js.map +1 -0
  688. package/dist/solutions-components/p-45556aff.entry.js +215 -0
  689. package/dist/solutions-components/p-45556aff.entry.js.map +1 -0
  690. package/dist/solutions-components/p-49aaa793.entry.js +95 -0
  691. package/dist/solutions-components/p-49aaa793.entry.js.map +1 -0
  692. package/dist/solutions-components/p-4e32bf8c.js +484 -1
  693. package/dist/solutions-components/p-4e32bf8c.js.map +1 -0
  694. package/dist/solutions-components/p-4e89b243.entry.js +479 -0
  695. package/dist/solutions-components/p-4e89b243.entry.js.map +1 -0
  696. package/dist/solutions-components/p-515637fb.entry.js +183 -0
  697. package/dist/solutions-components/p-515637fb.entry.js.map +1 -0
  698. package/dist/solutions-components/p-5243a654.entry.js +147 -0
  699. package/dist/solutions-components/p-5243a654.entry.js.map +1 -0
  700. package/dist/solutions-components/p-55673790.entry.js +82 -0
  701. package/dist/solutions-components/p-55673790.entry.js.map +1 -0
  702. package/dist/solutions-components/p-56350bff.js +173 -2
  703. package/dist/solutions-components/p-56350bff.js.map +1 -0
  704. package/dist/solutions-components/p-58b374c0.entry.js +347 -0
  705. package/dist/solutions-components/p-58b374c0.entry.js.map +1 -0
  706. package/dist/solutions-components/p-58c69df2.js +2024 -2
  707. package/dist/solutions-components/p-58c69df2.js.map +1 -0
  708. package/dist/solutions-components/p-59fd6684.entry.js +22 -0
  709. package/dist/solutions-components/p-59fd6684.entry.js.map +1 -0
  710. package/dist/solutions-components/p-5b0d7c7d.js +35 -16
  711. package/dist/solutions-components/p-5b0d7c7d.js.map +1 -0
  712. package/dist/solutions-components/p-5b20090f.entry.js +22189 -0
  713. package/dist/solutions-components/p-5b20090f.entry.js.map +1 -0
  714. package/dist/solutions-components/p-5cf33602.js +43 -2
  715. package/dist/solutions-components/p-5cf33602.js.map +1 -0
  716. package/dist/solutions-components/p-600e23c6.js +1770 -2
  717. package/dist/solutions-components/p-600e23c6.js.map +1 -0
  718. package/dist/solutions-components/p-61398a7b.entry.js +74 -0
  719. package/dist/solutions-components/p-61398a7b.entry.js.map +1 -0
  720. package/dist/solutions-components/p-63a05701.entry.js +45 -0
  721. package/dist/solutions-components/p-63a05701.entry.js.map +1 -0
  722. package/dist/solutions-components/p-63f6e8f1.js +16 -1
  723. package/dist/solutions-components/p-63f6e8f1.js.map +1 -0
  724. package/dist/solutions-components/p-64a2040e.entry.js +63 -0
  725. package/dist/solutions-components/p-64a2040e.entry.js.map +1 -0
  726. package/dist/solutions-components/p-64c63eb2.entry.js +157 -0
  727. package/dist/solutions-components/p-64c63eb2.entry.js.map +1 -0
  728. package/dist/solutions-components/p-6940e2fd.entry.js +100 -0
  729. package/dist/solutions-components/p-6940e2fd.entry.js.map +1 -0
  730. package/dist/solutions-components/p-69900b68.entry.js +152 -0
  731. package/dist/solutions-components/p-69900b68.entry.js.map +1 -0
  732. package/dist/solutions-components/p-699125b6.entry.js +44 -0
  733. package/dist/solutions-components/p-699125b6.entry.js.map +1 -0
  734. package/dist/solutions-components/p-6d0899c8.entry.js +118 -0
  735. package/dist/solutions-components/p-6d0899c8.entry.js.map +1 -0
  736. package/dist/solutions-components/p-6e0da576.js +15 -1
  737. package/dist/solutions-components/p-6e0da576.js.map +1 -0
  738. package/dist/solutions-components/p-6fe17794.js +11 -1
  739. package/dist/solutions-components/p-6fe17794.js.map +1 -0
  740. package/dist/solutions-components/p-708a63a8.js +14 -1
  741. package/dist/solutions-components/p-708a63a8.js.map +1 -0
  742. package/dist/solutions-components/p-729708a3.js +16 -1
  743. package/dist/solutions-components/p-729708a3.js.map +1 -0
  744. package/dist/solutions-components/p-73e23995.js +8 -1
  745. package/dist/solutions-components/p-73e23995.js.map +1 -0
  746. package/dist/solutions-components/p-75f54a34.entry.js +883 -0
  747. package/dist/solutions-components/p-75f54a34.entry.js.map +1 -0
  748. package/dist/solutions-components/p-77182c3a.js +3017 -1
  749. package/dist/solutions-components/p-77182c3a.js.map +1 -0
  750. package/dist/solutions-components/p-794ba85d.entry.js +175 -0
  751. package/dist/solutions-components/p-794ba85d.entry.js.map +1 -0
  752. package/dist/solutions-components/p-79cde78e.entry.js +203 -0
  753. package/dist/solutions-components/p-79cde78e.entry.js.map +1 -0
  754. package/dist/solutions-components/p-7a2c75a4.entry.js +230 -0
  755. package/dist/solutions-components/p-7a2c75a4.entry.js.map +1 -0
  756. package/dist/solutions-components/p-7daea1df.js +43 -1
  757. package/dist/solutions-components/p-7daea1df.js.map +1 -0
  758. package/dist/solutions-components/p-7de77097.entry.js +162 -0
  759. package/dist/solutions-components/p-7de77097.entry.js.map +1 -0
  760. package/dist/solutions-components/p-7f2b74a9.entry.js +56 -0
  761. package/dist/solutions-components/p-7f2b74a9.entry.js.map +1 -0
  762. package/dist/solutions-components/p-81e606c0.entry.js +915 -0
  763. package/dist/solutions-components/p-81e606c0.entry.js.map +1 -0
  764. package/dist/solutions-components/p-86908777.js +62 -3
  765. package/dist/solutions-components/p-86908777.js.map +1 -0
  766. package/dist/solutions-components/p-87a0ccb4.entry.js +254 -0
  767. package/dist/solutions-components/p-87a0ccb4.entry.js.map +1 -0
  768. package/dist/solutions-components/p-93d3119d.js +1950 -1
  769. package/dist/solutions-components/p-93d3119d.js.map +1 -0
  770. package/dist/solutions-components/p-958e2979.entry.js +111 -0
  771. package/dist/solutions-components/p-958e2979.entry.js.map +1 -0
  772. package/dist/solutions-components/p-95ddb529.entry.js +181 -0
  773. package/dist/solutions-components/p-95ddb529.entry.js.map +1 -0
  774. package/dist/solutions-components/p-991ee695.js +111 -1
  775. package/dist/solutions-components/p-991ee695.js.map +1 -0
  776. package/dist/solutions-components/p-99d9b624.entry.js +177 -0
  777. package/dist/solutions-components/p-99d9b624.entry.js.map +1 -0
  778. package/dist/solutions-components/p-9a9955db.js +43 -1
  779. package/dist/solutions-components/p-9a9955db.js.map +1 -0
  780. package/dist/solutions-components/p-9d925d5b.entry.js +233 -0
  781. package/dist/solutions-components/p-9d925d5b.entry.js.map +1 -0
  782. package/dist/solutions-components/p-9dc0210f.entry.js +125 -0
  783. package/dist/solutions-components/p-9dc0210f.entry.js.map +1 -0
  784. package/dist/solutions-components/p-9ef1328a.entry.js +542 -0
  785. package/dist/solutions-components/p-9ef1328a.entry.js.map +1 -0
  786. package/dist/solutions-components/p-9fec2884.entry.js +216 -0
  787. package/dist/solutions-components/p-9fec2884.entry.js.map +1 -0
  788. package/dist/solutions-components/p-a1786d11.entry.js +2380 -0
  789. package/dist/solutions-components/p-a1786d11.entry.js.map +1 -0
  790. package/dist/solutions-components/p-a2ada355.entry.js +135 -0
  791. package/dist/solutions-components/p-a2ada355.entry.js.map +1 -0
  792. package/dist/solutions-components/p-a57adb27.entry.js +154 -0
  793. package/dist/solutions-components/p-a57adb27.entry.js.map +1 -0
  794. package/dist/solutions-components/p-a80b3880.js +16 -1
  795. package/dist/solutions-components/p-a80b3880.js.map +1 -0
  796. package/dist/solutions-components/p-a88dd457.entry.js +123 -0
  797. package/dist/solutions-components/p-a88dd457.entry.js.map +1 -0
  798. package/dist/solutions-components/p-ac6efd19.entry.js +57 -0
  799. package/dist/solutions-components/p-ac6efd19.entry.js.map +1 -0
  800. package/dist/solutions-components/p-ae1fd76b.js +13 -1
  801. package/dist/solutions-components/p-ae1fd76b.js.map +1 -0
  802. package/dist/solutions-components/p-afffa81a.entry.js +140 -0
  803. package/dist/solutions-components/p-afffa81a.entry.js.map +1 -0
  804. package/dist/solutions-components/p-b0f3ed4d.entry.js +376 -0
  805. package/dist/solutions-components/p-b0f3ed4d.entry.js.map +1 -0
  806. package/dist/solutions-components/p-b359dc78.js +43 -1
  807. package/dist/solutions-components/p-b359dc78.js.map +1 -0
  808. package/dist/solutions-components/p-b66cba3e.entry.js +97 -0
  809. package/dist/solutions-components/p-b66cba3e.entry.js.map +1 -0
  810. package/dist/solutions-components/p-b6c2f470.entry.js +574 -0
  811. package/dist/solutions-components/p-b6c2f470.entry.js.map +1 -0
  812. package/dist/solutions-components/p-b978636e.js +16 -1
  813. package/dist/solutions-components/p-b978636e.js.map +1 -0
  814. package/dist/solutions-components/p-bd19837e.entry.js +96 -0
  815. package/dist/solutions-components/p-bd19837e.entry.js.map +1 -0
  816. package/dist/solutions-components/p-be8cc144.entry.js +567 -0
  817. package/dist/solutions-components/p-be8cc144.entry.js.map +1 -0
  818. package/dist/solutions-components/p-bfd20deb.entry.js +80 -0
  819. package/dist/solutions-components/p-bfd20deb.entry.js.map +1 -0
  820. package/dist/{esm/mapViewUtils-09f1e7bd.js → solutions-components/p-c20bd963.js} +3 -1
  821. package/dist/solutions-components/p-c20bd963.js.map +1 -0
  822. package/dist/solutions-components/p-c2c8442d.entry.js +140 -0
  823. package/dist/solutions-components/p-c2c8442d.entry.js.map +1 -0
  824. package/dist/solutions-components/p-c3f93cec.entry.js +158 -0
  825. package/dist/solutions-components/p-c3f93cec.entry.js.map +1 -0
  826. package/dist/solutions-components/p-c5721b0f.entry.js +127 -0
  827. package/dist/solutions-components/p-c5721b0f.entry.js.map +1 -0
  828. package/dist/solutions-components/p-c818e661.entry.js +107 -0
  829. package/dist/solutions-components/p-c818e661.entry.js.map +1 -0
  830. package/dist/solutions-components/p-c9870dc4.entry.js +38 -0
  831. package/dist/solutions-components/p-c9870dc4.entry.js.map +1 -0
  832. package/dist/solutions-components/p-cbd9fecf.js +500 -2
  833. package/dist/solutions-components/p-cbd9fecf.js.map +1 -0
  834. package/dist/solutions-components/p-cf59eb16.entry.js +2423 -0
  835. package/dist/solutions-components/p-cf59eb16.entry.js.map +1 -0
  836. package/dist/solutions-components/p-cfb300c6.entry.js +250 -0
  837. package/dist/solutions-components/p-cfb300c6.entry.js.map +1 -0
  838. package/dist/solutions-components/p-d48a24e6.js +756 -2
  839. package/dist/solutions-components/p-d48a24e6.js.map +1 -0
  840. package/dist/solutions-components/p-dbad98e8.js +124 -2
  841. package/dist/solutions-components/p-dbad98e8.js.map +1 -0
  842. package/dist/solutions-components/p-dd79118e.entry.js +708 -0
  843. package/dist/solutions-components/p-dd79118e.entry.js.map +1 -0
  844. package/dist/solutions-components/p-de5416e8.js +30 -1
  845. package/dist/solutions-components/p-de5416e8.js.map +1 -0
  846. package/dist/solutions-components/p-de881187.entry.js +87 -0
  847. package/dist/solutions-components/p-de881187.entry.js.map +1 -0
  848. package/dist/solutions-components/p-e1905f7b.entry.js +120 -0
  849. package/dist/solutions-components/p-e1905f7b.entry.js.map +1 -0
  850. package/dist/solutions-components/p-e405ebe8.entry.js +93 -0
  851. package/dist/solutions-components/p-e405ebe8.entry.js.map +1 -0
  852. package/dist/solutions-components/p-e515767a.entry.js +116 -0
  853. package/dist/solutions-components/p-e515767a.entry.js.map +1 -0
  854. package/dist/solutions-components/p-e611d8c8.js +30 -1
  855. package/dist/solutions-components/p-e611d8c8.js.map +1 -0
  856. package/dist/solutions-components/p-e6a695a5.js +103 -2
  857. package/dist/solutions-components/p-e6a695a5.js.map +1 -0
  858. package/dist/solutions-components/p-e6fb9cde.entry.js +1872 -0
  859. package/dist/solutions-components/p-e6fb9cde.entry.js.map +1 -0
  860. package/dist/solutions-components/p-e947d3b0.js +7 -1
  861. package/dist/solutions-components/p-e947d3b0.js.map +1 -0
  862. package/dist/solutions-components/p-e99b1247.js +207 -1
  863. package/dist/solutions-components/p-e99b1247.js.map +1 -0
  864. package/dist/solutions-components/p-eb5b78c3.entry.js +125 -0
  865. package/dist/solutions-components/p-eb5b78c3.entry.js.map +1 -0
  866. package/dist/solutions-components/p-eb976965.js +35 -3
  867. package/dist/solutions-components/p-eb976965.js.map +1 -0
  868. package/dist/solutions-components/p-ed075c2f.entry.js +186 -0
  869. package/dist/solutions-components/p-ed075c2f.entry.js.map +1 -0
  870. package/dist/solutions-components/p-eeb0321d.js +15 -2
  871. package/dist/solutions-components/p-eeb0321d.js.map +1 -0
  872. package/dist/solutions-components/p-ef6f9e24.entry.js +609 -0
  873. package/dist/solutions-components/p-ef6f9e24.entry.js.map +1 -0
  874. package/dist/solutions-components/p-f0294899.entry.js +84 -0
  875. package/dist/solutions-components/p-f0294899.entry.js.map +1 -0
  876. package/dist/{esm/interfaces-e2a2064d.js → solutions-components/p-f04fdb9a.js} +3 -1
  877. package/dist/solutions-components/p-f04fdb9a.js.map +1 -0
  878. package/dist/solutions-components/p-f477f146.entry.js +310 -0
  879. package/dist/solutions-components/p-f477f146.entry.js.map +1 -0
  880. package/dist/solutions-components/p-f48821a2.js +60 -7
  881. package/dist/solutions-components/p-f48821a2.js.map +1 -0
  882. package/dist/solutions-components/p-f496ed0c.entry.js +150 -0
  883. package/dist/solutions-components/p-f496ed0c.entry.js.map +1 -0
  884. package/dist/solutions-components/p-f759a6e7.js +196 -1
  885. package/dist/solutions-components/p-f759a6e7.js.map +1 -0
  886. package/dist/solutions-components/p-fc884dd6.js +30 -16
  887. package/dist/solutions-components/p-fc884dd6.js.map +1 -0
  888. package/dist/solutions-components/solutions-components.css +10531 -1
  889. package/dist/solutions-components/solutions-components.esm.js +22 -1
  890. package/dist/solutions-components/solutions-components.esm.js.map +1 -0
  891. package/dist/solutions-components/utils/solution-store.ts +3 -3
  892. package/dist/solutions-components_commit.txt +8 -6
  893. package/dist/types/components/solution-config-modal/solution-config-modal.d.ts +69 -0
  894. package/dist/types/components/solution-configuration/solution-configuration.d.ts +4 -2
  895. package/dist/types/components.d.ts +43 -5
  896. package/dist/types/preact.d.ts +4 -0
  897. package/package.json +1 -1
  898. package/dist/cjs/calcite-modal.cjs.entry.js +0 -447
  899. package/dist/cjs/calcite-panel_2.cjs.entry.js +0 -437
  900. package/dist/cjs/calcite-scrim.cjs.entry.js +0 -62
  901. package/dist/esm/calcite-modal.entry.js +0 -443
  902. package/dist/esm/calcite-panel_2.entry.js +0 -432
  903. package/dist/esm/calcite-scrim.entry.js +0 -58
  904. package/dist/solutions-components/p-006c6ae1.entry.js +0 -11
  905. package/dist/solutions-components/p-04a37fc0.entry.js +0 -6
  906. package/dist/solutions-components/p-062dbde8.entry.js +0 -6
  907. package/dist/solutions-components/p-0b941521.entry.js +0 -11
  908. package/dist/solutions-components/p-0c80eb51.entry.js +0 -11
  909. package/dist/solutions-components/p-10501e21.entry.js +0 -23
  910. package/dist/solutions-components/p-109e4684.entry.js +0 -6
  911. package/dist/solutions-components/p-12dfd43e.entry.js +0 -11
  912. package/dist/solutions-components/p-1c3bcd99.entry.js +0 -12
  913. package/dist/solutions-components/p-1c589630.entry.js +0 -6
  914. package/dist/solutions-components/p-1fb471cf.entry.js +0 -11
  915. package/dist/solutions-components/p-23275dbd.entry.js +0 -6
  916. package/dist/solutions-components/p-236d76e7.entry.js +0 -11
  917. package/dist/solutions-components/p-29246858.entry.js +0 -11
  918. package/dist/solutions-components/p-2af67c67.entry.js +0 -6
  919. package/dist/solutions-components/p-2bee764f.entry.js +0 -11
  920. package/dist/solutions-components/p-2f6b4f04.entry.js +0 -6
  921. package/dist/solutions-components/p-305ae3fe.entry.js +0 -11
  922. package/dist/solutions-components/p-343e325d.entry.js +0 -11
  923. package/dist/solutions-components/p-3485601e.entry.js +0 -6
  924. package/dist/solutions-components/p-395e9b6c.entry.js +0 -6
  925. package/dist/solutions-components/p-39c5f2d2.entry.js +0 -6
  926. package/dist/solutions-components/p-3c4f2257.entry.js +0 -11
  927. package/dist/solutions-components/p-3c8ec7a3.entry.js +0 -12
  928. package/dist/solutions-components/p-4130fbcd.entry.js +0 -11
  929. package/dist/solutions-components/p-421cbb15.entry.js +0 -6
  930. package/dist/solutions-components/p-43fa414d.entry.js +0 -11
  931. package/dist/solutions-components/p-4760f22a.entry.js +0 -6
  932. package/dist/solutions-components/p-4fb6d2cf.entry.js +0 -11
  933. package/dist/solutions-components/p-54384555.entry.js +0 -11
  934. package/dist/solutions-components/p-5493f036.entry.js +0 -6
  935. package/dist/solutions-components/p-551fd063.entry.js +0 -11
  936. package/dist/solutions-components/p-5a61ef0d.entry.js +0 -6
  937. package/dist/solutions-components/p-6a3ce8f6.entry.js +0 -6
  938. package/dist/solutions-components/p-6b9dc092.js +0 -21
  939. package/dist/solutions-components/p-6be581f5.entry.js +0 -6
  940. package/dist/solutions-components/p-6cf432f9.entry.js +0 -11
  941. package/dist/solutions-components/p-70368b2b.entry.js +0 -6
  942. package/dist/solutions-components/p-708ffad0.entry.js +0 -11
  943. package/dist/solutions-components/p-7321ba65.entry.js +0 -11
  944. package/dist/solutions-components/p-75b35018.entry.js +0 -11
  945. package/dist/solutions-components/p-764c0a90.entry.js +0 -11
  946. package/dist/solutions-components/p-77031b01.entry.js +0 -11
  947. package/dist/solutions-components/p-778a1b4a.entry.js +0 -11
  948. package/dist/solutions-components/p-7cdc6089.entry.js +0 -6
  949. package/dist/solutions-components/p-81467529.entry.js +0 -6
  950. package/dist/solutions-components/p-834380d6.entry.js +0 -11
  951. package/dist/solutions-components/p-89cc843b.entry.js +0 -11
  952. package/dist/solutions-components/p-8e3a2736.entry.js +0 -11
  953. package/dist/solutions-components/p-8e8b182f.entry.js +0 -12
  954. package/dist/solutions-components/p-8f052987.entry.js +0 -11
  955. package/dist/solutions-components/p-93790a9e.entry.js +0 -37
  956. package/dist/solutions-components/p-9bbee464.entry.js +0 -6
  957. package/dist/solutions-components/p-9bdd4abe.entry.js +0 -17
  958. package/dist/solutions-components/p-a4a7d49d.entry.js +0 -17
  959. package/dist/solutions-components/p-a7036d68.entry.js +0 -11
  960. package/dist/solutions-components/p-ac91cd40.entry.js +0 -11
  961. package/dist/solutions-components/p-acd0a09f.entry.js +0 -11
  962. package/dist/solutions-components/p-acd3b2bf.entry.js +0 -11
  963. package/dist/solutions-components/p-aea937fb.entry.js +0 -12
  964. package/dist/solutions-components/p-b1b36556.entry.js +0 -11
  965. package/dist/solutions-components/p-b25f6ebe.js +0 -257
  966. package/dist/solutions-components/p-b2ae8634.entry.js +0 -6
  967. package/dist/solutions-components/p-ba104266.entry.js +0 -11
  968. package/dist/solutions-components/p-bfcab358.entry.js +0 -11
  969. package/dist/solutions-components/p-c848d1bd.entry.js +0 -29
  970. package/dist/solutions-components/p-c9766584.entry.js +0 -6
  971. package/dist/solutions-components/p-d2cc1b94.entry.js +0 -12
  972. package/dist/solutions-components/p-d51a72d2.entry.js +0 -11
  973. package/dist/solutions-components/p-d88fe54b.entry.js +0 -18
  974. package/dist/solutions-components/p-daee23cc.entry.js +0 -11
  975. package/dist/solutions-components/p-db7d14d5.entry.js +0 -12
  976. package/dist/solutions-components/p-dc724c1d.entry.js +0 -11
  977. package/dist/solutions-components/p-dc7bc20f.entry.js +0 -11
  978. package/dist/solutions-components/p-de242ea9.entry.js +0 -6
  979. package/dist/solutions-components/p-e4ebb82a.entry.js +0 -11
  980. package/dist/solutions-components/p-e64c5c11.entry.js +0 -6
  981. package/dist/solutions-components/p-e9e47eab.entry.js +0 -6
  982. package/dist/solutions-components/p-eb3be6d4.entry.js +0 -6
  983. package/dist/solutions-components/p-ed27c151.entry.js +0 -6
  984. package/dist/solutions-components/p-ef170bb1.entry.js +0 -6
  985. package/dist/solutions-components/p-f044863f.entry.js +0 -16
  986. package/dist/solutions-components/p-f0bae2f0.entry.js +0 -37
  987. package/dist/solutions-components/p-f5a3b34f.entry.js +0 -23
  988. package/dist/solutions-components/p-fa2575c2.entry.js +0 -6
  989. package/dist/solutions-components/p-fe0fdd8b.js +0 -36
@@ -228,3 +228,4 @@ export class SolutionTemplateData {
228
228
  }];
229
229
  }
230
230
  }
231
+ //# sourceMappingURL=solution-template-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solution-template-data.js","sourceRoot":"","sources":["../../../src/components/solution-template-data/solution-template-data.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, Host, h, Prop, State, VNode, Watch } from '@stencil/core';\r\nimport state from \"../../utils/solution-store\";\r\nimport SolutionTemplateData_T9n from '../../assets/t9n/solution-template-data/resources.json';\r\nimport { getLocaleComponentStrings } from '../../utils/locale';\r\n\r\n@Component({\r\n tag: 'solution-template-data',\r\n styleUrl: 'solution-template-data.scss',\r\n shadow: false\r\n})\r\n\r\nexport class SolutionTemplateData {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Element() el: HTMLSolutionTemplateDataElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the public value for this component.\r\n *\r\n * When working with a resource item this should contain an IResourceItem\r\n *\r\n * When working with a json type item this should contain the data and vars\r\n */\r\n //@Prop({ mutable: true, reflect: true }) value: ITemplateData = {};\r\n\r\n /**\r\n * This needs to be unique for props vs data of an item\r\n */\r\n @Prop({ mutable: true, reflect: true }) instanceid = \"\";\r\n\r\n /**\r\n * A template's itemId.\r\n * This is used to get the correct model from a store in the json-editor\r\n */\r\n @Prop({ mutable: true, reflect: true }) itemId = \"\";\r\n\r\n @Watch(\"itemId\") itemIdWatchHandler(): void {\r\n this._initializing = true;\r\n this.value = JSON.stringify(\r\n this.instanceid === \"data\"\r\n ? state.getItemInfo(this.itemId).data\r\n : state.getItemInfo(this.itemId).properties\r\n , null, 2);\r\n }\r\n\r\n /*\r\n * Contains the organization based variables\r\n */\r\n @Prop({ mutable: true, reflect: true }) organizationVariables = \"\";\r\n\r\n /**\r\n * Contains the solution based variables\r\n */\r\n @Prop({ mutable: true, reflect: true }) solutionVariables = \"\";\r\n\r\n /**\r\n * Used to show/hide the variable containers\r\n */\r\n @Prop({ mutable: true, reflect: true }) varsOpen = true;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n constructor() {\r\n window.addEventListener(\"solutionEditorContentChanged\",\r\n (evt) => {\r\n if (this.itemId) {\r\n const { id, contents } = (evt as any).detail;\r\n const [itemId, instanceId] = id.split(\"|\");\r\n if (itemId == this.itemId && instanceId === this.instanceid) {\r\n if(!this._initializing && contents.length > 0) {\r\n const itemEdit = state.getItemInfo(itemId);\r\n if (instanceId === \"data\") {\r\n itemEdit.data = JSON.parse(contents);\r\n } else {\r\n itemEdit.properties = JSON.parse(contents);\r\n }\r\n state.setItemInfo(itemEdit);\r\n }\r\n this._initializing = false;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * StencilJS: Called once just after the component is first connected to the DOM.\r\n */\r\n componentWillLoad(): Promise<void> {\r\n return this._getTranslations();\r\n }\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n render(): VNode {\r\n return (\r\n <Host>\r\n <div class=\"solution-data-container\">\r\n <calcite-shell class=\"light var-container\" dir=\"ltr\">\r\n <calcite-panel class=\"json-editor\">\r\n <div class=\"solution-data-child-container calcite-match-height\">\r\n <json-editor\r\n class=\"solution-data-editor-container\"\r\n instanceid={this.itemId + \"|\" + this.instanceid}\r\n value={this.value}\r\n />\r\n </div>\r\n </calcite-panel>\r\n\r\n <calcite-shell-panel height-scale=\"l\" position=\"end\" slot=\"contextual-panel\" width-scale=\"xs\">\r\n <div class={this.varsOpen ? \"solution-data-child-container\" : \"solution-data-child-container-collapsed\"}>\r\n <calcite-button\r\n appearance=\"transparent\"\r\n class=\"collapse-btn\"\r\n icon-start={this.varsOpen ? \"chevrons-right\" : \"chevrons-left\"}\r\n id=\"collapse-vars\"\r\n onClick={() => this._toggleVars()}\r\n scale=\"s\"\r\n title={this.varsOpen ? this._translations.collapse : this._translations.expand}\r\n />\r\n <div class={this.varsOpen ? \"org-vars\" : \"org-vars display-none\"} id=\"orgVars\">\r\n <solution-organization-variables\r\n value={this.organizationVariables}\r\n />\r\n </div>\r\n <div class={this.varsOpen ? \"sol-vars\" : \"sol-vars display-none\"} id=\"solVars\">\r\n <solution-variables\r\n value={this.solutionVariables}\r\n />\r\n </div>\r\n </div>\r\n </calcite-shell-panel>\r\n </calcite-shell>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the translations for this component.\r\n * All UI strings should be defined here.\r\n */\r\n @State() protected _translations: typeof SolutionTemplateData_T9n;\r\n\r\n @State() protected value = \"\";\r\n\r\n protected _initializing = false;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Event Listeners\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Public Methods (async)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Toggle varsOpen prop to show/hide variable containers\r\n */\r\n _toggleVars(): void {\r\n this.varsOpen = !this.varsOpen;\r\n }\r\n\r\n /**\r\n * Fetches the component's translations\r\n *\r\n * @protected\r\n */\r\n protected async _getTranslations(): Promise<void> {\r\n const translations = await getLocaleComponentStrings(this.el);\r\n this._translations = translations[0] as typeof SolutionTemplateData_T9n;\r\n }\r\n}\r\n"]}
@@ -166,3 +166,4 @@ export class SolutionVariables {
166
166
  }];
167
167
  }
168
168
  }
169
+ //# sourceMappingURL=solution-variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solution-variables.js","sourceRoot":"","sources":["../../../src/components/solution-variables/solution-variables.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAS,KAAK,EAAE,MAAM,eAAe,CAAC;AAG5G,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAQ/D,MAAM,OAAO,iBAAiB;;iBAmBoB,EAAE;8BA2CO,EAAE;;;EAzC3C,iBAAiB;IAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACnD,CAAC;EAED,4EAA4E;EAC5E,EAAE;EACF,aAAa;EACb,EAAE;EACF,4EAA4E;EAE5E;;KAEG;EACH,iBAAiB;IACf,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;EACjC,CAAC;EAED;;KAEG;EACH,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACH;QACE,UAAI,KAAK,EAAC,gBAAgB,IAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAM,CAC7D;MACN,WAAK,KAAK,EAAC,kBAAkB;QAC3B,oBAAc,EAAE,EAAC,gBAAgB,IAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAClC,CACX,CACD,CACR,CAAC;EACJ,CAAC;EA8BD,4EAA4E;EAC5E,EAAE;EACF,0BAA0B;EAC1B,EAAE;EACF,4EAA4E;EAE5E,4EAA4E;EAC5E,EAAE;EACF,mBAAmB;EACnB,EAAE;EACF,4EAA4E;EAE5E;;;;KAIG;EACH,gBAAgB,CACd,IAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;MAC/B,OAAO,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACvD,yBAAmB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QAC1D,0BAAoB,IAAI,EAAE,GAAG,CAAC,IAAI,GAAI;QACtC,YAAM,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAG,GAAG,CAAC,KAAK,CAAQ;QAC5D,oBAAc,IAAI,EAAC,UAAU,IAC1B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAC3B,CACG,CACrB,CAAC,CAAC,CAAC,CACF,yBAAmB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,IACxE,GAAG,CAAC,KAAK,CACQ,CACrB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;EACnB,CAAC;EAED;;;;;KAKG;EACO,iBAAiB,CACzB,EAAU,EACV,KAAa;IAEb,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;MACjC,MAAM,EAAE,EAAE;MACV,KAAK;KACN,CAAC,CAAC;EACL,CAAC;EAED;;;;KAIG;EACO,aAAa,CACrB,MAAW,SAAS;;IAEpB,MAAM,QAAQ,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,0CAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3D,IAAI,QAAQ,EAAE;MACZ,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACxC;EACH,CAAC;EAED;;;;KAIG;EACO,KAAK,CAAC,gBAAgB;IAC9B,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,CAAiC,CAAC;EACvE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, Event, EventEmitter, Host, h, Prop, State, VNode, Watch } from '@stencil/core';\r\nimport { IVariableItem } from '../../utils/interfaces';\r\nimport SolutionVariables_T9n from '../../assets/t9n/solution-variables/resources.json';\r\nimport { getLocaleComponentStrings } from '../../utils/locale';\r\n\r\n@Component({\r\n tag: 'solution-variables',\r\n styleUrl: 'solution-variables.scss',\r\n shadow: true,\r\n})\r\n\r\nexport class SolutionVariables {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Element() el: HTMLSolutionVariablesElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the public value for this component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) value = \"\";\r\n\r\n @Watch(\"value\") valueWatchHandler(): void {\r\n this._solutionVariables = JSON.parse(this.value);\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * StencilJS: Called once just after the component is first connected to the DOM.\r\n */\r\n componentWillLoad(): Promise<void> {\r\n return this._getTranslations();\r\n }\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n render(): VNode {\r\n return (\r\n <Host>\r\n <div>\r\n <h4 class=\"org-var-header\">{this._translations.solVariables}</h4>\r\n </div>\r\n <div class=\"container-border\">\r\n <calcite-tree id=\"variable-label\">\r\n {this._renderHierarchy(this._solutionVariables)}\r\n </calcite-tree>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @State() protected _solutionVariables: IVariableItem[] = [];\r\n\r\n /**\r\n * Contains the translations for this component.\r\n * All UI strings should be defined here.\r\n */\r\n @State() protected _translations: typeof SolutionVariables_T9n;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Event Listeners\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Event() solutionVariableSelected: EventEmitter<{ itemId: string, value: string }>;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Public Methods (async)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Render the solution item variables that the user can insert into temaplates at runtime.\r\n *\r\n * @param objs a list of variable items that have been gathered from the solutions templates\r\n */\r\n _renderHierarchy(\r\n objs: IVariableItem[]\r\n ): VNode[] {\r\n const hierarchy = objs.map(obj => {\r\n return obj.dependencies && obj.dependencies.length > 0 ? (\r\n <calcite-tree-item onClick={(evt) => this._toggleExpand(evt)}>\r\n <solution-item-icon type={obj.type} />\r\n <span class=\"icon-text\" title={obj.title}>{obj.title}</span>\r\n <calcite-tree slot=\"children\">\r\n {this._renderHierarchy(obj.dependencies)}\r\n </calcite-tree>\r\n </calcite-tree-item>\r\n ) : (\r\n <calcite-tree-item onClick={() => this._treeItemSelected(obj.id, obj.value)}>\r\n {obj.title}\r\n </calcite-tree-item>\r\n );\r\n });\r\n return hierarchy;\r\n }\r\n\r\n /**\r\n * Publishes the `solutionVariableSelected` event containing `itemId`, the id of the selected variable and the value of the variable.\r\n *\r\n * @param id Item id as reported by click event\r\n * @param value Variable id as reported by click event\r\n */\r\n protected _treeItemSelected(\r\n id: string,\r\n value: string\r\n ): void {\r\n this.solutionVariableSelected.emit({\r\n itemId: id,\r\n value\r\n });\r\n }\r\n\r\n /**\r\n * Toggle the tree item that was clicked\r\n *\r\n * @param evt the clicks mouse event\r\n */\r\n protected _toggleExpand(\r\n evt: any = undefined\r\n ): void {\r\n const treeItem = evt?.target?.closest(\"calcite-tree-item\");\r\n if (treeItem) {\r\n treeItem.expanded = !treeItem.expanded;\r\n }\r\n }\r\n\r\n /**\r\n * Fetches the component's translations\r\n *\r\n * @protected\r\n */\r\n protected async _getTranslations(): Promise<void> {\r\n const translations = await getLocaleComponentStrings(this.el);\r\n this._translations = translations[0] as typeof SolutionVariables_T9n;\r\n }\r\n}\r\n"]}
@@ -125,3 +125,4 @@ export class StoreManager {
125
125
  }
126
126
  static get elementRef() { return "el"; }
127
127
  }
128
+ //# sourceMappingURL=store-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-manager.js","sourceRoot":"","sources":["../../../src/components/store-manager/store-manager.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;EASE;AAEF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAS,MAAM,eAAe,CAAC;AAQrF,MAAM,OAAO,YAAY;;iBAmByB,EAAE;qBAKS,EAAE;;;EAO7D,4EAA4E;EAC5E,EAAE;EACF,aAAa;EACb,EAAE;EACF,4EAA4E;EAE5E,iBAAiB;IACf,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC5B,CAAC;EAED;;KAEG;EACH,MAAM;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC;EAChB,CAAC;EAkBD;;;KAGG;EACO,kBAAkB;IAC1B,oBAAoB;IACpB,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,EAAE;MAC9C,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO;UACtE,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,QAAQ,KAAK,EAAE,EAAE;UACnD;;;;;;;;;;YAUE;UACF,OAAO,IAAI,CAAC;SACb;MACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;EACtF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * The json-editor componet leverages a stencil/store to manage data.\r\n * If a component uses the json-editor but does not have logic to hydrate the store this component can be used.\r\n * It will create and hydrate the store based on the value provided.\r\n *\r\n * The value must be a string so it can be observed by the MutationObserver implemented below.\r\n * The observer does not notify when passing complex attributes as you can with stencil.\r\n *\r\n *\r\n*/\r\n\r\nimport { Component, Element, Event, EventEmitter, Prop, VNode } from '@stencil/core';\r\n//import { state } from '../../utils/editStore';\r\nimport { /*getItemDataAsJson,*/ UserSession } from '@esri/solution-common';\r\n\r\n@Component({\r\n tag: 'store-manager',\r\n shadow: false\r\n})\r\nexport class StoreManager {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n @Element() el: HTMLStoreManagerElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains source json as a string\r\n *\r\n */\r\n @Prop({ mutable: true, reflect: true }) value = \"\";\r\n\r\n /**\r\n * Templates for the current solution\r\n */\r\n @Prop({ mutable: true, reflect: true }) templates: any[] = [];\r\n\r\n /**\r\n * Credentials for requests\r\n */\r\n @Prop({ mutable: true }) authentication: UserSession;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n connectedCallback(): void {\r\n this._initValueObserver();\r\n }\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n render(): VNode {\r\n return (null);\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Event() stateLoaded: EventEmitter<any>;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n protected _valueObserver;\r\n\r\n /**\r\n * Initialize the observer that will monitor and respond to changes in the value.\r\n * When we get a new value we are dealinmg with a new solution and need to fetch the items data and load the state.\r\n */\r\n protected _initValueObserver(): void {\r\n //const self = this;\r\n this._valueObserver = new MutationObserver(ml => {\r\n ml.some(mutation => {\r\n const newValue = mutation.target[mutation.attributeName];\r\n if (mutation.type === 'attributes' && mutation.attributeName === \"value\" &&\r\n newValue !== mutation.oldValue && newValue !== \"\") {\r\n /*\r\n const v = JSON.parse(newValue);\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n getItemDataAsJson(v, self.authentication).then(data => {\r\n state.models = getModels(Array.isArray(v) ? v : [v], self.authentication, v);\r\n state.featureServices = getFeatureServices(Array.isArray(v) ? v : [v])\r\n state.get(\"spatialReferenceInfo\") = getSpatialReferenceInfo(state.featureServices, data);\r\n self.templates = v;\r\n self.stateLoaded.emit(state);\r\n });\r\n */\r\n return true;\r\n }\r\n })\r\n });\r\n this._valueObserver.observe(this.el, { attributes: true, attributeOldValue: true });\r\n }\r\n}\r\n"]}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nexport { Components, JSX } from './components';\r\n"]}
@@ -294,3 +294,4 @@ function _updateTemplateResourcePaths(data, id, updateType, path, sourceFileName
294
294
  return t;
295
295
  });
296
296
  }
297
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/utils/common.ts"],"names":[],"mappings":"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","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/*\r\n | Helper functions from solutions-common\r\n*/\r\n\r\nimport {\r\n convertItemResourceToStorageResource,\r\n EFileType,\r\n IItemUpdate,\r\n updateItem,\r\n UserSession,\r\n SolutionTemplateFormatVersion\r\n} from \"@esri/solution-common\";\r\nimport { EUpdateType, IResourcePath, IResponse, ISolutionModel, ISolutionModels } from \"./interfaces\";\r\nimport {\r\n addItemResource,\r\n IItemResourceOptions,\r\n removeItemResource,\r\n updateItemResource\r\n} from \"@esri/arcgis-rest-portal\";\r\n\r\n/**\r\n * Get an array from a list of nodes\r\n *\r\n * @param nodeList list of nodes\r\n *\r\n * @returns array of nodes\r\n */\r\nexport function nodeListToArray<T extends Element>(nodeList: HTMLCollectionOf<T> | NodeListOf<T> | T[]): T[] {\r\n return Array.isArray(nodeList) ? nodeList : Array.from(nodeList);\r\n}\r\n\r\n/**\r\n * Saves any updated templates to the current solution item\r\n *\r\n * @param templates the updated templates array\r\n * @param thumbnailurl url for the items thumbnail\r\n * @param id for the solution item\r\n * @param data the current solution items data\r\n * @param authentication credentials for the request\r\n * @param translations translated strings for messages\r\n *\r\n * @returns a promise that will resolve with a success true/false response\r\n */\r\nexport async function save(\r\n id: string,\r\n data: any,\r\n models: ISolutionModels,\r\n authentication: UserSession,\r\n translations: any\r\n): Promise<IResponse> {\r\n\r\n const itemInfo: IItemUpdate = { id };\r\n\r\n const params: any = {\r\n text: data\r\n };\r\n\r\n await _updateResources(id, models, data, authentication);\r\n\r\n // TODO compare data with the source data in the model...should be able to\r\n // understand if it has changes\r\n // TODO...only update if has changes\r\n const updateResults = await updateItem(\r\n itemInfo,\r\n authentication,\r\n undefined,\r\n params\r\n );\r\n\r\n return Promise.resolve({\r\n success: updateResults.success,\r\n message: updateResults.success ? translations.editsSaved : translations.saveFailed\r\n });\r\n}\r\n\r\n/**\r\n * Updates the solutions thumbnail and data resources\r\n *\r\n * @param solutionId id for the solution\r\n * @param models the models for the solutions templates\r\n * @param data the current data object for the solution\r\n * @param authentication credentials for the request\r\n *\r\n * @returns a promise that will resolve with response results\r\n */\r\nexport async function _updateResources(\r\n solutionId: string,\r\n models: ISolutionModels,\r\n data: any,\r\n authentication: UserSession\r\n): Promise<any> {\r\n return new Promise<any>((resolve, reject) => {\r\n const promises = [];\r\n Object.keys(models).forEach(itemId => {\r\n const model: ISolutionModel = models[itemId];\r\n promises.push(_updateThumbnailResource(\r\n solutionId,\r\n model,\r\n data,\r\n authentication\r\n ));\r\n _updateFileResources(\r\n solutionId,\r\n model,\r\n data,\r\n promises,\r\n authentication\r\n );\r\n });\r\n if (promises.length > 0) {\r\n Promise.all(promises).then(resolve, reject);\r\n } else {\r\n resolve({success: true})\r\n }\r\n })\r\n}\r\n\r\n/**\r\n * Updates the solutions thumbnail and data resources\r\n *\r\n * @param solutionId id for the solution\r\n * @param model the model for the current solution template\r\n * @param authentication credentials for the request\r\n *\r\n * @returns a promise that will resolve with response results\r\n */\r\nfunction _updateThumbnailResource(\r\n solutionId: string,\r\n model: ISolutionModel,\r\n data: any,\r\n authentication: UserSession\r\n): Promise<any> {\r\n return new Promise<any>((resolve, reject) => {\r\n if (model.thumbnailNew) {\r\n if (model.thumbnailOrigin) {\r\n const name: string = model.thumbnailOrigin.name;\r\n\r\n const opts: IItemResourceOptions = {\r\n id: solutionId,\r\n authentication,\r\n resource: model.thumbnailNew,\r\n name\r\n };\r\n\r\n const resources = model.resources.filter(r => r.endsWith(name));\r\n if (resources.length === 1) {\r\n const nameParts = resources[0].split(\"/\");\r\n if (nameParts.length === 2) {\r\n opts.prefix = nameParts[0];\r\n }\r\n }\r\n updateItemResource(opts).then(resolve, reject);\r\n } else {\r\n // if the item does not have an origin thumb we need to add rather than update\r\n const resourceFilePath: IResourcePath = {\r\n type: EFileType.Thumbnail,\r\n folder: null,\r\n filename: model.thumbnailNew.name,\r\n url: \"\",\r\n blob: model.thumbnailNew,\r\n updateType: EUpdateType.Add\r\n };\r\n\r\n _add(solutionId, model, data, resourceFilePath, authentication, true).then(resolve, reject);\r\n }\r\n } else {\r\n resolve({success: true});\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Updates the solutions data resources\r\n *\r\n * This function will update the provided promises argument by adding add/remove/update promises\r\n *\r\n * @param solutionId id for the solution\r\n * @param model the model for the current solution template\r\n * @param data the current data object for the solution\r\n * @param promises list of add/remove/update promises\r\n * @param authentication credentials for the request\r\n */\r\nfunction _updateFileResources(\r\n solutionId: string,\r\n model: ISolutionModel,\r\n data: any,\r\n promises: Promise<any>[],\r\n authentication: UserSession\r\n): void {\r\n // add/remove/update resources\r\n model.resourceFilePaths.forEach(resourceFilePath => {\r\n switch (resourceFilePath.updateType) {\r\n case EUpdateType.Add:\r\n promises.push(_add(\r\n solutionId,\r\n model,\r\n data,\r\n resourceFilePath,\r\n authentication\r\n ));\r\n break;\r\n\r\n case EUpdateType.Remove:\r\n promises.push(_remove(\r\n solutionId,\r\n model,\r\n data,\r\n resourceFilePath,\r\n authentication\r\n ));\r\n break;\r\n\r\n case EUpdateType.Update:\r\n promises.push(_update(\r\n solutionId,\r\n model,\r\n resourceFilePath,\r\n authentication\r\n ));\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Generates add resource request\r\n *\r\n * @param solutionId id for the solution\r\n * @param model the model for the current solution template\r\n * @param data the current data object for the solution\r\n * @param resourceFilePath resource file info\r\n * @param authentication credentials for the request\r\n *\r\n * @returns a promise that will resolve to a response with success true/false\r\n */\r\nfunction _add(\r\n solutionId: string,\r\n model: ISolutionModel,\r\n data: any,\r\n resourceFilePath: IResourcePath,\r\n authentication: UserSession,\r\n isThumbnail = false\r\n): Promise<any> {\r\n return new Promise<any>((resolve, reject) => {\r\n const storageName = convertItemResourceToStorageResource(\r\n model.itemId + isThumbnail.toString() ? \"_info_thumbnail\" :\r\n ((resourceFilePath.blob as File).name === resourceFilePath.filename\r\n ? \"_info_data\"\r\n : \"_info_dataz\"),\r\n (resourceFilePath.blob as File).name,\r\n SolutionTemplateFormatVersion\r\n );\r\n\r\n const opts: IItemResourceOptions = {\r\n id: solutionId,\r\n authentication,\r\n resource: resourceFilePath.blob,\r\n name: storageName.filename,\r\n params: {}\r\n };\r\n\r\n if (storageName.folder) {\r\n opts.params = {\r\n resourcesPrefix: storageName.folder\r\n };\r\n }\r\n\r\n addItemResource(opts).then(results => {\r\n if (results.success) {\r\n _updateTemplateResourcePaths(\r\n data,\r\n model.itemId,\r\n EUpdateType.Add,\r\n opts.params?.resourcesPrefix ? `${opts.params.resourcesPrefix}/${opts.name}` : opts.name,\r\n \"\"\r\n );\r\n }\r\n resolve(results);\r\n }, reject);\r\n });\r\n}\r\n\r\n/**\r\n * Generates add resource request\r\n *\r\n * @param solutionId id for the solution\r\n * @param model the model for the current solution template\r\n * @param data the current data object for the solution\r\n * @param resourceFilePath resource file info\r\n * @param authentication credentials for the request\r\n *\r\n * @returns a promise that will resolve to a response with success true/false\r\n */\r\nfunction _remove(\r\n solutionId: string,\r\n model: ISolutionModel,\r\n data: any,\r\n resourceFilePath: IResourcePath,\r\n authentication: UserSession\r\n): Promise<any> {\r\n return new Promise<any>((resolve, reject) => {\r\n const name: string = resourceFilePath.filename;\r\n const resources = model.resources.filter(r => r.endsWith(name));\r\n if (resources.length > 0) {\r\n const opts: IItemResourceOptions = {\r\n id: solutionId,\r\n authentication,\r\n resource: resources[0]\r\n };\r\n removeItemResource(opts).then(results => {\r\n if (results.success) {\r\n _updateTemplateResourcePaths(\r\n data,\r\n model.itemId,\r\n EUpdateType.Remove,\r\n resources[0],\r\n \"\"\r\n );\r\n }\r\n resolve(results);\r\n }, reject);\r\n } else {\r\n resolve({ success: false })\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Generates update resource request\r\n *\r\n * @param solutionId id for the solution\r\n * @param model the model for the current solution template\r\n * @param resourceFilePath resource file info\r\n * @param authentication credentials for the request\r\n *\r\n * @returns a promise that will resolve to a response with success true/false\r\n */\r\nfunction _update(\r\n solutionId: string,\r\n model: ISolutionModel,\r\n resourceFilePath: IResourcePath,\r\n authentication: UserSession\r\n): Promise<any> {\r\n const sourceFileName: string = resourceFilePath.sourceFileName;\r\n\r\n const opts: IItemResourceOptions = {\r\n id: solutionId,\r\n authentication,\r\n resource: resourceFilePath.blob,\r\n name: sourceFileName\r\n };\r\n\r\n const resources = model.resources.filter(r => r.endsWith(sourceFileName));\r\n if (resources.length === 1) {\r\n const nameParts = resources[0].split(\"/\");\r\n if (nameParts.length === 2) {\r\n opts.prefix = nameParts[0];\r\n }\r\n }\r\n\r\n return updateItemResource(opts);\r\n}\r\n\r\n/**\r\n * Update the resources paths for a given template\r\n *\r\n * This function will update the provided data argument with any new or removed resource paths\r\n *\r\n * @param data the current data object for the solution\r\n * @param id the id of the current template\r\n * @param updateType add/update/remove\r\n * @param path the resource prefix/name\r\n * @param sourceFileName from the current resourceFilePath\r\n *\r\n */\r\nfunction _updateTemplateResourcePaths(\r\n data: any,\r\n id: string,\r\n updateType: EUpdateType,\r\n path: string,\r\n sourceFileName: string\r\n): void {\r\n data.templates = data.templates.map(t => {\r\n if (t.itemId === id) {\r\n switch (updateType) {\r\n case EUpdateType.Add:\r\n t.resources.push(path);\r\n break;\r\n case EUpdateType.Update:\r\n t.resources = t.resources.filter(r => r.indexOf(sourceFileName) < 0);\r\n t.resources.push(path);\r\n break;\r\n case EUpdateType.Remove:\r\n t.resources = t.resources.filter(r => r.indexOf(path) < 0);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n return t;\r\n })\r\n}"]}
@@ -55,3 +55,4 @@ function _downloadCSVFile(fieldNames, attributes, fileTitle) {
55
55
  document.body.removeChild(link);
56
56
  }
57
57
  }
58
+ //# sourceMappingURL=csvUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csvUtils.js","sourceRoot":"","sources":["../../src/utils/csvUtils.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,SAAkC,EAClC,GAAa;EAEb,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;EACjE,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;EAC9D,MAAM,UAAU,GAAG,EAAE,CAAC;EACtB,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;EAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;IAC7B,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;MAC3B,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACnB;EACH,CAAC,CAAC,CAAC;EACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CACvB,UAAmC,EACnC,UAAqC,EACrC,SAAiB;EAEjB,IAAI,UAAU,EAAE;IACd,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;GAChC;EACD,gFAAgF;EAChF,+DAA+D;EAC/D,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC1C,OAAO,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;EACzE,CAAC,EAAE,EAAE,CAAC,CAAC;EACP,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;EACzC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;IAC/B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;IACtF,IAAI,CAAC,QAAQ,GAAG,GAAG,SAAS,MAAM,IAAI,YAAY,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;GACjC;AACH,CAAC","sourcesContent":["// May change this but doing this for now so the download button will do something\r\n\r\nimport { queryFeaturesByID } from \"./queryUtils\";\r\n\r\n/**\r\n * Export a csv of the attributes from the features that match the provided ids\r\n *\r\n * @param layerView layer view to query\r\n * @param ids number array of ids to export to csv\r\n *\r\n * @returns Promise when the function has completed\r\n */\r\nexport async function exportCSV(\r\n layerView: __esri.FeatureLayerView,\r\n ids: number[]\r\n): Promise<void> {\r\n const featureSet = await queryFeaturesByID(ids, layerView.layer);\r\n const attributes = featureSet.features.map(f => f.attributes);\r\n const fieldNames = {};\r\n const entry = attributes[0];\r\n Object.keys(entry).forEach(k => {\r\n if (entry.hasOwnProperty(k)) {\r\n fieldNames[k] = k;\r\n }\r\n });\r\n _downloadCSVFile(fieldNames, attributes, `notify-${Date.now().toString()}`);\r\n}\r\n\r\n/**\r\n * Download the CSV file\r\n *\r\n * @param fieldNames the names for each of the features fields\r\n * @param attributes the features attributes\r\n *\r\n * Based on:\r\n * https://medium.com/@danny.pule/export-json-to-csv-file-using-javascript-a0b7bc5b00d2\r\n *\r\n * @returns void\r\n */\r\nfunction _downloadCSVFile(\r\n fieldNames: {[key: string]: string},\r\n attributes: {[key: string]: string}[],\r\n fileTitle: string\r\n): void {\r\n if (fieldNames) {\r\n attributes.unshift(fieldNames);\r\n }\r\n // format values to string so it doesn't get tripped up when a value has a comma\r\n // another option could be to export with a different delimiter\r\n const csv = attributes.reduce((prev, cur) => {\r\n return prev + Object.values(cur).map(v => `\"${v}\"`).join(\",\") + \"\\r\\n\";\r\n }, \"\");\r\n const link = document.createElement(\"a\");\r\n if (link.download !== undefined) {\r\n link.href = URL.createObjectURL(new Blob([csv], { type: \"text/csv;charset=utf-8;\" }));\r\n link.download = `${fileTitle}.csv` || \"export.csv\";\r\n link.style.visibility = \"hidden\";\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n}\r\n"]}
@@ -66,3 +66,4 @@ export var ESelectionType;
66
66
  ESelectionType["POLY"] = "POLY";
67
67
  ESelectionType["RECT"] = "RECT";
68
68
  })(ESelectionType || (ESelectionType = {}));
69
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/utils/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH;;GAEG;AACH,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;EACrB,2CAAG,CAAA;EACH,iDAAM,CAAA;EACN,iDAAM,CAAA;EACN,6CAAI,CAAA;EACJ,qDAAQ,CAAA;AACV,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;EACrB,2CAAG,CAAA;EACH,2CAAG,CAAA;AACL,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;EACnB,yCAAI,CAAA;EACJ,6CAAM,CAAA;EACN,6CAAM,CAAA;EACN,uCAAG,CAAA;EACH,uCAAG,CAAA;AACL,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;EACrB,0BAAS,CAAA;EACT,gCAAe,CAAA;AACjB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;EACxB,6BAAS,CAAA;EACT,mCAAe,CAAA;AACjB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;EACvB,kCAAe,CAAA;EACf,kCAAe,CAAA;EACf,kCAAe,CAAA;EACf,kCAAe,CAAA;AACjB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;EACxB,iCAAa,CAAA;EACb,+BAAW,CAAA;EACX,+BAAW,CAAA;EACX,+BAAW,CAAA;AACb,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport {\r\n IDeployFileCopyPath,\r\n IItemTemplate\r\n} from '@esri/solution-common';\r\n\r\n/**\r\n * Resource update types\r\n */\r\nexport enum EUpdateType {\r\n Add,\r\n Update,\r\n Remove,\r\n None,\r\n Obsolete\r\n}\r\n\r\nexport enum EExportType {\r\n PDF,\r\n CSV\r\n}\r\n\r\nexport enum EPageType {\r\n LIST,\r\n SELECT,\r\n REFINE,\r\n PDF,\r\n CSV\r\n}\r\n\r\nexport enum ERefineMode {\r\n ALL=\"ALL\",\r\n SUBSET=\"SUBSET\"\r\n}\r\n\r\nexport enum ESelectionMode {\r\n ADD=\"ADD\",\r\n REMOVE=\"REMOVE\"\r\n}\r\n\r\nexport enum EWorkflowType {\r\n SEARCH=\"SEARCH\",\r\n SELECT=\"SELECT\",\r\n SKETCH=\"SKETCH\",\r\n REFINE=\"REFINE\"\r\n}\r\n\r\nexport enum ESelectionType {\r\n POINT=\"POINT\",\r\n LINE=\"LINE\",\r\n POLY=\"POLY\",\r\n RECT=\"RECT\"\r\n}\r\n/* eslint-enable no-unused-vars */\r\n\r\nexport type SelectionMode = \"single\" | \"multi\";\r\n\r\n/**\r\n * Key details from the templates item\r\n */\r\nexport interface IItemDetails {\r\n accessInformation?: string;\r\n description?: string;\r\n licenseInfo?: string;\r\n snippet: string;\r\n tags: string[];\r\n title: string;\r\n [key: string]: any;\r\n}\r\n\r\n/**\r\n * Key details used to show solution contents\r\n */\r\nexport interface IInventoryItem {\r\n id: string;\r\n title: string;\r\n dependencies?: IInventoryItem[];\r\n type: string;\r\n typeKeywords: string[];\r\n}\r\n\r\n/**\r\n * A templates share details\r\n */\r\nexport interface IItemShare {\r\n id: string;\r\n title: string;\r\n isShared: boolean;\r\n shareItem: boolean;\r\n type: string;\r\n typeKeywords: string[];\r\n}\r\n\r\n/**\r\n * Organization based variables the user can insert at runtime\r\n */\r\nexport interface IOrganizationVariableItem {\r\n id: string;\r\n title: string;\r\n value: string;\r\n}\r\n\r\n/**\r\n * Key details for items that support upload/download\r\n */\r\nexport interface IResourceItem {\r\n name: string;\r\n url: string;\r\n}\r\n\r\n/**\r\n * Standardized response type for promises\r\n */\r\nexport interface IResponse {\r\n success: boolean;\r\n message: string;\r\n}\r\n\r\n/**\r\n * Solution configuration details used to display solution contents\r\n */\r\nexport interface ISolutionConfiguration {\r\n contents: IInventoryItem[];\r\n}\r\n\r\n/**\r\n * Details used to display and store information about the item\r\n */\r\nexport interface ISolutionTemplateEdit {\r\n itemId: string;\r\n type: string;\r\n details: IItemDetails;\r\n data: any;\r\n properties: any;\r\n thumbnail: any;\r\n resourceFilePaths: IResourcePath[];\r\n groupDetails?: IItemShare[];\r\n}\r\n\r\nexport interface IItemTemplateEdit extends IItemTemplate {\r\n resourceFilePaths: IResourcePath[];\r\n thumbnail: any;\r\n groupDetails?: IItemShare[];\r\n}\r\n\r\n/**\r\n * A list of solution state info for each template in a solution\r\n */\r\nexport interface ISolutionTemplateEdits {\r\n [templateId: string]: ISolutionTemplateEdit;\r\n}\r\n\r\n//???\r\nexport interface ISolutionModel {\r\n dataModel: monaco.editor.ITextModel;\r\n dataOriginValue: string;\r\n propsModel: monaco.editor.ITextModel;\r\n propsOriginValue: string;\r\n propsDiffOriginValue: string;\r\n state: any;\r\n shareInfo: any;\r\n isEditing: boolean;\r\n itemId: string;\r\n updateItemValues: any;\r\n originalItemValues: any;\r\n name: string;\r\n title: string;\r\n itemOriginValue: string;\r\n spatialReference: any;\r\n resources: string[];\r\n resourceFilePaths: IResourcePath[];\r\n sourceResourceFilePaths: IResourcePath[];\r\n thumbnailOrigin: any;\r\n thumbnailNew: any;\r\n type: string;\r\n}\r\n\r\n/**\r\n * A list of solution models for each template in a solution\r\n */\r\nexport interface ISolutionModels {\r\n [key: string]: ISolutionModel;\r\n}\r\n//???\r\n\r\n/**\r\n * Feature service name and whether the service is enabled for SR configuration\r\n */\r\nexport interface IFeatureServiceEnabledStatus {\r\n name: string;\r\n enabled: boolean;\r\n}\r\n\r\n/**\r\n * Hash of service name: enabled (should it honor the user defined spatial reference)\r\n */\r\nexport interface IServiceInfo {\r\n [key: string]: boolean;\r\n}\r\n\r\n/**\r\n * Key spatial reference information for the solution\r\n */\r\nexport interface ISolutionSpatialReferenceInfo {\r\n enabled: boolean;\r\n services: IServiceInfo;\r\n spatialReference: string | number;\r\n}\r\n\r\n/**\r\n * Key spatial reference information\r\n */\r\nexport interface ISpatialRefRepresentation {\r\n display: string;\r\n usingWkid: boolean;\r\n wkid: number;\r\n wkt: string;\r\n}\r\n\r\n/**\r\n * Stores the data object for a template and indicator if it supports upload/download\r\n */\r\nexport interface ITemplateData {\r\n resourceItem?: IResourceItem;\r\n value?: any;\r\n}\r\n\r\n/**\r\n * Stores updated templates that contain runtime changes from the user\r\n */\r\nexport interface IUpdateTemplateResponse {\r\n templates: any[];\r\n errors: string[];\r\n}\r\n\r\n/**\r\n * Solution template based variables that the user can insert at runtime\r\n */\r\nexport interface IVariableItem {\r\n id: string;\r\n title: string;\r\n type?: string;\r\n value: string;\r\n dependencies?: IVariableItem[];\r\n}\r\n\r\n/**\r\n * WKID label and extent\r\n */\r\nexport interface IWkidDescription {\r\n label: string;\r\n defaultExtent: string;\r\n}\r\n\r\n/**\r\n * Key details to manage resources\r\n */\r\nexport interface IResourcePath extends IDeployFileCopyPath {\r\n blob?: any; // This will only be set when a new file is uploaded (add or update)\r\n sourceFileName?: string; // This will only be set when a file is being updated\r\n updateType: EUpdateType;\r\n}\r\n\r\n/**\r\n * A templates share details\r\n */\r\nexport interface ISearchConfig {\r\n layers: string[];\r\n layerUrl: string;\r\n locators: string[];\r\n locatorUrl: string;\r\n}\r\n\r\nexport interface ISearchResult {\r\n graphics: __esri.Graphic[];\r\n name: string;\r\n}\r\n\r\nexport interface ISelectionSet {\r\n id: number; // Date.Now() when the item is created...used to update a selection set\r\n workflowType: EWorkflowType;\r\n searchResult: any;\r\n buffer: __esri.Geometry;\r\n distance: number;\r\n download: boolean;\r\n unit: __esri.LinearUnits;\r\n label: string;\r\n selectedIds: number[];\r\n layerView: __esri.FeatureLayerView;\r\n geometries: __esri.Geometry[];\r\n refineSelectLayers: __esri.FeatureLayerView[];\r\n refineIds: IRefineIds;\r\n}\r\n\r\nexport interface IRefineIds {\r\n addIds: number[];\r\n removeIds: number[];\r\n}\r\n\r\nexport interface IQueryExtentResponse {\r\n count: number;\r\n extent: __esri.Extent;\r\n}\r\n\r\nexport interface IRefineOperation {\r\n mode: ESelectionMode;\r\n ids: number[];\r\n}\r\n"]}
@@ -88,3 +88,4 @@ export async function formatNumber(number, options) {
88
88
  places,
89
89
  });
90
90
  }
91
+ //# sourceMappingURL=languageUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageUtil.js","sourceRoot":"","sources":["../../src/utils/languageUtil.ts"],"names":[],"mappings":"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","sourcesContent":["/*\r\n * Copyright (c) 2022 Esri\r\n * All rights reserved.\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { loadModules } from \"./loadModules\";\r\nimport { APIVersion } from \"./types\";\r\n\r\nexport const languageMap = new Map<string, string>([\r\n [\"ar\", \"ar\"],\r\n [\"bg\", \"bg\"],\r\n [\"bs\", \"bs\"],\r\n [\"ca\", \"ca\"],\r\n [\"cs\", \"cs\"],\r\n [\"da\", \"da\"],\r\n [\"de\", \"de\"],\r\n [\"el\", \"el\"],\r\n [\"en\", \"en\"],\r\n [\"es\", \"es\"],\r\n [\"et\", \"et\"],\r\n [\"fi\", \"fi\"],\r\n [\"fr\", \"fr\"],\r\n [\"he\", \"he\"],\r\n [\"hr\", \"hr\"],\r\n [\"hu\", \"hu\"],\r\n [\"id\", \"id\"],\r\n [\"it\", \"it\"],\r\n [\"ja\", \"ja\"],\r\n [\"ko\", \"ko\"],\r\n [\"lt\", \"lt\"],\r\n [\"lv\", \"lv\"],\r\n [\"nb\", \"nb\"],\r\n [\"nl\", \"nl\"],\r\n [\"pl\", \"pl\"],\r\n [\"pt-br\", \"pt-BR\"],\r\n [\"pt-pt\", \"pt-PT\"],\r\n [\"ro\", \"ro\"],\r\n [\"ru\", \"ru\"],\r\n [\"sk\", \"sk\"],\r\n [\"sl\", \"sl\"],\r\n [\"sr\", \"sr\"],\r\n [\"sv\", \"sv\"],\r\n [\"th\", \"th\"],\r\n [\"tr\", \"tr\"],\r\n [\"uk\", \"uk\"],\r\n [\"vi\", \"vi\"],\r\n [\"zh-cn\", \"zh-CN\"],\r\n [\"zh-hk\", \"zh-HK\"],\r\n [\"zh-tw\", \"zh-TW\"],\r\n]);\r\n\r\n// rtl\r\nexport function getElementDir(el: HTMLElement): \"ltr\" | \"rtl\" {\r\n return getElementProp(el, \"dir\", \"ltr\");\r\n}\r\n\r\nfunction getElementProp(el: HTMLElement, prop, value): any {\r\n const closestWithProp = el.closest(`[${prop}]`);\r\n return closestWithProp ? closestWithProp.getAttribute(prop) : value;\r\n}\r\n\r\n// css\r\nexport const CSS_UTILITY = {\r\n rtl: \"arcgis--rtl\",\r\n} as const;\r\n\r\nexport async function formatNumber(\r\n number: number,\r\n options?: {\r\n api: APIVersion;\r\n type: \"decimal\" | \"percent\";\r\n places: number;\r\n },\r\n): Promise<string> {\r\n const { api = 4, type = \"decimal\", places = 2 } = options || {};\r\n if (api === 4) {\r\n const [intl] = await loadModules([\"esri/intl\"]);\r\n const numberFormatIntlOptions = intl.convertNumberFormatToIntlOptions({\r\n places,\r\n type,\r\n digitSeparator: true,\r\n });\r\n return intl.formatNumber(number, numberFormatIntlOptions);\r\n }\r\n const [dojoNumber] = await loadModules([\"dojo/number\"]);\r\n return dojoNumber.format(number, {\r\n type,\r\n places,\r\n });\r\n}\r\n"]}
@@ -23,3 +23,4 @@ export const loadModules = async (moduleNames, options) => {
23
23
  const mods = await _loadModules(moduleNames, options);
24
24
  return mods.map((mod) => (mod.__esModule && mod.default ? mod.default : mod));
25
25
  };
26
+ //# sourceMappingURL=loadModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadModules.js","sourceRoot":"","sources":["../../src/utils/loadModules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAsB,WAAW,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,WAAqB,EAAE,OAA4B,EAAgB,EAAE;EACrG,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;EACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { ILoadScriptOptions, loadModules as _loadModules } from \"esri-loader\";\r\n\r\nexport const loadModules = async (moduleNames: string[], options?: ILoadScriptOptions): Promise<any> => {\r\n const mods = await _loadModules(moduleNames, options);\r\n return mods.map((mod) => (mod.__esModule && mod.default ? mod.default : mod));\r\n};\r\n"]}
@@ -59,3 +59,4 @@ export async function getLocaleComponentStrings(element) {
59
59
  }
60
60
  return [strings, componentLanguage];
61
61
  }
62
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/utils/locale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,qGAAqG;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,SAAS,2BAA2B,CAAC,OAAoB;;EACvD,MAAM,cAAc,GAAG,MAAA,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAE,mCAAI,MAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,aAAa,0CAAE,eAAsB,CAAC;EACjH,2EAA2E;EAC3E,MAAM,IAAI,GAAG,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAE;EAClF,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;IACzB,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;GAC9B;OAAM;IACL,gCAAgC;IAChC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;GACrF;AACH,CAAC;AAQD,SAAS,8BAA8B,CAAwC,aAAqB,EAAE,MAAc;EAClH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;IAC3C,KAAK,CAAC,YAAY,CAAC,iBAAiB,aAAa,cAAc,MAAM,OAAO,CAAC,CAAC,CAAC,IAAI,CACjF,MAAM,CAAC,EAAE;MACP,IAAI,MAAM,CAAC,EAAE,EAAE;QAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;OAAC;WACnC;QAAC,MAAM,EAAE,CAAC;OAAC;IAClB,CAAC,EACD,GAAG,EAAE,CAAC,MAAM,EAAE,CACf,CAAC;EACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAwC,OAAoB;EACzG,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;EACpD,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;EAC/D,IAAI,OAAU,CAAC;EACf,IAAI;IACF,OAAO,GAAG,MAAM,8BAA8B,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;GAClF;EAAC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI,CAAC,iBAAiB,aAAa,KAAK,iBAAiB,8BAA8B,CAAC,CAAC;IACjG,OAAO,GAAG,MAAM,8BAA8B,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;GACrE;EACD,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACtC,CAAC","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n// https://medium.com/stencil-tricks/implementing-internationalisation-i18n-with-stencil-5e6559554117\r\nimport { languageMap } from \"./languageUtil\";\r\nimport { getAssetPath } from \"@stencil/core\";\r\n\r\nfunction getComponentClosestLanguage(element: HTMLElement): string | undefined {\r\n const closestElement = (element.closest(\"[lang]\") ) ?? element.shadowRoot?.ownerDocument?.documentElement as any;\r\n // language set by the calling application or browser. defaults to english.\r\n const lang = (closestElement?.lang || navigator?.language || \"en\").toLowerCase() ;\r\n if (languageMap.has(lang)) {\r\n return languageMap.get(lang);\r\n } else {\r\n // \"ru-RU\" maps to \"ru\" use case\r\n return languageMap.has(lang.slice(0, 2)) ? languageMap.get(lang.slice(0, 2)) : \"en\";\r\n }\r\n}\r\n\r\ntype StringValue = string | StringBundle;\r\n\r\ninterface StringBundle {\r\n [key: string]: StringValue;\r\n}\r\n\r\nfunction fetchLocaleStringsForComponent<T extends StringBundle = StringBundle>(componentName: string, locale: string): Promise<T> {\r\n return new Promise((resolve, reject): void => {\r\n fetch(getAssetPath(`../assets/t9n/${componentName}/resources_${locale}.json`)).then(\r\n result => {\r\n if (result.ok) {resolve(result.json());}\r\n else {reject();}\r\n },\r\n () => reject(),\r\n );\r\n });\r\n}\r\n\r\nexport async function getLocaleComponentStrings<T extends StringBundle = StringBundle>(element: HTMLElement): Promise<[T, string]> {\r\n const componentName = element.tagName.toLowerCase();\r\n const componentLanguage = getComponentClosestLanguage(element);\r\n let strings: T;\r\n try {\r\n strings = await fetchLocaleStringsForComponent(componentName, componentLanguage);\r\n } catch (e) {\r\n console.warn(`no locale for ${componentName} (${componentLanguage}) loading default locale en.`);\r\n strings = await fetchLocaleStringsForComponent(componentName, \"en\");\r\n }\r\n return [strings, componentLanguage];\r\n}\r\n"]}
@@ -124,3 +124,4 @@ export async function goToSelection(ids, layerView, mapView, flashFeatures = tru
124
124
  await flashSelection(ids, layerView);
125
125
  }
126
126
  }
127
+ //# sourceMappingURL=mapViewUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapViewUtils.js","sourceRoot":"","sources":["../../src/utils/mapViewUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAuB;EAEvB,IAAI,UAAU,GAAG,EAAE,CAAC;EACpB,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACtB,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;MAClD,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EACH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAuB,EACvB,KAAa;EAEb,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EAChD,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAuB,EACvB,KAAa;EAEb,IAAI,MAAM,GAAG,EAAE,CAAC;EAChB,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACtB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;MACjD,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EACH,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAa,EACb,SAAkC,EAClC,OAAuB,EACvB,YAAY,GAAG,KAAK;EAEpB,IAAI,YAAY,EAAE;IAChB,MAAM,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;GACrD;EACD,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAa,EACb,SAAkC;EAElC,MAAM,aAAa,GAAG;IACpB,SAAS,EAAE,GAAG;GACS,CAAC;EAC1B,SAAS,CAAC,aAAa,GAAG;IACxB,MAAM,EAAE,aAAa;IACrB,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,WAAW;GACJ,CAAC;EAE1B,UAAU,CAAC,GAAG,EAAE;IACd,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC;EACtC,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAa,EACb,SAAkC,EAClC,OAAuB,EACvB,aAAa,GAAG,IAAI;EAEpB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;EACvD,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;EAClC,IAAI,aAAa,EAAE;IACjB,MAAM,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;GACtC;AACH,CAAC","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { queryExtent } from \"./queryUtils\";\r\n\r\n/**\r\n * Gets the layer names from the current map\r\n * \r\n * @param mapView the map view to fetch the layer names from\r\n *\r\n * @returns Promise resolving with an array of layer names\r\n *\r\n */\r\nexport async function getMapLayerNames(\r\n mapView: __esri.MapView\r\n): Promise<string[]> {\r\n let layerNames = [];\r\n await mapView.when(() => {\r\n layerNames = mapView.map.layers.toArray().map((l) => {\r\n return l.title;\r\n });\r\n });\r\n return layerNames;\r\n}\r\n\r\n/**\r\n * Get a layer view by title\r\n * \r\n * @param mapView the map view to fetch the layer from\r\n * @param title the title if the layer to fetch\r\n *\r\n * @returns Promise resolving with the fetched layer view\r\n *\r\n */\r\nexport async function getMapLayerView(\r\n mapView: __esri.MapView,\r\n title: string\r\n): Promise<__esri.FeatureLayerView> {\r\n const layer = await getMapLayer(mapView, title);\r\n return layer ? await mapView.whenLayerView(layer) : undefined;\r\n}\r\n\r\n/**\r\n * Get a layer by title\r\n * \r\n * @param mapView the map view to fetch the layer from\r\n * @param title the title if the layer to fetch\r\n *\r\n * @returns Promise resolving with the fetched layer\r\n *\r\n */\r\nexport async function getMapLayer(\r\n mapView: __esri.MapView,\r\n title: string\r\n): Promise<__esri.FeatureLayer> {\r\n let layers = [];\r\n await mapView.when(() => {\r\n layers = mapView.map.layers.toArray().filter((l) => {\r\n return l.title === title;\r\n });\r\n });\r\n return layers.length > 0 ? layers[0] : undefined;\r\n}\r\n\r\n/**\r\n * Highlight features by OID\r\n * \r\n * @param ids the OIDs from the layer to highlight\r\n * @param layerView the layer view to highlight\r\n * @param mapView the map view used if updateExtent is true\r\n * @param updateExtent optional (default false) boolean to indicate if we should zoom to the extent\r\n *\r\n * @returns Promise resolving with the highlight handle\r\n *\r\n */\r\nexport async function highlightFeatures(\r\n ids: number[],\r\n layerView: __esri.FeatureLayerView,\r\n mapView: __esri.MapView,\r\n updateExtent = false\r\n): Promise<__esri.Handle> {\r\n if (updateExtent) {\r\n await goToSelection(ids, layerView, mapView, false);\r\n }\r\n return layerView.highlight(ids);\r\n}\r\n\r\n/**\r\n * Flash features by OID\r\n * \r\n * @param ids the OIDs from the layer to highlight\r\n * @param layerView the layer view to highlight\r\n *\r\n * @returns Promise resolving when the operation is complete\r\n *\r\n */\r\nexport async function flashSelection(\r\n ids: number[],\r\n layerView: __esri.FeatureLayerView\r\n): Promise<void> {\r\n const featureFilter = {\r\n objectIds: ids\r\n } as __esri.FeatureFilter;\r\n layerView.featureEffect = {\r\n filter: featureFilter,\r\n includedEffect: \"invert(100%)\",\r\n excludedEffect: \"blur(5px)\"\r\n } as __esri.FeatureEffect;\r\n\r\n setTimeout(() => {\r\n layerView.featureEffect = undefined;\r\n }, 1300);\r\n}\r\n\r\n/**\r\n * Zoom to features based on OID\r\n * \r\n * @param ids the OIDs from the layer to go to\r\n * @param layerView the layer view that contains the OIDs\r\n * @param mapView the map view to show the extent change\r\n * @param flashFeatures optional (default true) boolean to indicate if we should flash the features\r\n * \r\n * @returns Promise resolving when the operation is complete\r\n *\r\n */\r\nexport async function goToSelection(\r\n ids: number[],\r\n layerView: __esri.FeatureLayerView,\r\n mapView: __esri.MapView,\r\n flashFeatures = true\r\n): Promise<void> {\r\n const result = await queryExtent(ids, layerView.layer);\r\n await mapView.goTo(result.extent);\r\n if (flashFeatures) {\r\n await flashSelection(ids, layerView);\r\n }\r\n}\r\n"]}
@@ -34,3 +34,4 @@ onChange("managedLayers", () => {
34
34
  dispatchEvent(managedLayersChangedEvent);
35
35
  });
36
36
  export default state;
37
+ //# sourceMappingURL=publicNotificationStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicNotificationStore.js","sourceRoot":"","sources":["../../src/utils/publicNotificationStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;EACpC,oDAAoD;EACpD,aAAa,EAAE,EAAE;EACjB,sGAAsG;EACtG,eAAe,EAAE,SAAS;CAC7B,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,WAAW,CAAC,sBAAsB,EAAE;EACtE,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,KAAK;EACjB,QAAQ,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;EAC3B,aAAa,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,eAAe,KAAK,CAAC","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { createStore } from \"@stencil/store\";\r\n\r\nconst { state, onChange } = createStore({\r\n // List of layers added and managed by the component\r\n managedLayers: [],\r\n // Handle: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Handles.html#Handle\r\n highlightHandle: undefined\r\n});\r\n\r\nconst managedLayersChangedEvent = new CustomEvent(\"managedLayersChanged\", {\r\n bubbles: true,\r\n cancelable: false,\r\n composed: true\r\n});\r\n\r\nonChange(\"managedLayers\", () => {\r\n dispatchEvent(managedLayersChangedEvent);\r\n});\r\n\r\nexport default state;"]}
@@ -29,3 +29,4 @@ export function getSelectionIds(selectionSets) {
29
29
  export function getTotal(selectionSets) {
30
30
  return [...new Set(getSelectionIds(selectionSets))].length;
31
31
  }
32
+ //# sourceMappingURL=publicNotificationUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicNotificationUtils.js","sourceRoot":"","sources":["../../src/utils/publicNotificationUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,MAAM,UAAU,eAAe,CAC7B,aAA8B;EAE9B,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACrD,OAAO;MACL,GAAG,IAAI;MACP,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;KACrE,CAAA;EACH,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,aAA8B;EAE9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/*\r\n | Helper functions used in multiple components for public notification\r\n*/\r\n\r\nimport { ISelectionSet } from \"./interfaces\";\r\n\r\nexport function getSelectionIds(\r\n selectionSets: ISelectionSet[]\r\n): number[] {\r\n return Object.keys(selectionSets).reduce((prev, cur) => {\r\n return [\r\n ...prev,\r\n ...selectionSets[cur].download ? selectionSets[cur].selectedIds : []\r\n ]\r\n }, []);\r\n}\r\n\r\nexport function getTotal(\r\n selectionSets: ISelectionSet[]\r\n): number {\r\n return [...new Set(getSelectionIds(selectionSets))].length;\r\n}\r\n"]}
@@ -156,3 +156,4 @@ async function _intersectQuery(geometry, layer) {
156
156
  q.geometry = geometry;
157
157
  return layer.queryObjectIds(q);
158
158
  }
159
+ //# sourceMappingURL=queryUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryUtils.js","sourceRoot":"","sources":["../../src/utils/queryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { EWorkflowType, ISelectionSet, IQueryExtentResponse } from \"./interfaces\";\r\n\r\n/**\r\n * Query the layer for OIDs based on any user drawn geometries or buffers\r\n *\r\n * @param geometries Array of geometries used for the selection of ids from the layer\r\n * @param layer the layer to retrieve ids from\r\n *\r\n * @returns Promise with the OIDs of features from the layer that interset the provided geometries\r\n */\r\nexport async function queryObjectIds(\r\n geometries: __esri.Geometry[],\r\n layer: __esri.FeatureLayer\r\n): Promise<number[]> {\r\n let ids = [];\r\n const queryDefs = geometries.map(g => _intersectQuery(g, layer))\r\n const results = await Promise.all(queryDefs);\r\n results.forEach(resultIds => {\r\n ids = [\r\n ...ids,\r\n ...resultIds\r\n ]\r\n });\r\n return ids;\r\n}\r\n\r\n/**\r\n * Query the layer for features that have the provided OIDs\r\n *\r\n * @param ids array of ObjectIDs to be used to query for features in a layer\r\n * @param layer the layer to retrieve features from\r\n *\r\n * @returns Promise with the featureSet from the layer that match the provided ids\r\n */\r\n export async function queryFeaturesByID(\r\n ids: number[],\r\n layer: __esri.FeatureLayer\r\n): Promise<__esri.FeatureSet> {\r\n const q = layer.createQuery();\r\n q.outFields = [\"*\"];\r\n q.objectIds = ids;\r\n return layer.queryFeatures(q);\r\n}\r\n\r\n/**\r\n * Query the layer for features that intersect the provided geometry\r\n *\r\n * @param start zero-based index indicating where to begin retrieving features\r\n * @param layer the layer to retrieve features from\r\n * @param geometry the geometry to apply to the spatial filter\r\n * @param featuresCollection\r\n *\r\n * @returns Promise with the featureSet from the layer that match the provided ids\r\n */\r\nexport async function queryFeaturesByGeometry(\r\n start: number,\r\n layer: __esri.FeatureLayer,\r\n geometry: __esri.Geometry,\r\n featuresCollection: {[key: string]: __esri.Graphic[]}\r\n): Promise<{[key: string]: __esri.Graphic[]}> {\r\n const num = layer.capabilities.query.maxRecordCount;\r\n const query = {\r\n start,\r\n num,\r\n outFields: [\"*\"],\r\n returnGeometry: true,\r\n geometry\r\n };\r\n\r\n const result = await layer.queryFeatures(query);\r\n featuresCollection[layer.title] = featuresCollection[layer.title].concat(\r\n result.features\r\n );\r\n\r\n return result.exceededTransferLimit ?\r\n queryFeaturesByGeometry(start += num, layer, geometry, featuresCollection) :\r\n Promise.resolve(featuresCollection);\r\n}\r\n\r\n/**\r\n * Query the layer for the extent of features with the provided OIDs\r\n *\r\n * @param ids array of ObjectIDs to be used to query for features in a layer\r\n * @param layer the layer to query\r\n *\r\n * @returns Promise with the Extent of all features that match the provided ids\r\n */\r\n export async function queryExtent(\r\n ids: number[],\r\n layer: __esri.FeatureLayer\r\n): Promise<IQueryExtentResponse> {\r\n const query = layer.createQuery();\r\n query.objectIds = ids;\r\n return layer.queryExtent(query);\r\n}\r\n\r\n/**\r\n * Union geometries based on geometry type\r\n *\r\n * @param geometries Array of geometries to union\r\n * @param geometryEngine the geometry engine instance to perform the unions\r\n *\r\n * @returns Array of single unioned geometry for each geometry type\r\n */\r\nexport function getQueryGeoms(\r\n geometries: __esri.Geometry[],\r\n geometryEngine: __esri.geometryEngine\r\n): __esri.Geometry[] {\r\n // sort and union by geom type so we have a single geom for each type to query with\r\n return [\r\n ..._unionGeoms(geometries, \"polygon\", geometryEngine),\r\n ..._unionGeoms(geometries, \"polyline\", geometryEngine),\r\n ..._unionGeoms(geometries, \"point\", geometryEngine)\r\n ];\r\n}\r\n\r\n/**\r\n * Get the appropriate ObjectIds query for the provided selection set\r\n *\r\n * @param selectionSet the current selection set to fetch the query for\r\n * @param geometryEngine the geometry engine instance to perform the union of the user drawn graphics or buffers\r\n *\r\n * @returns A promise that will resolve with ids that intersect the selection sets geometries\r\n */\r\nexport function getSelectionSetQuery(\r\n selectionSet: ISelectionSet,\r\n geometryEngine: __esri.geometryEngine\r\n): Promise<number[]> {\r\n let q = Promise.resolve([]);\r\n if (selectionSet.workflowType !== EWorkflowType.REFINE) {\r\n if (!selectionSet.buffer) {\r\n const queryGeoms = getQueryGeoms(\r\n selectionSet.geometries,\r\n geometryEngine\r\n );\r\n q = queryObjectIds(\r\n queryGeoms,\r\n selectionSet.layerView.layer\r\n );\r\n } else {\r\n // buffer is a single unioned geom\r\n q = queryObjectIds(\r\n [selectionSet.buffer],\r\n selectionSet.layerView.layer\r\n );\r\n }\r\n }\r\n return q;\r\n}\r\n\r\n/**\r\n * Union geometries based on geometry type\r\n *\r\n * @param geometries array of geometries to union\r\n * @param type the current geometry type to union\r\n * @param geometryEngine the geometry engine instance to perform the unions\r\n *\r\n * @returns Array of single unioned geometry for the provided geometry type\r\n */\r\n function _unionGeoms(\r\n geometries: __esri.Geometry[],\r\n type: string,\r\n geometryEngine: __esri.geometryEngine\r\n): __esri.Geometry[] {\r\n const geoms = geometries.filter(g => g.type === type);\r\n return geoms.length <= 1 ? geoms : [geometryEngine.union(geoms)];\r\n}\r\n\r\n/**\r\n * Query the layer for ObjectIds of features that intersect the provided geometry\r\n *\r\n * @param geometry Geometry used for the selection of ids from the select layer view\r\n * @param layer the layer to query\r\n *\r\n * @returns Promise that will contain the selected ids\r\n */\r\nasync function _intersectQuery(\r\n geometry: __esri.Geometry,\r\n layer: __esri.FeatureLayer\r\n): Promise<number[]> {\r\n const q = layer.createQuery();\r\n q.spatialRelationship = \"intersects\";\r\n q.geometry = geometry;\r\n return layer.queryObjectIds(q);\r\n}\r\n"]}
@@ -503,9 +503,9 @@ class SolutionStore {
503
503
  }
504
504
  return Promise.resolve();
505
505
  });
506
- delete t.resourceFilePaths;
507
- delete t.thumbnail;
508
- delete t.groupDetails;
506
+ //???delete t.resourceFilePaths;
507
+ //???delete t.thumbnail;
508
+ //???delete t.groupDetails;
509
509
  });
510
510
  // Update the resources
511
511
  return Promise.all(pendingTasks)
@@ -582,3 +582,4 @@ class SolutionStore {
582
582
  }
583
583
  }
584
584
  export default SolutionStore.Store;
585
+ //# sourceMappingURL=solution-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solution-store.js","sourceRoot":"","sources":["../../src/utils/solution-store.ts"],"names":[],"mappings":"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","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { createStore } from \"@stencil/store\";\r\nimport {\r\n EUpdateType,\r\n IFeatureServiceEnabledStatus,\r\n IItemShare,\r\n IItemTemplateEdit,\r\n IResourcePath,\r\n ISolutionTemplateEdits,\r\n ISolutionSpatialReferenceInfo\r\n} from './interfaces';\r\nimport {\r\n EFileType,\r\n SolutionTemplateFormatVersion,\r\n copyFilesToStorageItem,\r\n generateStorageFilePaths,\r\n getItemDataAsJson,\r\n getProp,\r\n getThumbnailFromStorageItem,\r\n IDeployFileCopyPath,\r\n IItemTemplate,\r\n IItemUpdate,\r\n ISolutionItemData,\r\n ISourceFile,\r\n isSupportedFileType,\r\n removeItemResourceFile,\r\n setCreateProp,\r\n updateItem,\r\n updateItemResourceFile,\r\n UserSession\r\n} from '@esri/solution-common';\r\n\r\n//--------------------------------------------------------------------------------------------------------------------//\r\n//\r\n// Loads a solution's definition and shares it as state across the solution configuration package components.\r\n//\r\n// Store contents:\r\n// * solutionItemId: [string] id of the current solution\r\n// * defaultWkid: [any] value of the solution's `params.wkid.default` data property, which may be undefined\r\n// * solutionData: [ISolutionItemData] the solution's data, which is modified in-place\r\n// * featureServices: [array] a list of Feature service enablement status for SR configuration\r\n// * spatialReferenceInfo: [object] the current spatial reference (if enabled) and the services that use it\r\n// * enabled: [boolean] use the spatial reference\r\n// * services: [object] services using this spatial reference organized by the service name\r\n// * spatialReference: [object] the spatial reference display\r\n//\r\n// Store singleton method:\r\n// * Store: Creates singleton instance when accessed; default export from module.\r\n// @example\r\n// import state from \"../solution-store\";\r\n// await state.loadSolution(...);\r\n//\r\n// Store instance methods:\r\n// * getItemInfo: Returns the stored information of an item.\r\n// * getStoreInfo: Returns a top-level store property: solutionItemId, defaultWkid, etc.\r\n// * loadSolution: Loads a Solution into the store from AGO.\r\n// * replaceItemThumbnail: Replaces the thumbnail associated with a template item in the store.\r\n// * saveSolution: Writes a Solution into AGO from the store.\r\n// * setItemInfo: Stores information for item.\r\n// * setStoreInfo: Sets a top-level store property: solutionItemId, defaultWkid, etc.\r\n//\r\n// Store events:\r\n// * solutionStoreHasChanges: Event for notifying if the store has changes or not.\r\n//\r\n//--------------------------------------------------------------------------------------------------------------------//\r\n\r\ninterface SolutionStoreData {\r\n solutionItemId: string,\r\n defaultWkid: string,\r\n solutionData: ISolutionItemData,\r\n templateEdits: ISolutionTemplateEdits,\r\n featureServices: IFeatureServiceEnabledStatus[],\r\n spatialReferenceInfo: ISolutionSpatialReferenceInfo\r\n}\r\n\r\nconst EmptySolutionStore: SolutionStoreData = {\r\n solutionItemId: \"\",\r\n defaultWkid: undefined,\r\n solutionData: { metadata: {}, templates: [] },\r\n templateEdits: {},\r\n featureServices: [],\r\n spatialReferenceInfo: {\r\n enabled: false,\r\n services: {},\r\n spatialReference: undefined\r\n }\r\n}\r\n\r\nclass SolutionStore\r\n{\r\n protected static _instance: SolutionStore;\r\n\r\n protected _store: any;\r\n\r\n protected _hasChanges = false;\r\n\r\n protected _authentication: UserSession;\r\n\r\n /**\r\n * Creates singleton instance when accessed; default export from module.\r\n *\r\n * @returns Static instance of the class\r\n */\r\n public static get Store(): SolutionStore {\r\n return this._instance || (this._instance = new this());\r\n }\r\n\r\n /**\r\n * Creates an empty store.\r\n *\r\n * @protected\r\n */\r\n protected constructor() {\r\n this._store = createStore({\r\n ...EmptySolutionStore\r\n });\r\n }\r\n\r\n /**\r\n * Returns the stored information of an item.\r\n *\r\n * @param itemId Id of item to fetch\r\n *\r\n * @returns Item information or `undefined` if not found\r\n */\r\n public getItemInfo(\r\n itemId: string\r\n ): IItemTemplateEdit {\r\n const templates = this._store.get(\"solutionData\").templates as IItemTemplateEdit[];\r\n\r\n let template: IItemTemplateEdit;\r\n templates.some((t: IItemTemplateEdit) => {\r\n if (itemId == t.itemId) {\r\n template = t;\r\n return true;\r\n }\r\n return false;\r\n });\r\n\r\n return template;\r\n }\r\n\r\n /**\r\n * Returns a top-level store property: solutionItemId, defaultWkid, etc.\r\n *\r\n * @param propName Name of property\r\n *\r\n * @returns Value of property\r\n */\r\n public getStoreInfo(\r\n propName: string\r\n ): any {\r\n return this._store.get(propName);\r\n }\r\n\r\n /**\r\n * Loads a Solution into the store from AGO.\r\n *\r\n * @param solutionItemId Id of the solution represented in the store\r\n * @param authentication Credentials for fetching information to be loaded into the store\r\n *\r\n * @returns Promise that resolves when task is done\r\n */\r\n public async loadSolution(\r\n solutionItemId: string,\r\n authentication: UserSession\r\n ): Promise<void> {\r\n this._authentication = authentication;\r\n\r\n const solutionData = await getItemDataAsJson(solutionItemId, authentication);\r\n if (solutionData) {\r\n const defaultWkid: string | number = getProp(solutionData, \"params.wkid.default\");\r\n await this._prepareSolutionItemsForEditing(solutionItemId, solutionData.templates, authentication);\r\n const featureServices = this._getFeatureServices(solutionData.templates);\r\n const spatialReferenceInfo = this._getSpatialReferenceInfo(featureServices, defaultWkid);\r\n\r\n this._store.set(\"solutionItemId\", solutionItemId);\r\n this._store.set(\"defaultWkid\", defaultWkid);\r\n this._store.set(\"solutionData\", solutionData);\r\n this._store.set(\"featureServices\", featureServices);\r\n this._store.set(\"spatialReferenceInfo\", spatialReferenceInfo);\r\n }\r\n this._flagStoreHasChanges(false);\r\n }\r\n\r\n /**\r\n * Queues the replacement of the thumbnail associated with a template item in the store.\r\n *\r\n * @param itemEdit Details of the template to modify, containing the new thumbnail in the `thumbnail`\r\n * property\r\n */\r\n public replaceItemThumbnail(\r\n itemEdit: IItemTemplateEdit\r\n ): void {\r\n // Flag the current thumbnail and any replacements for removal\r\n itemEdit.resourceFilePaths.forEach((path: IResourcePath) => {\r\n if (path.type === EFileType.Thumbnail) {\r\n if (path.updateType === EUpdateType.None) {\r\n // Existing thumbnail not yet flagged for removal\r\n path.updateType = EUpdateType.Remove;\r\n } else if (path.updateType === EUpdateType.Add || path.updateType === EUpdateType.Update) {\r\n // An earlier replacement\r\n path.updateType = EUpdateType.Obsolete;\r\n }\r\n }\r\n });\r\n\r\n // Remove any replacements already queued\r\n itemEdit.resourceFilePaths =\r\n itemEdit.resourceFilePaths.filter((path: IResourcePath) => path.updateType != EUpdateType.Obsolete)\r\n\r\n // Add the new thumbnail to the store item\r\n itemEdit.resourceFilePaths.push({\r\n blob: itemEdit.thumbnail,\r\n filename: itemEdit.thumbnail.name,\r\n type: EFileType.Thumbnail,\r\n updateType: EUpdateType.Add\r\n } as IResourcePath);\r\n\r\n // Update the store\r\n this.setItemInfo(itemEdit);\r\n }\r\n\r\n /**\r\n * Writes a Solution into AGO from the store. Must use `loadSolution` to continue with solution.\r\n *\r\n * @returns Promise that resolves when task is done\r\n */\r\n public async saveSolution(\r\n ): Promise<void> {\r\n // Update the templates in the original solution item data\r\n const solutionItemId = this._store.get(\"solutionItemId\");\r\n const solutionData = this._store.get(\"solutionData\");\r\n const spatialReferenceInfo = this._store.get(\"spatialReferenceInfo\");\r\n\r\n await this._prepareSolutionItemsForStorage(solutionItemId, solutionData.templates, this._authentication);\r\n const updatedDefaultWkid = this._setSpatialReferenceInfo(spatialReferenceInfo, solutionData.templates);\r\n if (updatedDefaultWkid) {\r\n setCreateProp(solutionData, \"params.wkid\", {\r\n \"label\": \"Spatial Reference\",\r\n \"default\": updatedDefaultWkid,\r\n \"valueType\": \"spatialReference\",\r\n \"attributes\": {\r\n \"required\": \"true\"\r\n }\r\n });\r\n } else {\r\n setCreateProp(solutionData, \"params.wkid\", {});\r\n }\r\n\r\n const itemInfo: IItemUpdate = {\r\n id: solutionItemId,\r\n text: solutionData\r\n };\r\n await updateItem(itemInfo, this._authentication);\r\n }\r\n\r\n /**\r\n * Stores information for item.\r\n *\r\n * @param itemEdit Item information\r\n */\r\n public setItemInfo(\r\n itemEdit: IItemTemplateEdit\r\n ): void {\r\n const solutionData = this._store.get(\"solutionData\");\r\n const templates = solutionData.templates as IItemTemplateEdit[];\r\n\r\n templates.some((t: IItemTemplateEdit) => {\r\n if (itemEdit.itemId == t.itemId) {\r\n t = itemEdit;\r\n this._store.set(\"solutionData\", solutionData);\r\n this._flagStoreHasChanges(true);\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n /**\r\n * Sets a top-level store property: solutionItemId, defaultWkid, etc.\r\n *\r\n * @param propName Name of property\r\n * @param value Value of property\r\n */\r\n public setStoreInfo(\r\n propName: string,\r\n value: any\r\n ): void {\r\n this._store.set(propName, value);\r\n this._flagStoreHasChanges(true);\r\n}\r\n\r\n //------------------------------------------------------------------------------------------------------------------//\r\n\r\n /** Provides access to protected methods for unit testing.\r\n *\r\n * @param methodName Name of protected method to run\r\n * @param arg1 First argument to forward to method, e.g., for \"_prepareSolutionItemsForEditing\", `solutionItemId`\r\n * @param arg2 Second argument to forward to method, e.g., for \"_prepareSolutionItemsForEditing\", `templates`\r\n * @param arg3 Third argument to forward to method, e.g., for \"_prepareSolutionItemsForEditing\", `authentication`\r\n *\r\n * @returns\r\n */\r\n public _testAccess(\r\n methodName: string,\r\n arg1?: any,\r\n arg2?: any,\r\n arg3?: any\r\n ): any {\r\n switch (methodName) {\r\n case \"_emptyTheStore\":\r\n this._emptyTheStore();\r\n break;\r\n case \"_getFeatureServices\":\r\n return this._getFeatureServices(arg1);\r\n case \"_getItemsSharedWithThisGroup\":\r\n return this._getItemsSharedWithThisGroup(arg1, arg2);\r\n case \"_getResourceFilePaths\":\r\n return this._getResourceFilePaths(arg1, arg2, arg3);\r\n case \"_getResourceStorageName\":\r\n return this._getResourceStorageName(arg1, arg2);\r\n case \"_getSpatialReferenceInfo\":\r\n return this._getSpatialReferenceInfo(arg1, arg2);\r\n case \"_prepareSolutionItemsForEditing\":\r\n return this._prepareSolutionItemsForEditing(arg1, arg2, arg3);\r\n case \"_prepareSolutionItemsForStorage\":\r\n return this._prepareSolutionItemsForStorage(arg1, arg2, arg3);\r\n case \"_setSpatialReferenceInfo\":\r\n return this._setSpatialReferenceInfo(arg1, arg2);\r\n case \"_splitFilename\":\r\n return this._splitFilename(arg1);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the store to the empty state.\r\n *\r\n * @protected\r\n */\r\n protected _emptyTheStore(): void {\r\n this._store.set(\"solutionItemId\", EmptySolutionStore.solutionItemId);\r\n this._store.set(\"defaultWkid\", EmptySolutionStore.defaultWkid);\r\n this._store.set(\"solutionData\", EmptySolutionStore.solutionData);\r\n this._store.set(\"templateEdits\", EmptySolutionStore.templateEdits);\r\n this._store.set(\"featureServices\", EmptySolutionStore.featureServices);\r\n this._store.set(\"spatialReferenceInfo\", EmptySolutionStore.spatialReferenceInfo);\r\n }\r\n\r\n /**\r\n * Sets the store's flag indicating if it has changes and dispatches an event when\r\n * the flag value changes.\r\n *\r\n * @param flagHasChanges Current state of change in the store; if it doesn't match the value saved in this\r\n * object, an event is dispatched with the new value and the saved value is updated\r\n *\r\n * @protected\r\n */\r\n protected _flagStoreHasChanges(flagHasChanges: boolean): void {\r\n // Event for notifying if the store has changes or not\r\n if (this._hasChanges !== flagHasChanges) {\r\n window.dispatchEvent(new CustomEvent(\"solutionStoreHasChanges\", {\r\n detail: flagHasChanges,\r\n bubbles: true,\r\n cancelable: false,\r\n composed: true\r\n }));\r\n }\r\n\r\n this._hasChanges = flagHasChanges;\r\n }\r\n\r\n /**\r\n * Gets a list of Feature Services that are not views.\r\n *\r\n * @param templates A list of item templates from the solution\r\n *\r\n * @returns a list of feature services\r\n *\r\n * @protected\r\n */\r\n protected _getCustomizableFeatureServices(\r\n templates: IItemTemplate[]\r\n ): IItemTemplate[] {\r\n return templates.reduce((prev, cur) => {\r\n if (cur.type === \"Feature Service\" && cur.item.typeKeywords.indexOf(\"View Service\") < 0) {\r\n prev.push(cur);\r\n }\r\n return prev;\r\n }, []);\r\n }\r\n\r\n /**\r\n * Gets a list of Feature Services that are not views along with an enabled property that indicates\r\n * if the service currently uses a spatial reference variable.\r\n *\r\n * @param templates A list of item templates from the solution\r\n *\r\n * @returns a list of feature service names and an enabled property to indicate\r\n * if they currently use a spatial reference variable.\r\n *\r\n * @protected\r\n */\r\n protected _getFeatureServices(\r\n templates: IItemTemplate[]\r\n ): IFeatureServiceEnabledStatus[] {\r\n const customizeableFeatureServices = this._getCustomizableFeatureServices(templates);\r\n return customizeableFeatureServices.map(\r\n (fs) => {\r\n const name: string = fs.item.title || fs.item.name;\r\n const wkid = getProp(fs, \"properties.service.spatialReference.wkid\");\r\n return { name, enabled: wkid.toString().startsWith(\"{{params.wkid||\") } as IFeatureServiceEnabledStatus;\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Capture the key item details for a given group template\r\n *\r\n * @param template one of the templates from the current solution\r\n * @param templates full list of templates\r\n *\r\n * @returns a list of IItemShare objects\r\n *\r\n * @protected\r\n */\r\n protected _getItemsSharedWithThisGroup(\r\n template: IItemTemplate,\r\n templates: IItemTemplate[]\r\n ): IItemShare[] {\r\n return templates.reduce((prev, cur) => {\r\n if (cur.itemId !== template.itemId && cur.type !== \"Group\") {\r\n prev.push({\r\n id: cur.itemId,\r\n title: cur.item.name || cur.item.title,\r\n isShared: (cur.groups || []).indexOf(template.itemId) > -1,\r\n shareItem: (cur.groups || []).indexOf(template.itemId) > -1,\r\n type: cur.type,\r\n typeKeywords: cur.item.typeKeywords\r\n });\r\n }\r\n return prev;\r\n }, []);\r\n }\r\n\r\n /**\r\n * Generate storage file paths from the solution template\r\n *\r\n * @param solutionId the id of the current solution\r\n * @param template the current template from the solution\r\n * @param portal Portal where file is to be found\r\n *\r\n * @returns a list of resource file infos\r\n *\r\n * @protected\r\n */\r\n protected _getResourceFilePaths(\r\n solutionId: string,\r\n template: any,\r\n portal: string\r\n ): IResourcePath[] {\r\n const resourceFilePaths: IDeployFileCopyPath[] = generateStorageFilePaths(\r\n portal,\r\n solutionId,\r\n template.resources,\r\n SolutionTemplateFormatVersion\r\n );\r\n return resourceFilePaths.map((fp: any) => {\r\n fp.updateType = EUpdateType.None;\r\n return fp;\r\n }) as IResourcePath[];\r\n }\r\n\r\n /**\r\n * Generates a resource name from a storage file path.\r\n *\r\n * @param templateItemId The id of the template item whose resource this is; used as a prefix in the resource name\r\n * @param resourcePath Resource file infos\r\n *\r\n * @returns The resource name to use when attaching a resource to the item.\r\n *\r\n * @protected\r\n */\r\n protected _getResourceStorageName(\r\n templateItemId: string,\r\n resourcePath: IResourcePath\r\n ): string {\r\n /* Converts\r\n {\r\n \"url\": \"https://myorg.maps.arcgis.com/sharing/rest/content/items/ca924c6db7d247b9a31fa30532fb5913/resources/79036430a6274e17ae915d0278b8569c_info_metadata/metadata.xml\",\r\n \"type\": 2,\r\n \"folder\": \"\",\r\n \"filename\": \"metadata.xml\",\r\n \"updateType\": 3\r\n }\r\n to\r\n ca924c6db7d247b9a31fa30532fb5913_info_metadata/metadata.xml\r\n */\r\n let prefix = templateItemId;\r\n switch (resourcePath.type) {\r\n case EFileType.Data:\r\n prefix = `${prefix}_info_data`;\r\n break;\r\n case EFileType.Info:\r\n prefix = `${prefix}_info`;\r\n break;\r\n case EFileType.Metadata:\r\n prefix = `${prefix}_info_metadata`;\r\n break;\r\n case EFileType.Resource:\r\n break;\r\n case EFileType.Thumbnail:\r\n prefix = `${prefix}_info_thumbnail`;\r\n break;\r\n }\r\n\r\n let filenameToUse = resourcePath.filename;\r\n if (resourcePath.type == EFileType.Data && filenameToUse && !isSupportedFileType(filenameToUse)) {\r\n filenameToUse = filenameToUse + \".zip\";\r\n prefix += \"z\";\r\n }\r\n\r\n const filename = resourcePath.folder ? resourcePath.folder + \"/\" + filenameToUse : filenameToUse;\r\n\r\n return prefix + \"/\" + filename;\r\n }\r\n\r\n /**\r\n * Extracts basic spatial reference information that is used to determine if a custom spatial reference parameter will\r\n * be exposed while deploying this solution and if so what feature services will support it and what will the default wkid be\r\n *\r\n * @param services a list of objects with service name and enabled property (indicates if they currently use a spatial reference var)\r\n * @param data the data object of a solution item\r\n *\r\n * @returns an object that stores if a custom spatial reference parameter is enabled/disabled,\r\n * a list of services and if they are enabled/disabled, and the default wkid\r\n *\r\n * @protected\r\n */\r\n protected _getSpatialReferenceInfo(\r\n services: any[],\r\n defaultWkid: string | number\r\n ): ISolutionSpatialReferenceInfo {\r\n const defaultServices: any = {};\r\n services.forEach(service => {\r\n defaultServices[service.name] = service.enabled;\r\n });\r\n\r\n return {\r\n enabled: defaultWkid !== undefined,\r\n services: defaultServices,\r\n spatialReference: defaultWkid ? defaultWkid : undefined\r\n }\r\n }\r\n\r\n /**\r\n * Create and store template items for the editor.\r\n *\r\n * @param solutionItemId Id of the solution represented in the store\r\n * @param templates A list of item templates from the solution\r\n * @param authentication Credentials for fetching information to be loaded into the store\r\n *\r\n * @returns a promise that resolves when the templates are ready\r\n *\r\n * @protected\r\n */\r\n protected async _prepareSolutionItemsForEditing(\r\n solutionItemId: string,\r\n templates: IItemTemplate[],\r\n authentication: UserSession\r\n ): Promise<void> {\r\n const thumbnailPromises = [];\r\n\r\n // Augment the template with paths to resources and group information, if relevant\r\n templates.forEach((t: IItemTemplateEdit) => {\r\n t.resourceFilePaths = this._getResourceFilePaths(\r\n solutionItemId,\r\n t,\r\n authentication.portal\r\n );\r\n thumbnailPromises.push(\r\n t.resourceFilePaths.length > 0 ?\r\n getThumbnailFromStorageItem(authentication, t.resourceFilePaths) :\r\n Promise.resolve()\r\n );\r\n\r\n t.groupDetails = t.type === \"Group\" ? this._getItemsSharedWithThisGroup(t, templates) : [];\r\n });\r\n\r\n // Augment the template with its thumbnail file\r\n const thumbnails = await Promise.all(thumbnailPromises);\r\n templates.forEach((t: IItemTemplateEdit, i: number) => {\r\n t.thumbnail = thumbnails[i] ? thumbnails[i] : undefined;\r\n });\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n /**\r\n * Prepares template items for sending to AGO by updating the resources held by the solution item.\r\n *\r\n * @param solutionItemId Id of the solution represented in the store\r\n * @param templates A list of item templates from the solution\r\n * @param authentication Credentials for fetching information to be loaded into the store\r\n *\r\n * @returns a promise that resolves when the templates are ready\r\n *\r\n * @protected\r\n */\r\n protected async _prepareSolutionItemsForStorage(\r\n solutionItemId: string,\r\n templates: IItemTemplateEdit[],\r\n authentication: UserSession\r\n ): Promise<void> {\r\n const resourceAdds: ISourceFile[] = [];\r\n\r\n // Update the resources and remove the augmentation from a template\r\n const pendingTasks: Promise<void>[] = [];\r\n templates.forEach((t) => {\r\n\r\n // Run through the resourceFilePaths for the item seeking modifications to be made to the solution item's\r\n // collection of resources; queue them for batching\r\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\r\n t.resourceFilePaths.forEach(async (path: IResourcePath): Promise<void> => {\r\n const storageName = this._getResourceStorageName(t.itemId, path);\r\n\r\n switch (path.updateType) {\r\n\r\n case EUpdateType.Add:\r\n const {prefix, suffix } = this._splitFilename(storageName);\r\n t.resources.push(storageName);\r\n resourceAdds.push({\r\n itemId: t.itemId,\r\n file: path.blob,\r\n folder: prefix,\r\n filename: suffix\r\n } as ISourceFile);\r\n break;\r\n\r\n case EUpdateType.Update:\r\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\r\n pendingTasks.push(new Promise<void>(async (resolve): Promise<void> => {\r\n try {\r\n await updateItemResourceFile(solutionItemId, storageName, path.blob, authentication);\r\n } catch (err) {\r\n console.log(\"Unable to update \" + storageName + \" for item \" + t.itemId + \": \" + JSON.stringify(err));\r\n }\r\n resolve();\r\n }));\r\n break;\r\n\r\n case EUpdateType.Remove:\r\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\r\n pendingTasks.push(new Promise<void>(async (resolve): Promise<void> => {\r\n try {\r\n await removeItemResourceFile(solutionItemId, storageName, authentication);\r\n t.resources = t.resources.filter((path: string) => path !== storageName);\r\n } catch (err) {\r\n console.log(\"Unable to remove \" + storageName + \" for item \" + t.itemId + \": \" + JSON.stringify(err));\r\n }\r\n resolve();\r\n }));\r\n break;\r\n\r\n }\r\n return Promise.resolve();\r\n });\r\n\r\n //???delete t.resourceFilePaths;\r\n //???delete t.thumbnail;\r\n //???delete t.groupDetails;\r\n });\r\n\r\n // Update the resources\r\n return Promise.all(pendingTasks)\r\n .then(async () => {\r\n if (resourceAdds.length > 0) {\r\n await copyFilesToStorageItem(resourceAdds, solutionItemId, authentication);\r\n }\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n /**\r\n * Stores basic spatial reference information that is used to determine if a custom spatial reference parameter will\r\n * be exposed while deploying this solution and if so what feature services will support it and what will the default wkid be\r\n *\r\n * @param spatialReferenceInfo The configuration settings for a custom spatial reference\r\n * @param templates The templates in the current solution, which will be updated in place if\r\n * `spatialReferenceInfo.enabled` is true\r\n *\r\n * @returns The new default wkid\r\n *\r\n * @protected\r\n */\r\n protected _setSpatialReferenceInfo(\r\n spatialReferenceInfo: ISolutionSpatialReferenceInfo,\r\n templates: IItemTemplateEdit[]\r\n ): string | number {\r\n const customizingPrefix = \"{{params.wkid||\";\r\n const customizeableFeatureServices = this._getCustomizableFeatureServices(templates);\r\n\r\n if (spatialReferenceInfo.enabled) {\r\n // Enable or disable this feature in each service\r\n customizeableFeatureServices.forEach(\r\n (fs) => {\r\n const name: string = fs.item.title || fs.item.name;\r\n let wkid: any;\r\n if (spatialReferenceInfo.services[name] ) { // enabled\r\n wkid = `{{params.wkid||${spatialReferenceInfo.spatialReference}}}`;\r\n setCreateProp(fs, \"properties.service.spatialReference.wkid\", wkid);\r\n\r\n } else { // disabled\r\n wkid = getProp(fs, \"properties.service.spatialReference.wkid\");\r\n // Remove customizing prefix if present\r\n if (wkid.toString().startsWith(customizingPrefix)) {\r\n wkid = wkid.toString().substring(customizingPrefix.length, wkid.length - 2);\r\n setCreateProp(fs, \"properties.service.spatialReference.wkid\", wkid);\r\n }\r\n }\r\n }\r\n );\r\n return spatialReferenceInfo.spatialReference;\r\n\r\n } else {\r\n // Disable this feature in each service\r\n customizeableFeatureServices.forEach(\r\n (fs) => {\r\n const wkid = getProp(fs, \"properties.service.spatialReference.wkid\");\r\n // Remove customizing prefix if present\r\n if (wkid.toString().startsWith(customizingPrefix)) {\r\n setCreateProp(fs, \"properties.service.spatialReference.wkid\",\r\n wkid.toString().substring(customizingPrefix.length, wkid.length - 2));\r\n }\r\n }\r\n );\r\n return undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Splits a pathed filename into a last term and a prefix; e.g., \"a/b/c\" returns \"c\" with a prefix of \"a/b\".\r\n *\r\n * @param filename Filename with optional path\r\n *\r\n * @returns An object consisting of a `prefix` (undefined if `filename` does not contain a path) and a `suffix`--the\r\n * filename at the end of a path\r\n *\r\n * @protected\r\n */\r\n protected _splitFilename(\r\n filename: string\r\n ): { prefix: string, suffix: string } {\r\n const filenameParts = filename.split(\"/\");\r\n return {\r\n prefix: filenameParts.length > 1 ? filenameParts.slice(0, filenameParts.length - 1).join(\"/\") : undefined,\r\n suffix: filenameParts[filenameParts.length - 1]\r\n };\r\n }\r\n}\r\n\r\nexport default SolutionStore.Store;\r\n"]}
@@ -682,9 +682,9 @@ class SolutionStore
682
682
  return Promise.resolve();
683
683
  });
684
684
 
685
- delete t.resourceFilePaths;
686
- delete t.thumbnail;
687
- delete t.groupDetails;
685
+ //???delete t.resourceFilePaths;
686
+ //???delete t.thumbnail;
687
+ //???delete t.groupDetails;
688
688
  });
689
689
 
690
690
  // Update the resources
@@ -344,3 +344,4 @@ function _getTopLevelItemIds(templates) {
344
344
  });
345
345
  return topLevelItemCandidateIds;
346
346
  }
347
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoBH,4EAA4E;AAC5E,EAAE;AACF,oBAAoB;AACpB,EAAE;AACF,4EAA4E;AAE5E;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAA0B;EAE1B,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;EAC9C,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;EACd,CAAC,EAAE,EAAE,CAAC,CAAC;EACP,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACpC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;MAChC,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;MACpE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;KACjF;IACD,OAAO,IAAI,CAAC;EACd,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA0B;EAE1B,MAAM,SAAS,GAAG,EAAE,CAAC;EAErB,8DAA8D;EAC9D,SAAS,qBAAqB,CAAC,SAAS,EAAE,EAAE;IAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5E,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;EACtD,CAAC;EAED,yDAAyD;EACzD,SAAS,WAAW,CAAC,EAAE,EAAE,oBAAoB,EAAE,iBAAiB,GAAG,EAAE;IACnE,mCAAmC;IACnC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtD,0BAA0B;IAC1B,IAAI,QAAQ,EAAE;MACZ,MAAM,aAAa,GAAG;QACpB,EAAE;QACF,YAAY,EAAE,EAAE;OACjB,CAAC;MAEF,gHAAgH;MAChH,0BAA0B;MAC1B,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;QACrC,2CAA2C;QAC3C,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE3B,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;UAC7C,0EAA0E;UAC1E,MAAM,mBAAmB,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;UAClE,0BAA0B;UAC1B,IAAI,mBAAmB,IAAI,CAAC,EAAE;YAC5B,eAAe,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;WAChD;UAED,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;OACJ;MACD,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC1C;EACH,CAAC;EAED,sGAAsG;EACtG,IAAI,eAAe,GAAa,mBAAmB,CAAC,SAAS,CAAC,CAAC;EAE/D,MAAM,UAAU,GAAG,SAAS;KACzB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC;KACnG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,sEAAsE;EAExI,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;EAExF,2EAA2E;EAC3E,IAAI,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC;EACrC,OAAO,OAAO,MAAM,KAAK,WAAW,EAAE;IACpC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/B,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC;GAClC;EAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAgB,EAChB,YAAiB;EAEjB,MAAM,IAAI,GAAoB,EAAE,CAAC;EACjC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;IACpB,MAAM,IAAI,GAAG;MACX,EAAE,EAAE,CAAC,CAAC,MAAM;MACZ,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI;MAClC,IAAI,EAAE,CAAC,CAAC,IAAI;MACZ,KAAK,EAAE,SAAS;MAChB,YAAY,EAAE,CAAC;UACb,EAAE,EAAE,CAAC,CAAC,MAAM;UACZ,KAAK,EAAE,YAAY,CAAC,MAAM;UAC1B,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,WAAW;SAChC,CAAC;KACH,CAAC;IACF,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;MACd,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACrB,EAAE,EAAE,CAAC,CAAC,MAAM;QACZ,KAAK,EAAE,YAAY,CAAC,GAAG;QACvB,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,QAAQ;OAC7B,CAAC,CAAC;KACJ;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE;MAChC,8CAA8C;MAC9C,oGAAoG;MACpG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACrB,EAAE,EAAE,CAAC,CAAC,MAAM;QACZ,KAAK,EAAE,YAAY,CAAC,cAAc;QAClC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,mBAAmB;OACxC,CAAC,CAAA;MACF,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;MACrE,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;KACtE;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClB,CAAC,CAAC,CAAA;EAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAiB;EAEjB,MAAM,OAAO,GAAgC,CAAC;MAC5C,EAAE,EAAE,EAAE;MACN,KAAK,EAAE,YAAY,CAAC,UAAU;MAC9B,KAAK,EAAE,8DAA8D;KACtE,EAAE;MACD,EAAE,EAAE,EAAE;MACN,KAAK,EAAE,YAAY,CAAC,WAAW;MAC/B,KAAK,EAAE,8CAA8C;KACtD,EAAE;MACD,EAAE,EAAE,EAAE;MACN,KAAK,EAAE,YAAY,CAAC,aAAa;MACjC,KAAK,EAAE,mBAAmB;KAC3B,EAAE;MACD,EAAE,EAAE,EAAE;MACN,KAAK,EAAE,YAAY,CAAC,QAAQ;MAC5B,KAAK,EAAE,2CAA2C;KACnD,EAAE;MACD,EAAE,EAAE,EAAE;MACN,KAAK,EAAE,YAAY,CAAC,kBAAkB;MACtC,KAAK,EAAE,wBAAwB;KAChC,CAAC,CAAC;EACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4EAA4E;AAC5E,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,4EAA4E;AAE5E;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CACzB,QAAe,EACf,IAAS,EACT,QAAa,EACb,YAAiB;EAEjB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;IACnB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3G,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;MACrB,EAAE,EAAE,QAAQ,CAAC,MAAM;MACnB,KAAK,EAAE,GAAG,IAAI,KAAK,YAAY,CAAC,EAAE,GAAG;MACrC,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,OAAO;KAChD,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;MACrB,EAAE,EAAE,QAAQ,CAAC,MAAM;MACnB,KAAK,EAAE,GAAG,IAAI,KAAK,YAAY,CAAC,IAAI,GAAG;MACvC,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,UAAU,IAAI,IAAI;KAC3D,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAC3B,QAAa,EACb,SAAgB,EAChB,YAAmB;EAEnB,OAAO;IACL,EAAE,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;IACzB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;IAChC,YAAY,EAAE,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC;IACvD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;IAC9B,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAA;;;;;;;;;OAS3C;GACJ,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CACvB,YAAmB,EACnB,SAAgB;EAEhB,MAAM,eAAe,GAAG,EAAE,CAAC;EAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO,IAAI,CAAC;EACd,CAAC,EAAE,EAAE,CAAC,CAAC;EACP,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;MACV,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;KACnF;IACD,OAAO,IAAI,CAAC;EACd,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;;;;;;;;;EAcE;AAEF;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;;EAmBE;AAEF;;;;;;GAMG;AACH;;;;;;;EAOE;AAEF;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,SAA0B;EACrD,+FAA+F;EAC/F,MAAM,wBAAwB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;EAC9E,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;IAC7B,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;MACrD,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;MAC7D,IAAI,KAAK,IAAI,CAAC,EAAE;QACd,qFAAqF;QACrF,gFAAgF;QAChF,wBAAwB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;OAC3C;IACH,CAAC,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EACH,OAAO,wBAAwB,CAAC;AAClC,CAAC","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/*\r\n | Helper functions to get required values from solutions templates\r\n*/\r\nimport {\r\n //EUpdateType,\r\n IInventoryItem,\r\n //IItemDetails,\r\n //IItemShare,\r\n IOrganizationVariableItem,\r\n //IResourcePath,\r\n //SolutionModels,\r\n //ISolutionSpatialReferenceInfo,\r\n IVariableItem\r\n} from '../utils/interfaces';\r\nimport {\r\n IItemTemplate\r\n} from '@esri/solution-common';\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n// Public Functions\r\n//\r\n//--------------------------------------------------------------------------\r\n\r\n/**\r\n * Sort the solution items\r\n *\r\n * @param templates a list of item templates from the solution\r\n *\r\n * @returns a sorted list of solution items\r\n */\r\nexport function getInventoryItems(\r\n templates: IItemTemplate[]\r\n): IInventoryItem[] {\r\n const hierarchy = getItemHierarchy(templates);\r\n const ids = hierarchy.reduce((prev, cur) => {\r\n prev.push(cur.id);\r\n return prev;\r\n }, []);\r\n return templates.reduce((prev, cur) => {\r\n if (ids.indexOf(cur.itemId) > -1) {\r\n const hierarchyItems = hierarchy.filter(hi => hi.id === cur.itemId);\r\n prev.push(_getItemFromTemplate(cur, templates, hierarchyItems[0].dependencies));\r\n }\r\n return prev;\r\n }, []);\r\n}\r\n\r\n/**\r\n * Create item hierarchy that will avoid issues from cylical dependencies\r\n *\r\n * @param templates a list of item templates from the solution\r\n *\r\n * @returns a hierarchy for item and item dependency display\r\n */\r\nexport function getItemHierarchy(\r\n templates: IItemTemplate[]\r\n): any[] {\r\n const hierarchy = [];\r\n\r\n // Get the template specified by id out of a list of templates\r\n function getTemplateInSolution(templates, id): any {\r\n const iTemplate = templates.findIndex((template) => id === template.itemId);\r\n return iTemplate >= 0 ? templates[iTemplate] : null;\r\n }\r\n\r\n // Hierarchically list the dependencies of specified node\r\n function traceItemId(id, accumulatedHierarchy, alreadyVisitedIds = []): void {\r\n // Get the dependencies of the node\r\n const template = getTemplateInSolution(templates, id);\r\n /* istanbul ignore else */\r\n if (template) {\r\n const templateEntry = {\r\n id,\r\n dependencies: []\r\n };\r\n\r\n // Visit each dependency, but only if this template is not in the alreadyVisitedIds list to avoid infinite loops\r\n /* istanbul ignore else */\r\n if (alreadyVisitedIds.indexOf(id) < 0) {\r\n // Add dependency to alreadyVisitedIds list\r\n alreadyVisitedIds.push(id);\r\n\r\n template.dependencies.forEach((dependencyId) => {\r\n // Remove dependency from list of templates to visit in the top-level loop\r\n const iDependencyTemplate = templateItemIds.indexOf(dependencyId);\r\n /* istanbul ignore else */\r\n if (iDependencyTemplate >= 0) {\r\n templateItemIds.splice(iDependencyTemplate, 1);\r\n }\r\n\r\n traceItemId(dependencyId, templateEntry.dependencies, alreadyVisitedIds);\r\n });\r\n }\r\n accumulatedHierarchy.push(templateEntry);\r\n }\r\n }\r\n\r\n // Start with top-level nodes and add in the rest of the nodes to catch cycles without top-level nodes\r\n let templateItemIds: string[] = _getTopLevelItemIds(templates);\r\n\r\n const otherItems = templates\r\n .filter((template) => templateItemIds.indexOf(template.itemId) < 0) // only keep non-top-level nodes\r\n .sort((a, b) => b.dependencies.length - a.dependencies.length); // sort so that nodes with more dependencies come first--reduces stubs\r\n\r\n templateItemIds = templateItemIds.concat(otherItems.map((template) => template.itemId));\r\n\r\n // Step through the list of nodes; we'll also remove nodes as we visit them\r\n let itemId = templateItemIds.shift();\r\n while (typeof itemId !== \"undefined\") {\r\n traceItemId(itemId, hierarchy);\r\n itemId = templateItemIds.shift();\r\n }\r\n\r\n return hierarchy;\r\n}\r\n\r\n/**\r\n * Explore the solution item templates for variables we will allow users to insert at runtime\r\n *\r\n * @param templates a list of item templates from the solution\r\n * @param translations nls translation object\r\n *\r\n * @returns a list of variables from the solution item templates\r\n */\r\nexport function getSolutionVariables(\r\n templates: any[],\r\n translations: any\r\n): IVariableItem[] {\r\n const vars: IVariableItem[] = [];\r\n templates.forEach(t => {\r\n const item = {\r\n id: t.itemId,\r\n title: t.item.title || t.item.name,\r\n type: t.type,\r\n value: undefined,\r\n dependencies: [{\r\n id: t.itemId,\r\n title: translations.itemId,\r\n value: `{{${t.itemId}.itemId}}`,\r\n }]\r\n };\r\n if (t.item.url) {\r\n item.dependencies.push({\r\n id: t.itemId,\r\n title: translations.url,\r\n value: `{{${t.itemId}.url}}`,\r\n });\r\n }\r\n if (t.type === \"Feature Service\") {\r\n // TODO need to set source service name var...\r\n // TODO need to set soure service shape field name \"{{d05b3cf1ffcb4a4fa677627dfb18609e.name}}.Shape\"\r\n item.dependencies.push({\r\n id: t.itemId,\r\n title: translations.solutionExtent,\r\n value: `{{${t.itemId}.solutionExtent}}`,\r\n })\r\n _addLayersOrTables(t.properties.layers || [], item, t, translations);\r\n _addLayersOrTables(t.properties.tables || [], item, t, translations);\r\n }\r\n vars.push(item);\r\n })\r\n\r\n return vars;\r\n}\r\n\r\n/**\r\n * Set key organization variables we will allow users to insert at runtime\r\n *\r\n * @param translations nls translation object\r\n *\r\n * @returns a list of variables for the organization\r\n */\r\nexport function getOrganizationVariables(\r\n translations: any\r\n): IOrganizationVariableItem[] {\r\n const orgVars: IOrganizationVariableItem[] = [{\r\n id: \"\",\r\n title: translations.geocodeUrl,\r\n value: \"{{organization.helperServices.geocode:getDefaultLocatorURL}}\"\r\n }, {\r\n id: \"\",\r\n title: translations.geometryUrl,\r\n value: \"{{organization.helperServices.geometry.url}}\"\r\n }, {\r\n id: \"\",\r\n title: translations.portalBaseUrl,\r\n value: \"{{portalBaseUrl}}\"\r\n }, {\r\n id: \"\",\r\n title: translations.routeUrl,\r\n value: \"{{organization.helperServices.route.url}}\"\r\n }, {\r\n id: \"\",\r\n title: translations.solutionItemExtent,\r\n value: \"{{solutionItemExtent}}\"\r\n }];\r\n return orgVars;\r\n}\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n// Private Functions\r\n//\r\n//--------------------------------------------------------------------------\r\n\r\n/**\r\n * Explore a solution item template for variables we will allow users to insert at runtime.\r\n * This function will update the item argument that is passed in with the var details.\r\n *\r\n * @param children a list of layers or tables from a template\r\n * @param item an object that store key details for a given variable\r\n * @param template one of the templates from the current solution\r\n * @param translations nls translations object\r\n *\r\n */\r\nfunction _addLayersOrTables(\r\n children: any[],\r\n item: any,\r\n template: any,\r\n translations: any\r\n): void {\r\n children.forEach(l => {\r\n const name = l.name && l.name.indexOf(\"||\") > -1 ? l.name.split(\"||\")[1].replace(\"}}\", \"\").trim() : l.name;\r\n\r\n item.dependencies.push({\r\n id: template.itemId,\r\n title: `${name} (${translations.id})`,\r\n value: `{{${template.itemId}.layer${l.id}.id}}`,\r\n });\r\n item.dependencies.push({\r\n id: template.itemId,\r\n title: `${name} (${translations.name})`,\r\n value: `{{${template.itemId}.layer${l.id}.name||${name}}}`,\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Capture key details from the solution item template\r\n *\r\n * @param template one of the templates from the current solution\r\n * @param templates full list of templates\r\n * @param dependencies list of hierarchical dependencies\r\n *\r\n * @returns an IInventoryItem that is used by other components to work with this template\r\n */\r\nfunction _getItemFromTemplate(\r\n template: any,\r\n templates: any[],\r\n dependencies: any[]\r\n): IInventoryItem {\r\n return {\r\n id: template.itemId || \"\",\r\n title: template.item.title || \"\",\r\n dependencies: _getDependencies(dependencies, templates),\r\n type: template.item.type || \"\",\r\n typeKeywords: template.item.typeKeywords || []/*,\r\n solutionItem: {\r\n itemId: template.itemId,\r\n itemDetails: _getItemDetails(template.item, template.type === \"Group\"),\r\n isResource: _getIsResource(template),\r\n data: template.data,\r\n properties: template.properties,\r\n type: template.type,\r\n groupDetails: _getGroupDetails(template, templates)\r\n }*/\r\n };\r\n}\r\n\r\n/**\r\n * Capture key details from the solution item template\r\n *\r\n * @param dependencies list of dependencies from a template\r\n * @param templates full list of templates\r\n *\r\n * @returns a list of IInventoryItem that are used by other components to work with the templates\r\n */\r\nfunction _getDependencies(\r\n dependencies: any[],\r\n templates: any[]\r\n): IInventoryItem[] {\r\n const dependencyItems = [];\r\n const depIds = dependencies.reduce((prev, cur) => {\r\n prev.push(cur.id)\r\n dependencyItems.push(cur)\r\n return prev;\r\n }, []);\r\n return templates.reduce((prev, curr) => {\r\n const i = depIds.indexOf(curr.itemId);\r\n if (i > -1) {\r\n prev.push(_getItemFromTemplate(curr, templates, dependencyItems[i].dependencies));\r\n }\r\n return prev;\r\n }, []);\r\n}\r\n\r\n/**\r\n * Capture the key item details for a given template\r\n *\r\n * @param item the templates item\r\n * @param isGroup boolean to indicate if the item is a group\r\n * @param itemId the item id of the template\r\n *\r\n * @returns a IItemDetails object for the current item\r\n */\r\n/*\r\nfunction _getItemDetails(\r\n item: any,\r\n isGroup: boolean\r\n): IItemDetails {\r\n return {\r\n title: item.title || \"\",\r\n snippet: item.snippet || \"\",\r\n description: item.description || \"\",\r\n tags: item.tags || [],\r\n accessInformation: !isGroup ? item.accessInformation || \"\" : \"\",\r\n licenseInfo: !isGroup ? item.licenseInfo || \"\" : \"\"\r\n };\r\n}\r\n*/\r\n\r\n/**\r\n * Capture the key item details for a given group template\r\n *\r\n * @param template one of the templates from the current solution\r\n * @param templates full list of templates\r\n *\r\n * @returns a list of IItemShare objects\r\n */\r\n/*\r\nfunction _getGroupDetails(\r\n template: any,\r\n templates: any[]\r\n): IItemShare[] {\r\n return template.type === \"Group\" ? templates.reduce((prev, cur) => {\r\n if (cur.itemId !== template.itemId && cur.type !== \"Group\") {\r\n prev.push({\r\n id: cur.itemId,\r\n title: cur.item.name || cur.item.title,\r\n isShared: (cur.groups || []).indexOf(template.itemId) > -1,\r\n shareItem: (cur.groups || []).indexOf(template.itemId) > -1,\r\n type: cur.type,\r\n typeKeywords: cur.item.typeKeywords\r\n });\r\n }\r\n return prev;\r\n }, []) : [];\r\n}\r\n*/\r\n\r\n/**\r\n * Used to understand if we are dealing with a binary object that will support upload/download\r\n *\r\n * @param template one of the templates from the current solution\r\n *\r\n * @returns true if this item supports upload/download\r\n */\r\n/*\r\nfunction _getIsResource(\r\n template: any\r\n): boolean {\r\n return template.type !== \"Group\" && template.resources.some(r => r.indexOf(\"_info_thumbnail\") < 0) &&\r\n (template.data === null || JSON.stringify(template.data) === \"{}\");\r\n}\r\n*/\r\n\r\n/**\r\n * Sort the template ids based on their dependencies\r\n *\r\n * @param templates full list of templates\r\n *\r\n * @returns a list of Itop level item ids\r\n */\r\nfunction _getTopLevelItemIds(templates: IItemTemplate[]): string[] {\r\n // Find the top-level nodes. Start with all nodes, then remove those that other nodes depend on\r\n const topLevelItemCandidateIds = templates.map((template) => template.itemId);\r\n templates.forEach((template) => {\r\n (template.dependencies || []).forEach((dependencyId) => {\r\n const iNode = topLevelItemCandidateIds.indexOf(dependencyId);\r\n if (iNode >= 0) {\r\n // Node is somebody's dependency, so remove the node from the list of top-level nodes\r\n // If iNode == -1, then it's a shared dependency and it has already been removed\r\n topLevelItemCandidateIds.splice(iNode, 1);\r\n }\r\n });\r\n });\r\n return topLevelItemCandidateIds;\r\n}\r\n"]}
@@ -138,3 +138,4 @@ Yag7PKgGaQnUP2f8koU4ltSRcz6va9i+VErHPizKNaDfmApt2yFwPuwogcZyWFsFvQpZKDFy\
138
138
  blZWkpGegclk5FPzc2ztfqa1o5OoWdFEzo7utsk9noL/e14+AxP0YqryqgPxAAAAAElFTkSu\
139
139
  QmCC";
140
140
  }
141
+ //# sourceMappingURL=testUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../../src/utils/test/testUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAGhD,wHAAwH;AAExH,MAAM,CAAC,MAAM,UAAU,GAAG,+BAA+B,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,GAAY,EACZ,SAAkB;EAElB,IAAI,GAAG,KAAK,SAAS,EAAE;IACrB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;GAClB;EACD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;EAC1C,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC;IAC5B,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,sCAAsC;IACnD,KAAK,EAAE,YAAY;IACnB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,cAAc;IAC5B,mBAAmB,EAAE,QAAQ;IAC7B,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,eAAe;GACpD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAQ,GAAG,iBAAiB;EAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAQ,CAAC;EACnE,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;EAC3B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAM,GAAG,kCAAkC;EAC3E,IAAI,QAAQ,GAAG;IACb,QAAQ,EAAE,kCAAkC;IAC5C,MAAM,EAAE,sBAAsB;IAC9B,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE;MACX,kDAAkD;MAClD,8DAA8D;KAC7D;IACH,cAAc,EAAE,CAAC,kCAAkC,CAAC;IACpD,QAAQ,EAAE,CAAC,kCAAkC,CAAC;IAC9C,+BAA+B,EAAE,CAAC;IAClC,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;MACN,IAAI,EAAE,6CAA6C;MACnD,MAAM,EAAE,sBAAsB;MAC9B,mBAAmB,EAAE,MAAM;MAC3B,YAAY,EAAE,EAAE;MAChB,SAAS,EAAE,OAAO;MAClB,aAAa,EAAE,4CAA4C;MAC3D,QAAQ,EAAE,EAAG;MACb,aAAa,EAAE,qBAAqB;MACpC,MAAM,EAAE,IAAI;MACZ,YAAY,EAAE,IAAI;MAClB,SAAS,EAAE,wCAAwC;MACnD,MAAM,EAAE,EAAE;MACV,WAAW,EAAE,IAAI;MACjB,OAAO,EAAE,iBAAiB;MAC1B,cAAc,EAAE;QACd,cAAc;QACd,sBAAsB;OACvB;MACD,KAAK,EAAE,IAAI;MACX,SAAS,EAAE,aAAa;MACxB,UAAU,EAAE,aAAa;KAC1B;IACD,YAAY,EAAE,EAAE;IAChB,mBAAmB,EAAE,CAAC;QACpB,KAAK,EAAE,+IAA+I;QACtJ,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC;OAChB,EAAC;QACA,KAAK,EAAE,2JAA2J;QAClK,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,cAAc;QAC1B,YAAY,EAAE,CAAC;OAChB,CAAC;IACF,WAAW,EAAE,IAAI;GAClB,CAAC;EAEF,IAAI,MAAM,KAAK,kCAAkC,EAAE;IACjD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC,CAAC;GACtG;EAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wHAAwH;AAExH,SAAS,eAAe;EACtB,OAAO;;;;;;;;;;;;;;;;;KAiBJ,CAAC;AACN,CAAC","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport * as common from \"@esri/solution-common\";\r\nimport { IItemTemplateEdit } from \"../interfaces\";\r\n\r\n//--------------------------------------------------------------------------------------------------------------------//\r\n\r\nexport const PORTAL_URL = \"https://myorg.maps.arcgis.com\";\r\n\r\n/**\r\n * Creates a mock UserSession.\r\n *\r\n * @param now Time for token; defaults to Date.now\r\n * @param portalUrl Portal for token; defaults to \"https://myorg.maps.arcgis.com\"\r\n *\r\n * @returns Mock UserSession\r\n */\r\nexport function createRuntimeMockUserSession(\r\n now?: number,\r\n portalUrl?: string\r\n): common.UserSession {\r\n if (now === undefined) {\r\n now = Date.now();\r\n }\r\n const tomorrow = new Date(now + 86400000);\r\n return new common.UserSession({\r\n clientId: \"clientId\",\r\n redirectUri: \"https://example-app.com/redirect-uri\",\r\n token: \"fake-token\",\r\n tokenExpires: tomorrow,\r\n refreshToken: \"refreshToken\",\r\n refreshTokenExpires: tomorrow,\r\n refreshTokenTTL: 1440,\r\n username: \"casey\",\r\n password: \"123456\",\r\n portal: (portalUrl || PORTAL_URL) + \"/sharing/rest\"\r\n });\r\n}\r\n\r\n/**\r\n * Creates a mock image file.\r\n *\r\n * @param filename Name to give file; defaults to \"sampleImage\"\r\n *\r\n * @returns Buffer usable as a File\r\n */\r\nexport function getSampleImageAsFile(filename = \"sampleImage.png\"): File {\r\n const pseudoFile = Buffer.from(_imageAsDataUri(), 'base64') as any;\r\n pseudoFile.name = filename;\r\n return pseudoFile;\r\n}\r\n\r\nexport function getSampleItemEdit(itemId = \"bd4a2dafd7584253a1bc772f2dd510c4\"): IItemTemplateEdit {\r\n let itemEdit = {\r\n \"itemId\": \"bd4a2dafd7584253a1bc772f2dd510c4\",\r\n \"type\": \"QuickCapture Project\",\r\n \"key\": \"i7t8659n\",\r\n \"resources\": [\r\n \"bd4a2dafd7584253a1bc772f2dd510c4/qc.project.json\",\r\n \"bd4a2dafd7584253a1bc772f2dd510c4_info_thumbnail/esri_133.png\"\r\n ],\r\n \"dependencies\": [\"79036430a6274e17ae915d0278b8569c\"],\r\n \"groups\": [\"90766e8ee450438fb507d7d2cd03df20\"],\r\n \"estimatedDeploymentCostFactor\": 2,\r\n \"relatedItems\": [],\r\n \"data\": {},\r\n \"item\": {\r\n \"id\": \"{{bd4a2dafd7584253a1bc772f2dd510c4.itemId}}\",\r\n \"type\": \"QuickCapture Project\",\r\n \"accessInformation\": \"Esri\",\r\n \"categories\": [],\r\n \"culture\": \"en-us\",\r\n \"description\": \"An ArcGIS QuickCapture project description\",\r\n \"extent\": [ ],\r\n \"licenseInfo\": \"Copyright 2022 Esri\",\r\n \"name\": null,\r\n \"properties\": null,\r\n \"snippet\": \"An ArcGIS QuickCapture project snippet\",\r\n \"tags\": [],\r\n \"thumbnail\": null,\r\n \"title\": \"Status Reporter\",\r\n \"typeKeywords\": [\r\n \"QuickCapture\",\r\n \"QuickCapture Project\"\r\n ],\r\n \"url\": null,\r\n \"created\": 1645216385000,\r\n \"modified\": 1645219985000\r\n },\r\n \"properties\": {},\r\n \"resourceFilePaths\": [{\r\n \"url\": \"https://www.arcgis.com/sharing/rest/content/items/ca924c6db7d247b9a31fa30532fb5913/resources/bd4a2dafd7584253a1bc772f2dd510c4/qc.project.json\",\r\n \"type\": 3,\r\n \"folder\": \"\",\r\n \"filename\": \"qc.project.json\",\r\n \"updateType\": 3\r\n },{\r\n \"url\": \"https://www.arcgis.com/sharing/rest/content/items/ca924c6db7d247b9a31fa30532fb5913/resources/bd4a2dafd7584253a1bc772f2dd510c4_info_thumbnail/esri_133.png\",\r\n \"type\": 4,\r\n \"folder\": \"\",\r\n \"filename\": \"esri_133.png\",\r\n \"updateType\": 3\r\n }],\r\n \"thumbnail\": null\r\n };\r\n\r\n if (itemId !== \"bd4a2dafd7584253a1bc772f2dd510c4\") {\r\n itemEdit = JSON.parse(JSON.stringify(itemEdit).replace(/bd4a2dafd7584253a1bc772f2dd510c4/g, itemId));\r\n }\r\n\r\n return itemEdit;\r\n}\r\n\r\n//--------------------------------------------------------------------------------------------------------------------//\r\n\r\nfunction _imageAsDataUri(): string {\r\n return \"\\\r\niVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAADKklEQVQ4T6XUf1DMeRzH8edu\\\r\n53ZVZ6vLxmo2Q0Y7rtJZJT8abQmdysjETVEWMxgGOzF2/IhkCqNT8qPyo8PE6fzIj/y4qYlU\\\r\nE6MfIottFcLmRyIq1Ne4neGa+ufG57/354/H+/3H6/0WCYIg8J1P1BNSkJ/PpXO5tLa187q5\\\r\nmTFqL6ZFzMRxgEuP7boh00JCcbB3IGZfFuM8f8PbfSD1IyIR3byI8uFVJoxRk5C4uQvWBfHx\\\r\nVHO44jKqcC0/BKgQ7tbzIS0LhvhDX3d400DkSAUFZ3MwPXyAVCr9F/uKhAaHkpqbQkhGEAa9\\\r\nEZeRcmpVOlCFQVwMbvqpLPA/QoruHnYSV+4V1tHS/vYbcqv6Fv4af6zVtsismnB0FmM9qQZB\\\r\nZsuNljdMtttN+fIEtMcm0NgqJmtZGevnJmGqqCNxc6JlktjYWNKT9zIxU463jxKjIYmm65ex\\\r\ncfWi7Nga+nSWUV4k4DxchlQuobbCzJYjyRxYkEVVTZUFCZsShlTexnXvEXgN30RHzjZyk1cQ\\\r\nvjIV57FP6a/4B5NBoOxsI+rFbhhN7yjfaGC0Us3pvDMWJDI8gvczPTgVfwOeVhC8NJ7G0nME\\\r\nxf1JbWsREg5gZ99E9qxiNJl+PGn7xP3974myH8WGTXEWZFKAhqZ+7lzLTsX6xB1G/dSbj49f\\\r\nU5O9lbeD1Xy4dAGxqB7pCwMSNwc6nKywFfkSoXDmj107LUjE1BCkwToO7dEzPuoFbn5OFCWZ\\\r\nuX28FqavA1UgWDkhM6+gQ2agRTkam5SXaAa1czrvogUpLb5Kys59/BXox4+rtIhteuM51xUH\\\r\np07Op6nhdz20ixHJVyMUXIEwHZq8Z8wJ+oWoGO23nPj+6kGgLo0E7Xysx5pxiffl1RMfzGsr\\\r\nYag7PKgGaQnUP2f8koU4ltSRcz6va9i+VErHPizKNaDfmApt2yFwPuwogcZyWFsFvQpZKDFy\\\r\n91Qlh/4+ikKh6I58+fH2GIZXgIbS6mKq8+8jOfiIwXWFPDu5C130DNYtm8ejhoavQJfY/3ej\\\r\nblZWkpGegclk5FPzc2ztfqa1o5OoWdFEzo7utsk9noL/e14+AxP0YqryqgPxAAAAAElFTkSu\\\r\nQmCC\";\r\n}\r\n"]}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG","sourcesContent":["/*\r\n * Copyright (c) 2022 Esri\r\n * All rights reserved.\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nexport type APIVersion = 3 | 4;\r\n"]}