@esri/solutions-components 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  2. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  3. package/dist/cjs/{pciUtils-6a806ba4.js → pciUtils-423cfc68.js} +25 -7
  4. package/dist/collection/demos/deduct-calculator.html +2 -5
  5. package/dist/collection/demos/new-public-notification.html +6 -4
  6. package/dist/collection/utils/pciUtils.js +25 -7
  7. package/dist/collection/utils/pciUtils.ts +30 -7
  8. package/dist/components/ExpandToggle.js +110 -0
  9. package/dist/components/Heading.js +22 -0
  10. package/dist/components/_commonjsHelpers.js +22 -0
  11. package/dist/components/action-bar.js +276 -0
  12. package/dist/components/action-group.js +149 -0
  13. package/dist/components/action-menu.js +356 -0
  14. package/dist/components/action.js +214 -0
  15. package/dist/components/add-record-modal.d.ts +11 -0
  16. package/dist/components/add-record-modal.js +171 -0
  17. package/dist/components/array.js +15 -0
  18. package/dist/components/block.js +272 -0
  19. package/dist/components/buffer-tools.d.ts +11 -0
  20. package/dist/components/buffer-tools.js +11 -0
  21. package/dist/components/buffer-tools2.js +262 -0
  22. package/dist/components/button.js +263 -0
  23. package/dist/components/calcite-accordion-item.js +244 -0
  24. package/dist/components/calcite-accordion.js +180 -0
  25. package/dist/components/calcite-action-bar.js +11 -0
  26. package/dist/components/calcite-action-group.js +11 -0
  27. package/dist/components/calcite-action-menu.js +11 -0
  28. package/dist/components/calcite-action-pad.js +197 -0
  29. package/dist/components/calcite-action.js +11 -0
  30. package/dist/components/calcite-alert.js +297 -0
  31. package/dist/components/calcite-avatar.js +182 -0
  32. package/dist/components/calcite-block-section.js +155 -0
  33. package/dist/components/calcite-block.js +11 -0
  34. package/dist/components/calcite-button.js +11 -0
  35. package/dist/components/calcite-card.js +187 -0
  36. package/dist/components/calcite-checkbox.js +11 -0
  37. package/dist/components/calcite-chip.js +11 -0
  38. package/dist/components/calcite-color-picker-hex-input.js +11 -0
  39. package/dist/components/calcite-color-picker-swatch.js +11 -0
  40. package/dist/components/calcite-color-picker.js +1036 -0
  41. package/dist/components/calcite-combobox-item-group.js +75 -0
  42. package/dist/components/calcite-combobox-item.js +11 -0
  43. package/dist/components/calcite-combobox.js +11 -0
  44. package/dist/components/calcite-date-picker-day.js +11 -0
  45. package/dist/components/calcite-date-picker-month-header.js +11 -0
  46. package/dist/components/calcite-date-picker-month.js +11 -0
  47. package/dist/components/calcite-date-picker.js +11 -0
  48. package/dist/components/calcite-dropdown-group.js +11 -0
  49. package/dist/components/calcite-dropdown-item.js +11 -0
  50. package/dist/components/calcite-dropdown.js +11 -0
  51. package/dist/components/calcite-fab.js +144 -0
  52. package/dist/components/calcite-filter.js +195 -0
  53. package/dist/components/calcite-flow-item.js +243 -0
  54. package/dist/components/calcite-flow.js +147 -0
  55. package/dist/components/calcite-graph.js +11 -0
  56. package/dist/components/calcite-handle.js +11 -0
  57. package/dist/components/calcite-icon.js +11 -0
  58. package/dist/components/calcite-inline-editable.js +294 -0
  59. package/dist/components/calcite-input-date-picker.js +713 -0
  60. package/dist/components/calcite-input-message.js +11 -0
  61. package/dist/components/calcite-input-number.js +637 -0
  62. package/dist/components/calcite-input-text.js +400 -0
  63. package/dist/components/calcite-input-time-picker.js +434 -0
  64. package/dist/components/calcite-input.js +11 -0
  65. package/dist/components/calcite-label.js +11 -0
  66. package/dist/components/calcite-link.js +11 -0
  67. package/dist/components/calcite-list-item-group.js +65 -0
  68. package/dist/components/calcite-list-item.js +11 -0
  69. package/dist/components/calcite-list.js +11 -0
  70. package/dist/components/calcite-loader.js +11 -0
  71. package/dist/components/calcite-modal.js +11 -0
  72. package/dist/components/calcite-notice.js +11 -0
  73. package/dist/components/calcite-option-group.js +64 -0
  74. package/dist/components/calcite-option.js +11 -0
  75. package/dist/components/calcite-pagination.js +258 -0
  76. package/dist/components/calcite-panel.js +11 -0
  77. package/dist/components/calcite-pick-list-group.js +74 -0
  78. package/dist/components/calcite-pick-list-item.js +11 -0
  79. package/dist/components/calcite-pick-list.js +11 -0
  80. package/dist/components/calcite-popover-manager.js +94 -0
  81. package/dist/components/calcite-popover.js +11 -0
  82. package/dist/components/calcite-progress.js +11 -0
  83. package/dist/components/calcite-radio-button-group.js +132 -0
  84. package/dist/components/calcite-radio-button.js +310 -0
  85. package/dist/components/calcite-radio-group-item.js +11 -0
  86. package/dist/components/calcite-radio-group.js +11 -0
  87. package/dist/components/calcite-rating.js +201 -0
  88. package/dist/components/calcite-scrim.js +11 -0
  89. package/dist/components/calcite-select.js +11 -0
  90. package/dist/components/calcite-shell-center-row.js +100 -0
  91. package/dist/components/calcite-shell-panel.js +11 -0
  92. package/dist/components/calcite-shell.js +11 -0
  93. package/dist/components/calcite-slider.js +11 -0
  94. package/dist/components/calcite-sortable-list.js +202 -0
  95. package/dist/components/calcite-split-button.js +11 -0
  96. package/dist/components/calcite-stepper-item.js +271 -0
  97. package/dist/components/calcite-stepper.js +256 -0
  98. package/dist/components/calcite-switch.js +11 -0
  99. package/dist/components/calcite-tab-nav.js +11 -0
  100. package/dist/components/calcite-tab-title.js +11 -0
  101. package/dist/components/calcite-tab.js +11 -0
  102. package/dist/components/calcite-tabs.js +11 -0
  103. package/dist/components/calcite-tile-select-group.js +65 -0
  104. package/dist/components/calcite-tile-select.js +266 -0
  105. package/dist/components/calcite-tile.js +11 -0
  106. package/dist/components/calcite-time-picker.js +11 -0
  107. package/dist/components/calcite-tip-group.js +41 -0
  108. package/dist/components/calcite-tip-manager.js +223 -0
  109. package/dist/components/calcite-tip.js +162 -0
  110. package/dist/components/calcite-tooltip-manager.js +57 -0
  111. package/dist/components/calcite-tooltip.js +11 -0
  112. package/dist/components/calcite-tree-item.js +11 -0
  113. package/dist/components/calcite-tree.js +11 -0
  114. package/dist/components/calcite-value-list-item.js +11 -0
  115. package/dist/components/calcite-value-list.js +11 -0
  116. package/dist/components/card-manager.d.ts +11 -0
  117. package/dist/components/card-manager.js +143 -0
  118. package/dist/components/check-list.d.ts +11 -0
  119. package/dist/components/check-list.js +11 -0
  120. package/dist/components/check-list2.js +131 -0
  121. package/dist/components/checkbox.js +165 -0
  122. package/dist/components/chip.js +170 -0
  123. package/dist/components/color-picker-hex-input.js +363 -0
  124. package/dist/components/color-picker-swatch.js +2034 -0
  125. package/dist/components/combobox-item.js +182 -0
  126. package/dist/components/combobox.js +912 -0
  127. package/dist/components/comment-card.d.ts +11 -0
  128. package/dist/components/comment-card.js +90 -0
  129. package/dist/components/conditionalSlot.js +50 -0
  130. package/dist/components/config-buffer-tools.d.ts +11 -0
  131. package/dist/components/config-buffer-tools.js +187 -0
  132. package/dist/components/config-draw-tools.d.ts +11 -0
  133. package/dist/components/config-draw-tools.js +121 -0
  134. package/dist/components/config-layer-picker.d.ts +11 -0
  135. package/dist/components/config-layer-picker.js +163 -0
  136. package/dist/components/config-pdf-download.d.ts +11 -0
  137. package/dist/components/config-pdf-download.js +154 -0
  138. package/dist/components/crowdsource-manager.d.ts +11 -0
  139. package/dist/components/crowdsource-manager.js +90 -0
  140. package/dist/components/crowdsource-reporter.d.ts +11 -0
  141. package/dist/components/crowdsource-reporter.js +90 -0
  142. package/dist/components/csvUtils.js +74 -0
  143. package/dist/components/date-picker-day.js +111 -0
  144. package/dist/components/date-picker-month-header.js +224 -0
  145. package/dist/components/date-picker-month.js +344 -0
  146. package/dist/components/date-picker.js +575 -0
  147. package/dist/components/date.js +180 -0
  148. package/dist/components/debounce.js +487 -0
  149. package/dist/components/deduct-calculator.d.ts +11 -0
  150. package/dist/components/deduct-calculator.js +11 -0
  151. package/dist/components/deduct-calculator2.js +1002 -0
  152. package/dist/components/dom.js +231 -0
  153. package/dist/components/dropdown-group.js +96 -0
  154. package/dist/components/dropdown-item.js +232 -0
  155. package/dist/components/dropdown.js +505 -0
  156. package/dist/components/edit-record-modal.d.ts +11 -0
  157. package/dist/components/edit-record-modal.js +11 -0
  158. package/dist/components/edit-record-modal2.js +161 -0
  159. package/dist/components/filter.js +763 -0
  160. package/dist/components/floating-ui.js +1768 -0
  161. package/dist/components/form.js +228 -0
  162. package/dist/components/graph.js +254 -0
  163. package/dist/components/guid.js +24 -0
  164. package/dist/components/handle.js +119 -0
  165. package/dist/components/icon.js +202 -0
  166. package/dist/components/index.d.ts +61 -0
  167. package/dist/components/index.js +196 -0
  168. package/dist/components/index2.js +199 -0
  169. package/dist/components/info-card.d.ts +11 -0
  170. package/dist/components/info-card.js +11 -0
  171. package/dist/components/info-card2.js +97 -0
  172. package/dist/components/input-message.js +101 -0
  173. package/dist/components/input.js +740 -0
  174. package/dist/components/interactive.js +51 -0
  175. package/dist/components/interfaces.js +19 -0
  176. package/dist/components/interfaces2.js +21 -0
  177. package/dist/components/interfaces3.js +80 -0
  178. package/dist/components/json-editor.d.ts +11 -0
  179. package/dist/components/json-editor.js +11 -0
  180. package/dist/components/json-editor2.js +441 -0
  181. package/dist/components/key.js +16 -0
  182. package/dist/components/label.js +106 -0
  183. package/dist/components/label2.js +131 -0
  184. package/dist/components/labelFormats.js +210 -0
  185. package/dist/components/layer-table.d.ts +11 -0
  186. package/dist/components/layer-table.js +453 -0
  187. package/dist/components/link.js +123 -0
  188. package/dist/components/list-item.d.ts +11 -0
  189. package/dist/components/list-item.js +90 -0
  190. package/dist/components/list-item2.js +149 -0
  191. package/dist/components/list.js +83 -0
  192. package/dist/components/loadModules.js +28 -0
  193. package/dist/components/loader.js +116 -0
  194. package/dist/components/locale.js +412 -0
  195. package/dist/components/locale2.js +413 -0
  196. package/dist/components/map-card.d.ts +11 -0
  197. package/dist/components/map-card.js +354 -0
  198. package/dist/components/map-draw-tools.d.ts +11 -0
  199. package/dist/components/map-draw-tools.js +11 -0
  200. package/dist/components/map-draw-tools2.js +228 -0
  201. package/dist/components/map-layer-picker.d.ts +11 -0
  202. package/dist/components/map-layer-picker.js +11 -0
  203. package/dist/components/map-layer-picker2.js +188 -0
  204. package/dist/components/map-search.d.ts +11 -0
  205. package/dist/components/map-search.js +155 -0
  206. package/dist/components/map-select-tools.d.ts +11 -0
  207. package/dist/components/map-select-tools.js +11 -0
  208. package/dist/components/map-select-tools2.js +588 -0
  209. package/dist/components/mapViewUtils.js +129 -0
  210. package/dist/components/math.js +24 -0
  211. package/dist/components/media-card.d.ts +11 -0
  212. package/dist/components/media-card.js +11 -0
  213. package/dist/components/media-card2.js +177 -0
  214. package/dist/components/modal.js +495 -0
  215. package/dist/components/nonChromiumPlatformUtils.js +503 -0
  216. package/dist/components/notice.js +192 -0
  217. package/dist/components/observers.js +56 -0
  218. package/dist/components/openCloseComponent.js +56 -0
  219. package/dist/components/option.js +109 -0
  220. package/dist/components/panel.js +459 -0
  221. package/dist/components/pci-calculator.d.ts +11 -0
  222. package/dist/components/pci-calculator.js +193 -0
  223. package/dist/components/pdf-download.d.ts +11 -0
  224. package/dist/components/pdf-download.js +11 -0
  225. package/dist/components/pdf-download2.js +189 -0
  226. package/dist/components/pick-list-item.js +255 -0
  227. package/dist/components/pick-list.js +170 -0
  228. package/dist/components/popover.js +500 -0
  229. package/dist/components/progress.js +60 -0
  230. package/dist/components/public-notification.d.ts +11 -0
  231. package/dist/components/public-notification.js +825 -0
  232. package/dist/components/publicNotificationStore.js +38 -0
  233. package/dist/components/queryUtils.js +187 -0
  234. package/dist/components/radio-group-item.js +101 -0
  235. package/dist/components/radio-group.js +235 -0
  236. package/dist/components/refine-selection-tools.d.ts +11 -0
  237. package/dist/components/refine-selection-tools.js +11 -0
  238. package/dist/components/refine-selection-tools2.js +492 -0
  239. package/dist/components/refine-selection.d.ts +11 -0
  240. package/dist/components/refine-selection.js +11 -0
  241. package/dist/components/refine-selection2.js +376 -0
  242. package/dist/components/resources.js +24 -0
  243. package/dist/components/resources2.js +21 -0
  244. package/dist/components/resources3.js +38 -0
  245. package/dist/components/scrim.js +83 -0
  246. package/dist/components/select.js +259 -0
  247. package/dist/components/shared-list-render.js +319 -0
  248. package/dist/components/shell-panel.js +281 -0
  249. package/dist/components/shell.js +121 -0
  250. package/dist/components/slider.js +896 -0
  251. package/dist/components/solution-configuration.d.ts +11 -0
  252. package/dist/components/solution-configuration.js +2233 -0
  253. package/dist/components/solution-contents.d.ts +11 -0
  254. package/dist/components/solution-contents.js +11 -0
  255. package/dist/components/solution-contents2.js +128 -0
  256. package/dist/components/solution-item-details.d.ts +11 -0
  257. package/dist/components/solution-item-details.js +11 -0
  258. package/dist/components/solution-item-details2.js +234 -0
  259. package/dist/components/solution-item-icon.d.ts +11 -0
  260. package/dist/components/solution-item-icon.js +11 -0
  261. package/dist/components/solution-item-icon2.js +342 -0
  262. package/dist/components/solution-item-sharing.d.ts +11 -0
  263. package/dist/components/solution-item-sharing.js +11 -0
  264. package/dist/components/solution-item-sharing2.js +167 -0
  265. package/dist/components/solution-item.d.ts +11 -0
  266. package/dist/components/solution-item.js +11 -0
  267. package/dist/components/solution-item2.js +315 -0
  268. package/dist/components/solution-organization-variables.d.ts +11 -0
  269. package/dist/components/solution-organization-variables.js +11 -0
  270. package/dist/components/solution-organization-variables2.js +132 -0
  271. package/dist/components/solution-resource-item.d.ts +11 -0
  272. package/dist/components/solution-resource-item.js +11 -0
  273. package/dist/components/solution-resource-item2.js +356 -0
  274. package/dist/components/solution-spatial-ref.d.ts +11 -0
  275. package/dist/components/solution-spatial-ref.js +11 -0
  276. package/dist/components/solution-spatial-ref2.js +21446 -0
  277. package/dist/components/solution-store.js +4092 -0
  278. package/dist/components/solution-template-data.d.ts +11 -0
  279. package/dist/components/solution-template-data.js +11 -0
  280. package/dist/components/solution-template-data2.js +233 -0
  281. package/dist/components/solution-variables.d.ts +11 -0
  282. package/dist/components/solution-variables.js +11 -0
  283. package/dist/components/solution-variables2.js +150 -0
  284. package/dist/components/sortable.esm.js +3026 -0
  285. package/dist/components/split-button.js +165 -0
  286. package/dist/components/store-manager.d.ts +11 -0
  287. package/dist/components/store-manager.js +83 -0
  288. package/dist/components/switch.js +139 -0
  289. package/dist/components/tab-nav.js +241 -0
  290. package/dist/components/tab-title.js +276 -0
  291. package/dist/components/tab.js +154 -0
  292. package/dist/components/tabs.js +188 -0
  293. package/dist/components/tile.js +129 -0
  294. package/dist/components/time-picker.js +943 -0
  295. package/dist/components/tooltip.js +399 -0
  296. package/dist/components/tree-item.js +294 -0
  297. package/dist/components/tree.js +327 -0
  298. package/dist/components/utils.js +119 -0
  299. package/dist/components/utils2.js +51 -0
  300. package/dist/components/value-list-item.js +204 -0
  301. package/dist/components/value-list.js +333 -0
  302. package/dist/esm/deduct-calculator.entry.js +1 -1
  303. package/dist/esm/pci-calculator.entry.js +1 -1
  304. package/dist/esm/{pciUtils-e3007a1c.js → pciUtils-ecda46e5.js} +25 -7
  305. package/dist/solutions-components/demos/deduct-calculator.html +2 -5
  306. package/dist/solutions-components/demos/new-public-notification.html +6 -4
  307. package/dist/solutions-components/{p-ff80ffbb.entry.js → p-0512635b.entry.js} +1 -1
  308. package/dist/solutions-components/{p-5ec407c2.entry.js → p-0c088725.entry.js} +1 -1
  309. package/dist/solutions-components/p-cc815aca.js +21 -0
  310. package/dist/solutions-components/solutions-components.esm.js +1 -1
  311. package/dist/solutions-components/utils/pciUtils.ts +30 -7
  312. package/dist/types/utils/pciUtils.d.ts +2 -1
  313. package/package.json +4 -3
  314. package/dist/solutions-components/p-647bbd18.js +0 -21
@@ -0,0 +1,356 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
7
+ import { h as EUpdateType } from './interfaces3.js';
8
+ import { s as state, E as EFileType } from './solution-store.js';
9
+ import { g as getLocaleComponentStrings } from './locale.js';
10
+ import { d as defineCustomElement$a } from './action.js';
11
+ import { d as defineCustomElement$9 } from './action-group.js';
12
+ import { d as defineCustomElement$8 } from './action-menu.js';
13
+ import { d as defineCustomElement$7 } from './button.js';
14
+ import { d as defineCustomElement$6 } from './icon.js';
15
+ import { d as defineCustomElement$5 } from './loader.js';
16
+ import { d as defineCustomElement$4 } from './pick-list-item.js';
17
+ import { d as defineCustomElement$3 } from './popover.js';
18
+ import { d as defineCustomElement$2 } from './value-list.js';
19
+ import { d as defineCustomElement$1 } from './value-list-item.js';
20
+
21
+ const solutionResourceItemCss = ":host{display:block;box-sizing:border-box;margin-left:0.75rem;margin-right:0.75rem;min-width:0;flex-grow:0;flex-shrink:1}:host-group-1-up>.block{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}:host-group-2-up>.block{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}:host-group-3-up>.block{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}:host-group-4-up>.block{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}:host-group-5-up>.block{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}:host-group-6-up>.block{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}:host-group-7-up>.block{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}:host-group-8-up>.block{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.tablet-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.tablet-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.tablet-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.tablet-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.tablet-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.tablet-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.tablet-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.tablet-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.phone-block-group-1-up>:host{flex-basis:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.phone-block-group-2-up>:host{flex-basis:calc(50% - 1.5rem);width:calc(50% - 1.5rem)}.phone-block-group-3-up>:host{flex-basis:calc(33.33333% - 1.5rem);width:calc(33.33333% - 1.5rem)}.phone-block-group-4-up>:host{flex-basis:calc(25% - 1.5rem);width:calc(25% - 1.5rem)}.phone-block-group-5-up>:host{flex-basis:calc(20% - 1.5rem);width:calc(20% - 1.5rem)}.phone-block-group-6-up>:host{flex-basis:calc(16.66666% - 1.5rem);width:calc(16.66666% - 1.5rem)}.phone-block-group-7-up>:host{flex-basis:calc(14.2857% - 1.5rem);width:calc(14.2857% - 1.5rem)}.phone-block-group-8-up>:host{flex-basis:calc(12.5% - 1.5rem);width:calc(12.5% - 1.5rem)}.code-face :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:normal}.code-face :host b,.code-face :host strong{font-weight:400}.code-italic :host{letter-spacing:0em;font-family:\"Consolas\", \"Andale Mono\", \"Lucida Console\", \"Monaco\", monospace;font-weight:400;font-style:italic}.code-italic :host b,.code-italic :host strong{font-weight:400}.resource-item{padding:1rem}.resource-button{-webkit-margin-end:1rem;margin-inline-end:1rem}.resource-progress{padding-top:1rem}.resources-container{border:1px #808080 solid}.margin-bottom-1{margin-bottom:1rem}";
22
+
23
+ const SolutionResourceItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
24
+ constructor() {
25
+ super();
26
+ this.__registerHost();
27
+ this.__attachShadow();
28
+ this._removedResources = {};
29
+ this.authentication = undefined;
30
+ this.itemId = "";
31
+ this.resourceFilePaths = [];
32
+ this.resources = [];
33
+ this._translations = undefined;
34
+ }
35
+ itemIdWatchHandler() {
36
+ const item = state.getItemInfo(this.itemId);
37
+ this.resourceFilePaths = item.resourceFilePaths;
38
+ this.resources = item.resources.map(
39
+ // False linting error
40
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
41
+ (path) => path.substring(path.lastIndexOf("/") + 1));
42
+ }
43
+ //--------------------------------------------------------------------------
44
+ //
45
+ // Lifecycle
46
+ //
47
+ //--------------------------------------------------------------------------
48
+ /**
49
+ * StencilJS: Called once just after the component is first connected to the DOM.
50
+ */
51
+ componentWillLoad() {
52
+ return this._getTranslations();
53
+ }
54
+ /**
55
+ * Renders the component.
56
+ */
57
+ render() {
58
+ const hasValidResources = this._hasValidResources();
59
+ return (h(Host, null, h("div", { class: "resource-item" }, h("div", { class: "margin-bottom-1" }, h("calcite-button", { appearance: "solid", class: "resource-button", color: "blue", onClick: () => this._addNewResource() }, this._translations.addResource), h("calcite-button", { appearance: "solid", color: "blue", disabled: !hasValidResources, onClick: () => this._downloadAll() }, this._translations.downloadAll)), h("div", { class: "resources-container", style: { display: hasValidResources ? "inherit" : "none" } }, this._renderResourceList()))));
60
+ }
61
+ //--------------------------------------------------------------------------
62
+ //
63
+ // Event Listeners
64
+ //
65
+ //--------------------------------------------------------------------------
66
+ //--------------------------------------------------------------------------
67
+ //
68
+ // Events
69
+ //
70
+ //--------------------------------------------------------------------------
71
+ //--------------------------------------------------------------------------
72
+ //
73
+ // Public Methods (async)
74
+ //
75
+ //--------------------------------------------------------------------------
76
+ //--------------------------------------------------------------------------
77
+ //
78
+ // Private Methods
79
+ //
80
+ //--------------------------------------------------------------------------
81
+ /**
82
+ * Render resources while avoiding thumbnail resoures that are managed by solution-item
83
+ *
84
+ */
85
+ _renderResourceList() {
86
+ return (h("calcite-value-list", { multiple: true }, this.resourceFilePaths.reduce((prev, cur) => {
87
+ if (cur.type !== EFileType.Thumbnail) {
88
+ prev.push(this._renderResource(cur));
89
+ }
90
+ return prev;
91
+ }, [])));
92
+ }
93
+ /**
94
+ * Render the resource and supporting actions for download/update/delete/(reset..if deleted)
95
+ *
96
+ * @param resource the filename and url used to interact with the resource
97
+ */
98
+ _renderResource(resource) {
99
+ const resettable = resource.updateType === EUpdateType.Remove;
100
+ const fullname = resource.folder ? resource.folder + "/" + resource.filename : resource.filename;
101
+ return (h("calcite-value-list-item", { class: resettable ? "disabled" : "", label: fullname, nonInteractive: true, value: resource.url }, h("calcite-action-group", { "expand-disabled": "true", layout: "horizontal", slot: "actions-end" }, h("calcite-action", { disabled: resettable, icon: "download", label: this._translations.download, onClick: () => this._download(resource.url, resource.filename), scale: "m", text: this._translations.download, title: this._translations.download }), h("calcite-action", { disabled: resettable, icon: "upload-to", label: this._translations.update, onClick: () => this._upload(resource), scale: "m", text: this._translations.update, title: this._translations.update }), h("calcite-action", { disabled: resettable, icon: "trash", label: this._translations.delete, onClick: () => this._delete(resource), scale: "m", text: this._translations.delete, title: this._translations.delete }), resettable ? h("calcite-action", { icon: "reset", label: this._translations.reset, onClick: () => this._reset(resource.filename), scale: "m", text: this._translations.reset, title: this._translations.reset }) : h("div", { class: "display-none" }))));
102
+ }
103
+ /**
104
+ * Adds the name to the deleted array so it will be skipped while rendering
105
+ * but still exist if the user chooses to reset
106
+ *
107
+ * @param resource the resource to be updated
108
+ */
109
+ _delete(resource) {
110
+ resource.updateType = EUpdateType.Remove;
111
+ this.resourceFilePaths = [...this.resourceFilePaths]; // to trigger refresh
112
+ this._updateStore();
113
+ }
114
+ /**
115
+ * Remove the name from the deleted array so it will again be rendered
116
+ *
117
+ * @param name the name to be added to the deleted array
118
+ */
119
+ _reset(name) {
120
+ // need to make sure I know if this reset is from the source or a new one
121
+ // Because the item's `resources` array is not updated until (and if) the solution is saved,
122
+ // we can use it for the reset info
123
+ this.resources.some(resourceName => resourceName === name) ?
124
+ // Undo removing an existing resource
125
+ this.resourceFilePaths = this.resourceFilePaths.map(p => {
126
+ if (p.filename === name) {
127
+ p.updateType = EUpdateType.None;
128
+ }
129
+ return p;
130
+ }) :
131
+ // Undo cancelling the adding of a resource
132
+ this.resourceFilePaths = this.resourceFilePaths.map(p => {
133
+ if (p.filename === name) {
134
+ p.updateType = EUpdateType.Add;
135
+ }
136
+ return p;
137
+ });
138
+ this._updateStore();
139
+ }
140
+ /**
141
+ * Download all of the templates resources
142
+ *
143
+ */
144
+ _downloadAll() {
145
+ this.resourceFilePaths.forEach((resource) => {
146
+ this._download(resource.url, resource.filename);
147
+ });
148
+ }
149
+ /**
150
+ * Download the current resource
151
+ *
152
+ * @param url the resource url
153
+ * @param name the resource name
154
+ */
155
+ _download(url, name) {
156
+ // files that have been added manually do not need to be requested from the item
157
+ if (url.startsWith("blob")) {
158
+ this.downloadFile(url, name);
159
+ }
160
+ else {
161
+ const _url = `${url}?token=${this.authentication.token}`;
162
+ void this.fetchAndDownload(_url, name);
163
+ }
164
+ }
165
+ /**
166
+ * Dynamically creates an anchor and downloads the file
167
+ *
168
+ * @param url the url of the resource
169
+ * @param name the name of the resource
170
+ */
171
+ downloadFile(url, name) {
172
+ const link = document.createElement("a");
173
+ link.href = url;
174
+ link.download = name;
175
+ link.target = "_blank";
176
+ link.click();
177
+ }
178
+ /**
179
+ * Check if the template resources have any non-thumbnail resources
180
+ *
181
+ * @returns true if we have data resources and false if only thumbnail
182
+ */
183
+ _hasValidResources() {
184
+ return this.resourceFilePaths.some(r => r.url.indexOf("_info_thumbnail") < 0);
185
+ }
186
+ /**
187
+ * Fetches and downloads the resource from the solution
188
+ *
189
+ * @param url the url of the resource
190
+ * @param name the name of the resource
191
+ */
192
+ async fetchAndDownload(url, name) {
193
+ const image = await fetch(url);
194
+ const b = await image.blob();
195
+ const bURL = URL.createObjectURL(b);
196
+ this.downloadFile(bURL, name);
197
+ }
198
+ /**
199
+ * Create an input element to support the uploading of the resource and upload the resource
200
+ *
201
+ * @param resource the resource to be updated
202
+ */
203
+ _upload(resource) {
204
+ const _input = document.createElement("input");
205
+ _input.classList.add("display-none");
206
+ _input.onchange = this._updateResource.bind(this, resource);
207
+ _input.type = "file";
208
+ _input.click();
209
+ }
210
+ /**
211
+ * Create an input element to support the uploading of a resource and add the new resource
212
+ *
213
+ */
214
+ _addNewResource() {
215
+ const _input = document.createElement("input");
216
+ _input.classList.add("display-none");
217
+ _input.onchange = this._add.bind(this);
218
+ _input.type = "file";
219
+ _input.click();
220
+ }
221
+ /**
222
+ * Replace the resource file path when update action is used
223
+ *
224
+ * @param resourcePath the resource to be updated
225
+ * @param event the input event that contains the file
226
+ */
227
+ _updateResource(resourcePath, event) {
228
+ const files = event.target.files;
229
+ if (files && files[0]) {
230
+ resourcePath.blob = files[0];
231
+ resourcePath.updateType = EUpdateType.Update;
232
+ this._updateStore();
233
+ }
234
+ }
235
+ /**
236
+ * Add the new resource to the resource file paths
237
+ *
238
+ * @param event the inputs event that contains the new file
239
+ */
240
+ _add(event) {
241
+ const files = event.target.files;
242
+ if (files && files[0]) {
243
+ const url = URL.createObjectURL(files[0]);
244
+ const filename = files[0].name;
245
+ // Add the item if it's not already in the resource file paths list
246
+ if (!this.resourceFilePaths.some(r => r.filename === filename && r.url === url)) {
247
+ this.resourceFilePaths = [
248
+ ...this.resourceFilePaths,
249
+ {
250
+ url,
251
+ type: EFileType.Data,
252
+ folder: undefined,
253
+ filename,
254
+ blob: files[0],
255
+ updateType: EUpdateType.Add
256
+ }
257
+ ];
258
+ this._updateStore();
259
+ }
260
+ }
261
+ }
262
+ /**
263
+ * Add or remove the value from the store
264
+ */
265
+ _updateStore() {
266
+ const item = state.getItemInfo(this.itemId);
267
+ item.resourceFilePaths = this.resourceFilePaths;
268
+ state.setItemInfo(item);
269
+ }
270
+ /**
271
+ * Fetches the component's translations
272
+ *
273
+ * @protected
274
+ */
275
+ async _getTranslations() {
276
+ const translations = await getLocaleComponentStrings(this.el);
277
+ this._translations = translations[0];
278
+ }
279
+ get el() { return this; }
280
+ static get watchers() { return {
281
+ "itemId": ["itemIdWatchHandler"]
282
+ }; }
283
+ static get style() { return solutionResourceItemCss; }
284
+ }, [1, "solution-resource-item", {
285
+ "authentication": [1040],
286
+ "itemId": [1537, "item-id"],
287
+ "resourceFilePaths": [32],
288
+ "resources": [32],
289
+ "_translations": [32]
290
+ }]);
291
+ function defineCustomElement() {
292
+ if (typeof customElements === "undefined") {
293
+ return;
294
+ }
295
+ const components = ["solution-resource-item", "calcite-action", "calcite-action-group", "calcite-action-menu", "calcite-button", "calcite-icon", "calcite-loader", "calcite-pick-list-item", "calcite-popover", "calcite-value-list", "calcite-value-list-item"];
296
+ components.forEach(tagName => { switch (tagName) {
297
+ case "solution-resource-item":
298
+ if (!customElements.get(tagName)) {
299
+ customElements.define(tagName, SolutionResourceItem);
300
+ }
301
+ break;
302
+ case "calcite-action":
303
+ if (!customElements.get(tagName)) {
304
+ defineCustomElement$a();
305
+ }
306
+ break;
307
+ case "calcite-action-group":
308
+ if (!customElements.get(tagName)) {
309
+ defineCustomElement$9();
310
+ }
311
+ break;
312
+ case "calcite-action-menu":
313
+ if (!customElements.get(tagName)) {
314
+ defineCustomElement$8();
315
+ }
316
+ break;
317
+ case "calcite-button":
318
+ if (!customElements.get(tagName)) {
319
+ defineCustomElement$7();
320
+ }
321
+ break;
322
+ case "calcite-icon":
323
+ if (!customElements.get(tagName)) {
324
+ defineCustomElement$6();
325
+ }
326
+ break;
327
+ case "calcite-loader":
328
+ if (!customElements.get(tagName)) {
329
+ defineCustomElement$5();
330
+ }
331
+ break;
332
+ case "calcite-pick-list-item":
333
+ if (!customElements.get(tagName)) {
334
+ defineCustomElement$4();
335
+ }
336
+ break;
337
+ case "calcite-popover":
338
+ if (!customElements.get(tagName)) {
339
+ defineCustomElement$3();
340
+ }
341
+ break;
342
+ case "calcite-value-list":
343
+ if (!customElements.get(tagName)) {
344
+ defineCustomElement$2();
345
+ }
346
+ break;
347
+ case "calcite-value-list-item":
348
+ if (!customElements.get(tagName)) {
349
+ defineCustomElement$1();
350
+ }
351
+ break;
352
+ } });
353
+ }
354
+ defineCustomElement();
355
+
356
+ export { SolutionResourceItem as S, defineCustomElement as d };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface SolutionSpatialRef extends Components.SolutionSpatialRef, HTMLElement {}
4
+ export const SolutionSpatialRef: {
5
+ prototype: SolutionSpatialRef;
6
+ new (): SolutionSpatialRef;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,11 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { S as SolutionSpatialRef$1, d as defineCustomElement$1 } from './solution-spatial-ref2.js';
7
+
8
+ const SolutionSpatialRef = SolutionSpatialRef$1;
9
+ const defineCustomElement = defineCustomElement$1;
10
+
11
+ export { SolutionSpatialRef, defineCustomElement };