@esri/solutions-components 0.8.1 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1240) hide show
  1. package/dist/cjs/ExpandToggle-3ab7dfd7.js +118 -0
  2. package/dist/cjs/FloatingArrow-89e0e55a.js +50 -0
  3. package/dist/cjs/Heading-9112a4c5.js +25 -0
  4. package/dist/cjs/InitiativeUiSchemaEdit-108652db.js +28 -0
  5. package/dist/cjs/ProjectUiSchemaCreate-81217580.js +126 -0
  6. package/dist/cjs/ProjectUiSchemaEdit-d5f11c17.js +178 -0
  7. package/dist/cjs/Validation-20182093.js +20 -0
  8. package/dist/cjs/_commonjsHelpers-ed90c4ad.js +55 -0
  9. package/dist/cjs/app-globals-379d737f.js +69 -0
  10. package/dist/cjs/ar-a694ca24.js +105 -0
  11. package/dist/cjs/arcgis-login.cjs.entry.js +1 -1
  12. package/dist/cjs/basemap-gallery.cjs.entry.js +121 -0
  13. package/dist/cjs/bg-62b6b3ba.js +83 -0
  14. package/dist/cjs/browser-fe25aefa.js +28 -0
  15. package/dist/cjs/bs-e673542b.js +52 -0
  16. package/dist/cjs/buffer-tools.cjs.entry.js +257 -0
  17. package/dist/cjs/buffer-tools_3.cjs.entry.js +3 -3
  18. package/dist/cjs/ca-e4d2f562.js +72 -0
  19. package/dist/cjs/calcite-accordion-item.cjs.entry.js +5 -5
  20. package/dist/cjs/calcite-accordion.cjs.entry.js +2 -2
  21. package/dist/cjs/calcite-action-bar.cjs.entry.js +12 -12
  22. package/dist/cjs/calcite-action-group.cjs.entry.js +9 -9
  23. package/dist/cjs/calcite-action-menu.cjs.entry.js +295 -0
  24. package/dist/cjs/calcite-action-pad.cjs.entry.js +169 -0
  25. package/dist/cjs/calcite-action-pad_2.cjs.entry.js +1 -1
  26. package/dist/cjs/calcite-action.cjs.entry.js +188 -0
  27. package/dist/cjs/calcite-alert.cjs.entry.js +322 -0
  28. package/dist/cjs/calcite-avatar.cjs.entry.js +4 -4
  29. package/dist/cjs/calcite-block-section.cjs.entry.js +8 -8
  30. package/dist/cjs/calcite-block.cjs.entry.js +214 -0
  31. package/dist/cjs/calcite-button.cjs.entry.js +13 -13
  32. package/dist/cjs/calcite-card.cjs.entry.js +8 -8
  33. package/dist/cjs/calcite-checkbox.cjs.entry.js +9 -9
  34. package/dist/cjs/calcite-chip-group.cjs.entry.js +7 -7
  35. package/dist/cjs/calcite-chip.cjs.entry.js +262 -0
  36. package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js +274 -0
  37. package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js +99 -0
  38. package/dist/cjs/calcite-color-picker.cjs.entry.js +22 -22
  39. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +4 -4
  40. package/dist/cjs/calcite-combobox-item.cjs.entry.js +145 -0
  41. package/dist/cjs/calcite-combobox.cjs.entry.js +1431 -0
  42. package/dist/cjs/calcite-date-picker-day.cjs.entry.js +97 -0
  43. package/dist/cjs/calcite-date-picker-month-header.cjs.entry.js +207 -0
  44. package/dist/cjs/calcite-date-picker-month.cjs.entry.js +362 -0
  45. package/dist/cjs/calcite-date-picker.cjs.entry.js +460 -0
  46. package/dist/cjs/calcite-dropdown-group.cjs.entry.js +85 -0
  47. package/dist/cjs/calcite-dropdown-item.cjs.entry.js +188 -0
  48. package/dist/cjs/calcite-dropdown.cjs.entry.js +430 -0
  49. package/dist/cjs/calcite-fab.cjs.entry.js +6 -6
  50. package/dist/cjs/calcite-filter.cjs.entry.js +179 -0
  51. package/dist/cjs/calcite-flow-item.cjs.entry.js +198 -0
  52. package/dist/cjs/calcite-flow.cjs.entry.js +153 -0
  53. package/dist/cjs/calcite-graph.cjs.entry.js +226 -0
  54. package/dist/cjs/calcite-handle.cjs.entry.js +204 -0
  55. package/dist/cjs/calcite-icon.cjs.entry.js +5 -5
  56. package/dist/cjs/calcite-inline-editable.cjs.entry.js +11 -11
  57. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +744 -0
  58. package/dist/cjs/calcite-input-date-picker_3.cjs.entry.js +16 -10
  59. package/dist/cjs/calcite-input-message.cjs.entry.js +70 -0
  60. package/dist/cjs/calcite-input-number.cjs.entry.js +13 -13
  61. package/dist/cjs/calcite-input-text.cjs.entry.js +13 -13
  62. package/dist/cjs/calcite-input-time-picker-9e93f694.js +1854 -0
  63. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +17 -17
  64. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +12 -12
  65. package/dist/cjs/calcite-input.cjs.entry.js +695 -0
  66. package/dist/cjs/calcite-label.cjs.entry.js +4 -4
  67. package/dist/cjs/calcite-link.cjs.entry.js +6 -6
  68. package/dist/cjs/calcite-list-item-group.cjs.entry.js +4 -4
  69. package/dist/cjs/calcite-list-item.cjs.entry.js +454 -0
  70. package/dist/cjs/calcite-list.cjs.entry.js +567 -0
  71. package/dist/cjs/calcite-loader.cjs.entry.js +80 -0
  72. package/dist/cjs/calcite-menu-item.cjs.entry.js +8 -8
  73. package/dist/cjs/calcite-menu.cjs.entry.js +8 -8
  74. package/dist/cjs/calcite-meter.cjs.entry.js +8 -8
  75. package/dist/cjs/calcite-modal.cjs.entry.js +17 -11
  76. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +2 -2
  77. package/dist/cjs/calcite-navigation-user.cjs.entry.js +2 -2
  78. package/dist/cjs/calcite-navigation.cjs.entry.js +4 -4
  79. package/dist/cjs/calcite-notice.cjs.entry.js +10 -10
  80. package/dist/cjs/calcite-option-group.cjs.entry.js +1 -1
  81. package/dist/cjs/calcite-option.cjs.entry.js +88 -0
  82. package/dist/cjs/calcite-pagination.cjs.entry.js +201 -8
  83. package/dist/cjs/calcite-panel.cjs.entry.js +270 -0
  84. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +6 -6
  85. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +23 -23
  86. package/dist/cjs/calcite-pick-list.cjs.entry.js +10 -10
  87. package/dist/cjs/calcite-popover.cjs.entry.js +418 -0
  88. package/dist/cjs/calcite-progress.cjs.entry.js +41 -0
  89. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +4 -4
  90. package/dist/cjs/calcite-radio-button.cjs.entry.js +8 -8
  91. package/dist/cjs/calcite-rating.cjs.entry.js +14 -12
  92. package/dist/cjs/calcite-scrim.cjs.entry.js +7 -7
  93. package/dist/cjs/calcite-segmented-control-item.cjs.entry.js +70 -0
  94. package/dist/cjs/calcite-segmented-control.cjs.entry.js +245 -0
  95. package/dist/cjs/calcite-select.cjs.entry.js +235 -0
  96. package/dist/cjs/calcite-sheet.cjs.entry.js +7 -7
  97. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +5 -5
  98. package/dist/cjs/calcite-shell-panel.cjs.entry.js +414 -0
  99. package/dist/cjs/calcite-shell.cjs.entry.js +174 -0
  100. package/dist/cjs/calcite-slider.cjs.entry.js +844 -0
  101. package/dist/cjs/calcite-sortable-list.cjs.entry.js +7 -7
  102. package/dist/cjs/calcite-split-button.cjs.entry.js +4 -4
  103. package/dist/cjs/calcite-stack.cjs.entry.js +74 -0
  104. package/dist/cjs/calcite-stepper-item.cjs.entry.js +10 -10
  105. package/dist/cjs/calcite-stepper.cjs.entry.js +7 -7
  106. package/dist/cjs/calcite-switch.cjs.entry.js +9 -9
  107. package/dist/cjs/calcite-tab-nav.cjs.entry.js +263 -0
  108. package/dist/cjs/calcite-tab-title.cjs.entry.js +291 -0
  109. package/dist/cjs/calcite-tab.cjs.entry.js +112 -0
  110. package/dist/cjs/calcite-table-cell.cjs.entry.js +156 -0
  111. package/dist/cjs/calcite-table-header.cjs.entry.js +169 -0
  112. package/dist/cjs/calcite-table-row.cjs.entry.js +6 -6
  113. package/dist/cjs/calcite-table.cjs.entry.js +9 -9
  114. package/dist/cjs/calcite-tabs.cjs.entry.js +178 -0
  115. package/dist/cjs/calcite-text-area.cjs.entry.js +15 -16
  116. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +3 -3
  117. package/dist/cjs/calcite-tile-select.cjs.entry.js +4 -4
  118. package/dist/cjs/calcite-tile.cjs.entry.js +7 -7
  119. package/dist/cjs/calcite-time-picker.cjs.entry.js +9 -9
  120. package/dist/cjs/calcite-tip-group.cjs.entry.js +1 -1
  121. package/dist/cjs/calcite-tip-manager.cjs.entry.js +15 -8
  122. package/dist/cjs/calcite-tip.cjs.entry.js +9 -9
  123. package/dist/cjs/calcite-tooltip.cjs.entry.js +7 -7
  124. package/dist/cjs/calcite-tree-item.cjs.entry.js +296 -0
  125. package/dist/cjs/calcite-tree.cjs.entry.js +315 -0
  126. package/dist/cjs/calcite-value-list-item.cjs.entry.js +157 -0
  127. package/dist/cjs/calcite-value-list.cjs.entry.js +326 -0
  128. package/dist/cjs/card-manager.cjs.entry.js +107 -0
  129. package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
  130. package/dist/cjs/common-1b4bd8de.js +297 -0
  131. package/dist/cjs/conditionalSlot-73e71a05.js +63 -0
  132. package/dist/cjs/consent-manager.cjs.entry.js +379 -15
  133. package/dist/cjs/create-feature.cjs.entry.js +263 -0
  134. package/dist/cjs/crowdsource-manager.cjs.entry.js +7 -5
  135. package/dist/cjs/crowdsource-reporter.cjs.entry.js +9 -7
  136. package/dist/cjs/cs-1ea34123.js +148 -0
  137. package/dist/cjs/da-199f5488.js +67 -0
  138. package/dist/cjs/date-3d094f58.js +261 -0
  139. package/dist/cjs/de-222afa04.js +92 -0
  140. package/dist/cjs/de-at-a62870ea.js +91 -0
  141. package/dist/cjs/de-ch-b0b46c1b.js +91 -0
  142. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  143. package/dist/cjs/delete-button.cjs.entry.js +150 -0
  144. package/dist/cjs/dom-cf1e2e9f.js +1114 -0
  145. package/dist/cjs/{downloadUtils-c2bd7c80.js → downloadUtils-1f283d95.js} +37 -6
  146. package/dist/cjs/downloadUtils-de0c0682.js +4246 -0
  147. package/dist/cjs/edit-card.cjs.entry.js +228 -0
  148. package/dist/cjs/el-934951a0.js +67 -0
  149. package/dist/cjs/en-au-6872d248.js +67 -0
  150. package/dist/cjs/en-ca-7133c4f2.js +66 -0
  151. package/dist/cjs/en-gb-2c66b954.js +70 -0
  152. package/dist/cjs/es-48e65aa5.js +67 -0
  153. package/dist/cjs/es-mx-46d70897.js +66 -0
  154. package/dist/cjs/esri-loader-5b8fbfa4.js +308 -0
  155. package/dist/cjs/et-63c5628d.js +93 -0
  156. package/dist/cjs/feature-comments.cjs.entry.js +1 -1
  157. package/dist/cjs/feature-form-flow-item.cjs.entry.js +1 -1
  158. package/dist/cjs/feature-list.cjs.entry.js +199 -0
  159. package/dist/cjs/features-flow-item.cjs.entry.js +1 -1
  160. package/dist/cjs/fi-dc20f9ac.js +116 -0
  161. package/dist/cjs/filter-cc2705b7.js +48 -0
  162. package/dist/cjs/floating-ui-90bd00af.js +2350 -0
  163. package/dist/cjs/floor-filter.cjs.entry.js +111 -0
  164. package/dist/cjs/focusTrapComponent-946b0666.js +1028 -0
  165. package/dist/cjs/form-da52e819.js +316 -0
  166. package/dist/cjs/fr-7067996a.js +69 -0
  167. package/dist/cjs/fr-ch-dbd7ba02.js +67 -0
  168. package/dist/cjs/he-4eb6a5a9.js +106 -0
  169. package/dist/cjs/helpers-7415d67a.js +830 -0
  170. package/dist/cjs/{helpers-81779c18.js → helpers-b014d9a9.js} +1 -1
  171. package/dist/cjs/hi-5563acd4.js +66 -0
  172. package/dist/cjs/hr-7a0a4191.js +81 -0
  173. package/dist/cjs/html2canvas-57f1616d.js +7847 -0
  174. package/dist/cjs/hu-0b69b8fb.js +89 -0
  175. package/dist/cjs/id-345dd5a9.js +67 -0
  176. package/dist/cjs/index-5799a29c.js +41521 -0
  177. package/dist/cjs/index-8c75d784.js +1958 -0
  178. package/dist/cjs/index-af047760.js +201 -0
  179. package/dist/cjs/index-b53bfd7c.js +4185 -0
  180. package/dist/cjs/index.cjs.js +15 -0
  181. package/dist/cjs/index.es-152bb462.js +11342 -0
  182. package/dist/cjs/{index.es-22b3d1a2.js → index.es-4af23ecc.js} +1 -1
  183. package/dist/cjs/info-card.cjs.entry.js +320 -0
  184. package/dist/cjs/instant-apps-ckeditor-wrapper.cjs.entry.js +125 -0
  185. package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +4 -4
  186. package/dist/cjs/instant-apps-control-panel.cjs.entry.js +4 -4
  187. package/dist/cjs/instant-apps-export.cjs.entry.js +20 -14
  188. package/dist/cjs/instant-apps-filter-list.cjs.entry.js +1059 -0
  189. package/dist/cjs/instant-apps-header.cjs.entry.js +5 -4
  190. package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +25 -21
  191. package/dist/cjs/instant-apps-interactive-legend-count.cjs.entry.js +104 -0
  192. package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +2 -2
  193. package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +7 -6
  194. package/dist/cjs/instant-apps-interactive-legend-group-legend-element.cjs.entry.js +56 -0
  195. package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +2 -2
  196. package/dist/cjs/instant-apps-interactive-legend-layer-element-caption.cjs.entry.js +55 -0
  197. package/dist/cjs/instant-apps-interactive-legend-layer-element.cjs.entry.js +57 -0
  198. package/dist/cjs/instant-apps-interactive-legend-legend-element-caption.cjs.entry.js +104 -0
  199. package/dist/cjs/instant-apps-interactive-legend-legend-element.cjs.entry.js +65 -0
  200. package/dist/cjs/instant-apps-interactive-legend-relationship.cjs.entry.js +552 -0
  201. package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +9 -8
  202. package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +6 -6
  203. package/dist/cjs/instant-apps-landing-page.cjs.entry.js +2 -2
  204. package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +9 -9
  205. package/dist/cjs/instant-apps-language-translator-item.cjs.entry.js +384 -0
  206. package/dist/cjs/instant-apps-language-translator-search.cjs.entry.js +105 -0
  207. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +9 -9
  208. package/dist/cjs/instant-apps-measurement-tool.cjs.entry.js +139 -0
  209. package/dist/cjs/instant-apps-measurement.cjs.entry.js +7 -7
  210. package/dist/cjs/instant-apps-popover.cjs.entry.js +6 -6
  211. package/dist/cjs/instant-apps-popovers.cjs.entry.js +1 -1
  212. package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +6 -6
  213. package/dist/cjs/instant-apps-social-share.cjs.entry.js +515 -0
  214. package/dist/cjs/instant-apps-splash.cjs.entry.js +17 -8
  215. package/dist/cjs/interactive-08e5bc95.js +144 -0
  216. package/dist/cjs/it-ac7cf3e5.js +67 -0
  217. package/dist/cjs/it-ch-6f7209eb.js +67 -0
  218. package/dist/cjs/ja-29e7b0a2.js +73 -0
  219. package/dist/cjs/json-editor.cjs.entry.js +406 -0
  220. package/dist/cjs/key-86f4a0b0.js +47 -0
  221. package/dist/cjs/ko-aeebde8b.js +73 -0
  222. package/dist/cjs/label-24b05042.js +186 -0
  223. package/dist/cjs/{languageSwitcher-4822684b.js → languageSwitcher-3870c772.js} +1 -1
  224. package/dist/cjs/languageSwitcher-aafa5b47.js +58 -0
  225. package/dist/cjs/{languageUtil-9bd00bad.js → languageUtil-0df39c0c.js} +1 -1
  226. package/dist/cjs/languageUtil-43c3acdc.js +90 -0
  227. package/dist/cjs/layer-list.cjs.entry.js +207 -0
  228. package/dist/cjs/layer-table.cjs.entry.js +1487 -0
  229. package/dist/cjs/layout-manager.cjs.entry.js +5 -4
  230. package/dist/cjs/list-flow-item.cjs.entry.js +1 -1
  231. package/dist/cjs/{loadModules-69fc5b98.js → loadModules-01306709.js} +1 -1
  232. package/dist/cjs/loadModules-a67b6702.js +23 -0
  233. package/dist/cjs/loadModules-b5f244cd.js +30 -0
  234. package/dist/cjs/loadable-41446b78.js +97 -0
  235. package/dist/cjs/loader.cjs.js +4 -4
  236. package/dist/cjs/{locale-3e33f44c.js → locale-28c7c569.js} +2 -2
  237. package/dist/cjs/locale-42a9e623.js +152 -0
  238. package/dist/cjs/locale-4cef466e.js +91 -0
  239. package/dist/cjs/locale-a615b02f.js +585 -0
  240. package/dist/cjs/location-flow-item.cjs.entry.js +1 -1
  241. package/dist/cjs/lodash-7587da9f.js +18030 -0
  242. package/dist/cjs/lt-6816d14c.js +98 -0
  243. package/dist/cjs/lv-2c998515.js +67 -0
  244. package/dist/cjs/map-card.cjs.entry.js +192 -0
  245. package/dist/cjs/map-draw-tools.cjs.entry.js +358 -0
  246. package/dist/cjs/map-fullscreen.cjs.entry.js +116 -0
  247. package/dist/cjs/map-layer-picker.cjs.entry.js +346 -0
  248. package/dist/cjs/map-legend.cjs.entry.js +109 -0
  249. package/dist/cjs/map-picker.cjs.entry.js +174 -0
  250. package/dist/cjs/map-search.cjs.entry.js +184 -0
  251. package/dist/cjs/map-select-tools.cjs.entry.js +798 -0
  252. package/dist/cjs/map-select-tools_3.cjs.entry.js +32 -21
  253. package/dist/cjs/map-tools.cjs.entry.js +375 -0
  254. package/dist/cjs/mapViewUtils-6fa5bab1.js +271 -0
  255. package/dist/cjs/mk-147994ea.js +67 -0
  256. package/dist/cjs/mode-a0417ce5.js +27 -0
  257. package/dist/cjs/nb-f3d75f05.js +68 -0
  258. package/dist/cjs/nl-cb0a22c8.js +68 -0
  259. package/dist/cjs/observers-5923a7cc.js +58 -0
  260. package/dist/cjs/openCloseComponent-8d9cb545.js +140 -0
  261. package/dist/cjs/parser-e80279bf.js +1656 -0
  262. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  263. package/dist/cjs/pdf-download.cjs.entry.js +359 -0
  264. package/dist/cjs/pl-ade28edd.js +115 -0
  265. package/dist/cjs/popupUtils-4de17e65.js +96 -0
  266. package/dist/cjs/pt-5543b782.js +68 -0
  267. package/dist/cjs/pt-br-bdce1868.js +66 -0
  268. package/dist/cjs/public-notification.cjs.entry.js +36 -12
  269. package/dist/cjs/publicNotificationStore-f690e171.js +47 -0
  270. package/dist/cjs/purify-557ad134.js +1715 -0
  271. package/dist/cjs/queryUtils-aba29fcf.js +253 -0
  272. package/dist/cjs/refine-results-flow-item.cjs.entry.js +1 -1
  273. package/dist/cjs/refine-selection.cjs.entry.js +411 -0
  274. package/dist/cjs/resources-2ccf85d3.js +53 -0
  275. package/dist/cjs/resources-37006465.js +29 -0
  276. package/dist/cjs/resources-63b3a6b8.js +116 -0
  277. package/dist/cjs/resources-a2b1b149.js +49 -0
  278. package/dist/cjs/resources-ac626172.js +26 -0
  279. package/dist/cjs/resources-b0cc39b4.js +30 -0
  280. package/dist/cjs/ro-f4bb9704.js +67 -0
  281. package/dist/cjs/ru-ba86b627.js +127 -0
  282. package/dist/cjs/shadow-css-bbaea014.js +483 -0
  283. package/dist/cjs/share-item.cjs.entry.js +1 -1
  284. package/dist/cjs/shared-list-render-c8555864.js +370 -0
  285. package/dist/cjs/sk-ac03aca5.js +149 -0
  286. package/dist/cjs/sl-c68e3fd0.js +169 -0
  287. package/dist/cjs/solution-configuration.cjs.entry.js +21 -1105
  288. package/dist/cjs/solution-contents.cjs.entry.js +84 -0
  289. package/dist/cjs/solution-item-details.cjs.entry.js +199 -0
  290. package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
  291. package/dist/cjs/solution-item-sharing.cjs.entry.js +139 -0
  292. package/dist/cjs/solution-item.cjs.entry.js +106 -0
  293. package/dist/cjs/solution-organization-variables.cjs.entry.js +95 -0
  294. package/dist/cjs/solution-resource-item.cjs.entry.js +284 -0
  295. package/dist/cjs/solution-spatial-ref.cjs.entry.js +158 -0
  296. package/dist/cjs/solution-store-6194ba89.js +589 -0
  297. package/dist/cjs/solution-template-data.cjs.entry.js +119 -0
  298. package/dist/cjs/solution-variables.cjs.entry.js +107 -0
  299. package/dist/cjs/solutions-components.cjs.js +36 -5
  300. package/dist/cjs/sortableComponent-5e3419af.js +3443 -0
  301. package/dist/cjs/spatial-ref.cjs.entry.js +7 -6
  302. package/dist/cjs/sr-80f65cf0.js +102 -0
  303. package/dist/cjs/store-1f422ad4.js +91 -0
  304. package/dist/cjs/store-manager.cjs.entry.js +1 -1
  305. package/dist/cjs/sv-eee15401.js +72 -0
  306. package/dist/cjs/t9n-463dcbff.js +103 -0
  307. package/dist/cjs/th-f90768db.js +66 -0
  308. package/dist/cjs/time-4a9bf7e2.js +289 -0
  309. package/dist/cjs/tr-37fec0b5.js +67 -0
  310. package/dist/cjs/uk-3041a292.js +105 -0
  311. package/dist/cjs/utils-3a633152.js +64 -0
  312. package/dist/cjs/utils-7281bf72.js +110 -0
  313. package/dist/cjs/utils-72a66b3c.js +66 -0
  314. package/dist/cjs/utils-934ee777.js +142 -0
  315. package/dist/cjs/{utils-ea7a5a63.js → utils-ac836e7a.js} +1 -1
  316. package/dist/cjs/utils-b276a49d.js +226 -0
  317. package/dist/cjs/vi-57a02ad1.js +71 -0
  318. package/dist/cjs/zh-cn-165c486d.js +95 -0
  319. package/dist/cjs/zh-hk-0aa560a6.js +72 -0
  320. package/dist/cjs/zh-tw-42d975f0.js +93 -0
  321. package/dist/collection/components/map-draw-tools/map-draw-tools.js +3 -3
  322. package/dist/collection/components/map-select-tools/map-select-tools.js +33 -20
  323. package/dist/collection/components/public-notification/public-notification.js +24 -1
  324. package/dist/collection/utils/downloadUtils.js +36 -5
  325. package/dist/collection/utils/downloadUtils.ts +44 -5
  326. package/dist/collection/utils/test/downloadUtils.spec.js +33 -1
  327. package/dist/collection/utils/test/downloadUtils.spec.tsx +40 -1
  328. package/dist/components/ExpandToggle.js +8 -8
  329. package/dist/components/InitiativeUiSchemaEdit.js +26 -0
  330. package/dist/components/ProjectUiSchemaCreate.js +122 -0
  331. package/dist/components/ProjectUiSchemaEdit.js +176 -0
  332. package/dist/components/_commonjsHelpers.js +10 -2
  333. package/dist/components/action-bar.js +3 -3
  334. package/dist/components/action-group.js +1 -1
  335. package/dist/components/action-menu.js +1 -1
  336. package/dist/components/action-pad.js +1 -1
  337. package/dist/components/action.js +1 -1
  338. package/dist/components/alert.js +2 -2
  339. package/dist/components/arcgis-login.js +1 -1
  340. package/dist/components/avatar.js +1 -1
  341. package/dist/components/basemap-gallery2.js +1 -1
  342. package/dist/components/block.js +1 -1
  343. package/dist/components/buffer-tools2.js +1 -1
  344. package/dist/components/button.js +1 -1
  345. package/dist/components/calcite-accordion-item.js +1 -1
  346. package/dist/components/calcite-accordion.js +1 -1
  347. package/dist/components/calcite-block-section.js +1 -1
  348. package/dist/components/calcite-card.js +1 -1
  349. package/dist/components/calcite-chip-group.js +1 -1
  350. package/dist/components/calcite-color-picker.js +5 -5
  351. package/dist/components/calcite-combobox-item-group.js +1 -1
  352. package/dist/components/calcite-fab.js +1 -1
  353. package/dist/components/calcite-inline-editable.js +1 -1
  354. package/dist/components/calcite-input-time-picker.js +5 -1
  355. package/dist/components/calcite-input-time-zone.js +2 -2
  356. package/dist/components/calcite-list-item-group.js +1 -1
  357. package/dist/components/calcite-menu-item.js +1 -1
  358. package/dist/components/calcite-meter.js +1 -1
  359. package/dist/components/calcite-navigation-logo.js +1 -1
  360. package/dist/components/calcite-navigation-user.js +1 -1
  361. package/dist/components/calcite-navigation.js +1 -1
  362. package/dist/components/calcite-option-group.js +1 -1
  363. package/dist/components/calcite-pick-list-group.js +3 -3
  364. package/dist/components/calcite-pick-list.js +1 -1
  365. package/dist/components/calcite-radio-button-group.js +1 -1
  366. package/dist/components/calcite-rating.js +3 -1
  367. package/dist/components/calcite-sheet.js +1 -1
  368. package/dist/components/calcite-shell-center-row.js +1 -1
  369. package/dist/components/calcite-sortable-list.js +1 -1
  370. package/dist/components/calcite-split-button.js +1 -1
  371. package/dist/components/calcite-stepper-item.js +1 -1
  372. package/dist/components/calcite-stepper.js +1 -1
  373. package/dist/components/calcite-table-row.js +1 -1
  374. package/dist/components/calcite-table.js +1 -1
  375. package/dist/components/calcite-text-area.js +2 -2
  376. package/dist/components/calcite-tile-select-group.js +1 -1
  377. package/dist/components/calcite-tile-select.js +1 -1
  378. package/dist/components/calcite-tile.js +1 -1
  379. package/dist/components/calcite-tip-group.js +1 -1
  380. package/dist/components/calcite-tip-manager.js +8 -1
  381. package/dist/components/calcite-tip.js +2 -2
  382. package/dist/components/card-manager2.js +1 -1
  383. package/dist/components/checkbox.js +1 -1
  384. package/dist/components/chip.js +1 -1
  385. package/dist/components/color-picker-hex-input.js +2 -2
  386. package/dist/components/color-picker-swatch.js +1 -1
  387. package/dist/components/combobox-item.js +1 -1
  388. package/dist/components/combobox.js +314 -3
  389. package/dist/components/consent-manager.js +376 -13
  390. package/dist/components/create-feature2.js +1 -1
  391. package/dist/components/crowdsource-manager.js +1 -1
  392. package/dist/components/crowdsource-reporter.js +1 -1
  393. package/dist/components/date-picker-day.js +1 -1
  394. package/dist/components/date-picker-month-header.js +1 -1
  395. package/dist/components/date-picker-month.js +1 -1
  396. package/dist/components/date-picker.js +1 -1
  397. package/dist/components/deduct-calculator2.js +1 -1
  398. package/dist/components/delete-button2.js +1 -1
  399. package/dist/components/dom.js +28 -1
  400. package/dist/components/downloadUtils.js +1213 -102
  401. package/dist/components/dropdown-group.js +1 -1
  402. package/dist/components/dropdown-item.js +1 -1
  403. package/dist/components/dropdown.js +1 -1
  404. package/dist/components/edit-card2.js +1 -1
  405. package/dist/components/esri-loader.js +8 -3
  406. package/dist/components/feature-comments.js +1 -1
  407. package/dist/components/feature-form-flow-item.js +1 -1
  408. package/dist/components/feature-list2.js +1 -1
  409. package/dist/components/features-flow-item.js +1 -1
  410. package/dist/components/filter.js +1 -718
  411. package/dist/components/filter2.js +2 -2
  412. package/dist/components/floating-ui.js +384 -7
  413. package/dist/components/floor-filter2.js +1 -1
  414. package/dist/components/flow-item.js +1 -1
  415. package/dist/components/flow.js +1 -1
  416. package/dist/components/focusTrapComponent.js +1 -1
  417. package/dist/components/form.js +1 -1
  418. package/dist/components/graph.js +1 -1
  419. package/dist/components/handle.js +1 -1
  420. package/dist/components/helpers.js +6 -2
  421. package/dist/components/html2canvas.js +8 -3
  422. package/dist/components/icon.js +1 -1
  423. package/dist/components/index.es.js +555 -22
  424. package/dist/components/index.js +16 -0
  425. package/dist/components/index2.js +3 -0
  426. package/dist/components/index3.js +41270 -1873
  427. package/dist/components/index5.js +2086 -185
  428. package/dist/components/index6.js +188 -55
  429. package/dist/components/index7.js +71 -0
  430. package/dist/components/info-card2.js +1 -1
  431. package/dist/components/input-date-picker.js +1 -1
  432. package/dist/components/input-message.js +1 -1
  433. package/dist/components/input-number.js +1 -1
  434. package/dist/components/input-text.js +1 -1
  435. package/dist/components/input.js +1 -1
  436. package/dist/components/instant-apps-ckeditor-wrapper2.js +1 -1
  437. package/dist/components/instant-apps-control-panel.js +1 -1
  438. package/dist/components/instant-apps-export.js +14 -8
  439. package/dist/components/instant-apps-filter-list2.js +2 -1
  440. package/dist/components/instant-apps-header2.js +2 -2
  441. package/dist/components/instant-apps-interactive-legend-classic2.js +10 -7
  442. package/dist/components/instant-apps-interactive-legend-count2.js +2 -2
  443. package/dist/components/instant-apps-interactive-legend-group-legend-element-caption.js +1 -1
  444. package/dist/components/instant-apps-interactive-legend-group-legend-element2.js +1 -1
  445. package/dist/components/instant-apps-interactive-legend-layer-element-caption2.js +1 -1
  446. package/dist/components/instant-apps-interactive-legend-layer-element2.js +1 -1
  447. package/dist/components/instant-apps-interactive-legend-legend-element-caption2.js +2 -2
  448. package/dist/components/instant-apps-interactive-legend-legend-element2.js +1 -1
  449. package/dist/components/instant-apps-interactive-legend-relationship2.js +1 -1
  450. package/dist/components/instant-apps-interactive-legend.js +1 -1
  451. package/dist/components/instant-apps-keyboard-shortcuts.js +1 -1
  452. package/dist/components/instant-apps-landing-page.js +2 -2
  453. package/dist/components/instant-apps-language-switcher.js +1 -1
  454. package/dist/components/instant-apps-language-translator-item2.js +1 -1
  455. package/dist/components/instant-apps-language-translator-search2.js +1 -1
  456. package/dist/components/instant-apps-language-translator2.js +1 -1
  457. package/dist/components/instant-apps-measurement-tool2.js +1 -1
  458. package/dist/components/instant-apps-measurement.js +2 -2
  459. package/dist/components/instant-apps-popover.js +1 -1
  460. package/dist/components/instant-apps-popovers.js +1 -1
  461. package/dist/components/instant-apps-scoreboard.js +1 -1
  462. package/dist/components/instant-apps-social-share2.js +14 -8
  463. package/dist/components/instant-apps-splash.js +18 -4
  464. package/dist/components/json-editor2.js +1 -1
  465. package/dist/components/key.js +28 -0
  466. package/dist/components/label.js +1 -1
  467. package/dist/components/label2.js +1 -1
  468. package/dist/components/languageUtil.js +23 -2
  469. package/dist/components/layer-list2.js +1 -1
  470. package/dist/components/layer-table2.js +1 -1
  471. package/dist/components/layout-manager.js +1 -1
  472. package/dist/components/link.js +1 -1
  473. package/dist/components/list-flow-item.js +1 -1
  474. package/dist/components/list-item.js +1 -1
  475. package/dist/components/list.js +2 -2
  476. package/dist/components/loadModules2.js +1 -1
  477. package/dist/components/loader.js +1 -1
  478. package/dist/components/locale.js +12 -0
  479. package/dist/components/locale2.js +2 -1
  480. package/dist/components/location-flow-item.js +1 -1
  481. package/dist/components/lodash.js +18025 -0
  482. package/dist/components/map-card2.js +1 -1
  483. package/dist/components/map-draw-tools2.js +4 -4
  484. package/dist/components/map-fullscreen2.js +1 -1
  485. package/dist/components/map-layer-picker2.js +1 -1
  486. package/dist/components/map-legend2.js +1 -1
  487. package/dist/components/map-picker2.js +1 -1
  488. package/dist/components/map-search2.js +1 -1
  489. package/dist/components/map-select-tools2.js +33 -21
  490. package/dist/components/map-tools2.js +3 -1
  491. package/dist/components/menu.js +1 -1
  492. package/dist/components/modal.js +7 -1
  493. package/dist/components/mode.js +8 -0
  494. package/dist/components/notice.js +1 -1
  495. package/dist/components/openCloseComponent.js +48 -0
  496. package/dist/components/option.js +1 -1
  497. package/dist/components/pagination.js +194 -1
  498. package/dist/components/panel.js +2 -1
  499. package/dist/components/parser.js +1654 -0
  500. package/dist/components/pci-calculator.js +1 -1
  501. package/dist/components/pdf-download2.js +1 -1
  502. package/dist/components/pick-list-item.js +1 -1
  503. package/dist/components/popover.js +1 -1
  504. package/dist/components/progress.js +1 -1
  505. package/dist/components/public-notification.js +25 -2
  506. package/dist/components/purify.js +5 -2
  507. package/dist/components/queryUtils.js +43 -0
  508. package/dist/components/radio-button.js +1 -1
  509. package/dist/components/refine-results-flow-item.js +1 -1
  510. package/dist/components/refine-selection2.js +1 -1
  511. package/dist/components/resources.js +17 -0
  512. package/dist/components/resources4.js +3 -0
  513. package/dist/components/scrim.js +1 -1
  514. package/dist/components/segmented-control-item.js +1 -1
  515. package/dist/components/segmented-control.js +1 -1
  516. package/dist/components/select.js +1 -1
  517. package/dist/components/share-item.js +1 -1
  518. package/dist/components/shared-list-render.js +6 -1
  519. package/dist/components/shell-panel.js +1 -1
  520. package/dist/components/shell.js +1 -1
  521. package/dist/components/slider.js +3 -1
  522. package/dist/components/solution-configuration.js +2 -1088
  523. package/dist/components/solution-contents2.js +1 -1
  524. package/dist/components/solution-item-details2.js +1 -1
  525. package/dist/components/solution-item-icon2.js +1 -1
  526. package/dist/components/solution-item-sharing2.js +1 -1
  527. package/dist/components/solution-item2.js +1 -1
  528. package/dist/components/solution-organization-variables2.js +1 -1
  529. package/dist/components/solution-resource-item2.js +2 -3
  530. package/dist/components/solution-spatial-ref2.js +1 -1
  531. package/dist/components/solution-store.js +1 -756
  532. package/dist/components/solution-template-data2.js +1 -1
  533. package/dist/components/solution-variables2.js +1 -1
  534. package/dist/components/sortableComponent.js +701 -0
  535. package/dist/components/spatial-ref2.js +263 -4
  536. package/dist/components/stack.js +1 -1
  537. package/dist/components/store-manager.js +1 -1
  538. package/dist/components/store.js +1 -0
  539. package/dist/components/switch.js +1 -1
  540. package/dist/components/t9n.js +1 -1
  541. package/dist/components/tab-nav.js +1 -1
  542. package/dist/components/tab-title.js +1 -1
  543. package/dist/components/tab.js +1 -1
  544. package/dist/components/table-cell.js +1 -1
  545. package/dist/components/table-header.js +1 -1
  546. package/dist/components/tabs.js +1 -1
  547. package/dist/components/time-picker.js +2 -2
  548. package/dist/components/tooltip.js +1 -1
  549. package/dist/components/tree-item.js +1 -1
  550. package/dist/components/tree.js +1 -1
  551. package/dist/components/utils.js +6 -1
  552. package/dist/components/utils2.js +1 -1
  553. package/dist/components/utils4.js +12 -0
  554. package/dist/components/value-list-item.js +1 -1
  555. package/dist/components/value-list.js +4 -1
  556. package/dist/esm/ExpandToggle-22fd2faa.js +110 -0
  557. package/dist/esm/FloatingArrow-de6fd1c7.js +48 -0
  558. package/dist/esm/Heading-f003a141.js +22 -0
  559. package/dist/esm/InitiativeUiSchemaEdit-8ddacfe8.js +26 -0
  560. package/dist/esm/ProjectUiSchemaCreate-dd179c0f.js +124 -0
  561. package/dist/esm/ProjectUiSchemaEdit-fbfdf6e4.js +176 -0
  562. package/dist/esm/Validation-59a77488.js +18 -0
  563. package/dist/esm/_commonjsHelpers-3cd6d4ee.js +49 -0
  564. package/dist/esm/app-globals-928553ab.js +67 -0
  565. package/dist/esm/ar-75ffdabb.js +103 -0
  566. package/dist/esm/arcgis-login.entry.js +1 -1
  567. package/dist/esm/basemap-gallery.entry.js +117 -0
  568. package/dist/esm/bg-fac0bf10.js +81 -0
  569. package/dist/esm/browser-b8d08bed.js +26 -0
  570. package/dist/esm/bs-c03c8ef2.js +50 -0
  571. package/dist/esm/buffer-tools.entry.js +253 -0
  572. package/dist/esm/buffer-tools_3.entry.js +3 -3
  573. package/dist/esm/ca-29e49f82.js +70 -0
  574. package/dist/esm/calcite-accordion-item.entry.js +5 -5
  575. package/dist/esm/calcite-accordion.entry.js +2 -2
  576. package/dist/esm/calcite-action-bar.entry.js +11 -11
  577. package/dist/esm/calcite-action-group.entry.js +12 -12
  578. package/dist/esm/calcite-action-menu.entry.js +291 -0
  579. package/dist/esm/calcite-action-pad.entry.js +165 -0
  580. package/dist/esm/calcite-action-pad_2.entry.js +1 -1
  581. package/dist/esm/calcite-action.entry.js +184 -0
  582. package/dist/esm/calcite-alert.entry.js +318 -0
  583. package/dist/esm/calcite-avatar.entry.js +4 -4
  584. package/dist/esm/calcite-block-section.entry.js +8 -8
  585. package/dist/esm/calcite-block.entry.js +210 -0
  586. package/dist/esm/calcite-button.entry.js +13 -13
  587. package/dist/esm/calcite-card.entry.js +8 -8
  588. package/dist/esm/calcite-checkbox.entry.js +9 -9
  589. package/dist/esm/calcite-chip-group.entry.js +7 -7
  590. package/dist/esm/calcite-chip.entry.js +258 -0
  591. package/dist/esm/calcite-color-picker-hex-input.entry.js +270 -0
  592. package/dist/esm/calcite-color-picker-swatch.entry.js +95 -0
  593. package/dist/esm/calcite-color-picker.entry.js +16 -16
  594. package/dist/esm/calcite-combobox-item-group.entry.js +4 -4
  595. package/dist/esm/calcite-combobox-item.entry.js +141 -0
  596. package/dist/esm/calcite-combobox.entry.js +1427 -0
  597. package/dist/esm/calcite-date-picker-day.entry.js +93 -0
  598. package/dist/esm/calcite-date-picker-month-header.entry.js +203 -0
  599. package/dist/esm/calcite-date-picker-month.entry.js +358 -0
  600. package/dist/esm/calcite-date-picker.entry.js +456 -0
  601. package/dist/esm/calcite-dropdown-group.entry.js +81 -0
  602. package/dist/esm/calcite-dropdown-item.entry.js +184 -0
  603. package/dist/esm/calcite-dropdown.entry.js +426 -0
  604. package/dist/esm/calcite-fab.entry.js +6 -6
  605. package/dist/esm/calcite-filter.entry.js +175 -0
  606. package/dist/esm/calcite-flow-item.entry.js +194 -0
  607. package/dist/esm/calcite-flow.entry.js +149 -0
  608. package/dist/esm/calcite-graph.entry.js +222 -0
  609. package/dist/esm/calcite-handle.entry.js +200 -0
  610. package/dist/esm/calcite-icon.entry.js +5 -5
  611. package/dist/esm/calcite-inline-editable.entry.js +11 -11
  612. package/dist/esm/calcite-input-date-picker.entry.js +740 -0
  613. package/dist/esm/calcite-input-date-picker_3.entry.js +16 -10
  614. package/dist/esm/calcite-input-message.entry.js +66 -0
  615. package/dist/esm/calcite-input-number.entry.js +13 -13
  616. package/dist/esm/calcite-input-text.entry.js +13 -13
  617. package/dist/esm/calcite-input-time-picker-e5cd4d26.js +1851 -0
  618. package/dist/esm/calcite-input-time-picker.entry.js +17 -17
  619. package/dist/esm/calcite-input-time-zone.entry.js +12 -12
  620. package/dist/esm/calcite-input.entry.js +691 -0
  621. package/dist/esm/calcite-label.entry.js +4 -4
  622. package/dist/esm/calcite-link.entry.js +6 -6
  623. package/dist/esm/calcite-list-item-group.entry.js +4 -4
  624. package/dist/esm/calcite-list-item.entry.js +450 -0
  625. package/dist/esm/calcite-list.entry.js +563 -0
  626. package/dist/esm/calcite-loader.entry.js +76 -0
  627. package/dist/esm/calcite-menu-item.entry.js +8 -8
  628. package/dist/esm/calcite-menu.entry.js +8 -8
  629. package/dist/esm/calcite-meter.entry.js +8 -8
  630. package/dist/esm/calcite-modal.entry.js +17 -11
  631. package/dist/esm/calcite-navigation-logo.entry.js +2 -2
  632. package/dist/esm/calcite-navigation-user.entry.js +2 -2
  633. package/dist/esm/calcite-navigation.entry.js +4 -4
  634. package/dist/esm/calcite-notice.entry.js +10 -10
  635. package/dist/esm/calcite-option-group.entry.js +1 -1
  636. package/dist/esm/calcite-option.entry.js +84 -0
  637. package/dist/esm/calcite-pagination.entry.js +201 -8
  638. package/dist/esm/calcite-panel.entry.js +266 -0
  639. package/dist/esm/calcite-pick-list-group.entry.js +6 -6
  640. package/dist/esm/calcite-pick-list-item.entry.js +13 -13
  641. package/dist/esm/calcite-pick-list.entry.js +10 -10
  642. package/dist/esm/calcite-popover.entry.js +414 -0
  643. package/dist/esm/calcite-progress.entry.js +37 -0
  644. package/dist/esm/calcite-radio-button-group.entry.js +4 -4
  645. package/dist/esm/calcite-radio-button.entry.js +8 -8
  646. package/dist/esm/calcite-rating.entry.js +14 -12
  647. package/dist/esm/calcite-scrim.entry.js +7 -7
  648. package/dist/esm/calcite-segmented-control-item.entry.js +66 -0
  649. package/dist/esm/calcite-segmented-control.entry.js +241 -0
  650. package/dist/esm/calcite-select.entry.js +231 -0
  651. package/dist/esm/calcite-sheet.entry.js +7 -7
  652. package/dist/esm/calcite-shell-center-row.entry.js +5 -5
  653. package/dist/esm/calcite-shell-panel.entry.js +410 -0
  654. package/dist/esm/calcite-shell.entry.js +170 -0
  655. package/dist/esm/calcite-slider.entry.js +840 -0
  656. package/dist/esm/calcite-sortable-list.entry.js +7 -7
  657. package/dist/esm/calcite-split-button.entry.js +4 -4
  658. package/dist/esm/calcite-stack.entry.js +70 -0
  659. package/dist/esm/calcite-stepper-item.entry.js +10 -10
  660. package/dist/esm/calcite-stepper.entry.js +7 -7
  661. package/dist/esm/calcite-switch.entry.js +9 -9
  662. package/dist/esm/calcite-tab-nav.entry.js +259 -0
  663. package/dist/esm/calcite-tab-title.entry.js +287 -0
  664. package/dist/esm/calcite-tab.entry.js +108 -0
  665. package/dist/esm/calcite-table-cell.entry.js +152 -0
  666. package/dist/esm/calcite-table-header.entry.js +165 -0
  667. package/dist/esm/calcite-table-row.entry.js +6 -6
  668. package/dist/esm/calcite-table.entry.js +9 -9
  669. package/dist/esm/calcite-tabs.entry.js +174 -0
  670. package/dist/esm/calcite-text-area.entry.js +14 -15
  671. package/dist/esm/calcite-tile-select-group.entry.js +3 -3
  672. package/dist/esm/calcite-tile-select.entry.js +4 -4
  673. package/dist/esm/calcite-tile.entry.js +7 -7
  674. package/dist/esm/calcite-time-picker.entry.js +9 -9
  675. package/dist/esm/calcite-tip-group.entry.js +1 -1
  676. package/dist/esm/calcite-tip-manager.entry.js +15 -8
  677. package/dist/esm/calcite-tip.entry.js +9 -9
  678. package/dist/esm/calcite-tooltip.entry.js +7 -7
  679. package/dist/esm/calcite-tree-item.entry.js +292 -0
  680. package/dist/esm/calcite-tree.entry.js +311 -0
  681. package/dist/esm/calcite-value-list-item.entry.js +153 -0
  682. package/dist/esm/calcite-value-list.entry.js +322 -0
  683. package/dist/esm/card-manager.entry.js +103 -0
  684. package/dist/esm/card-manager_3.entry.js +1 -1
  685. package/dist/esm/common-7e0dcaa2.js +295 -0
  686. package/dist/esm/conditionalSlot-a395417e.js +60 -0
  687. package/dist/esm/consent-manager.entry.js +379 -15
  688. package/dist/esm/create-feature.entry.js +259 -0
  689. package/dist/esm/crowdsource-manager.entry.js +7 -5
  690. package/dist/esm/crowdsource-reporter.entry.js +7 -5
  691. package/dist/esm/cs-04f36d01.js +146 -0
  692. package/dist/esm/da-5a3b8600.js +65 -0
  693. package/dist/esm/date-74c7f03b.js +245 -0
  694. package/dist/esm/de-579cda2e.js +90 -0
  695. package/dist/esm/de-at-52bf1c4c.js +89 -0
  696. package/dist/esm/de-ch-12d03480.js +89 -0
  697. package/dist/esm/deduct-calculator.entry.js +1 -1
  698. package/dist/esm/delete-button.entry.js +146 -0
  699. package/dist/esm/dom-b91aa537.js +1083 -0
  700. package/dist/esm/{downloadUtils-a6c0e25f.js → downloadUtils-01e2cb56.js} +37 -6
  701. package/dist/esm/downloadUtils-b3220f86.js +4240 -0
  702. package/dist/esm/edit-card.entry.js +224 -0
  703. package/dist/esm/el-c18d3ea4.js +65 -0
  704. package/dist/esm/en-au-2599e6da.js +65 -0
  705. package/dist/esm/en-ca-8cfbe6bc.js +64 -0
  706. package/dist/esm/en-gb-5e4e8a1e.js +68 -0
  707. package/dist/esm/es-d86f9957.js +65 -0
  708. package/dist/esm/es-mx-f99d9fd1.js +64 -0
  709. package/dist/esm/esri-loader-af2bbfd5.js +306 -0
  710. package/dist/esm/et-8bf52e57.js +91 -0
  711. package/dist/esm/feature-comments.entry.js +1 -1
  712. package/dist/esm/feature-form-flow-item.entry.js +1 -1
  713. package/dist/esm/feature-list.entry.js +195 -0
  714. package/dist/esm/features-flow-item.entry.js +1 -1
  715. package/dist/esm/fi-aeb49e52.js +114 -0
  716. package/dist/esm/filter-0d00d2e2.js +46 -0
  717. package/dist/esm/floating-ui-b3256614.js +2342 -0
  718. package/dist/esm/floor-filter.entry.js +107 -0
  719. package/dist/esm/focusTrapComponent-2fe6623b.js +1023 -0
  720. package/dist/esm/form-f2181470.js +307 -0
  721. package/dist/esm/fr-6200cc01.js +67 -0
  722. package/dist/esm/fr-ch-df62bb30.js +65 -0
  723. package/dist/esm/he-07ace6cb.js +104 -0
  724. package/dist/esm/helpers-85ca7251.js +807 -0
  725. package/dist/esm/{helpers-aeddac74.js → helpers-f9256189.js} +1 -1
  726. package/dist/esm/hi-5aa9519e.js +64 -0
  727. package/dist/esm/hr-e0614bed.js +79 -0
  728. package/dist/esm/html2canvas-d52e7c8d.js +7845 -0
  729. package/dist/esm/hu-732fe37c.js +87 -0
  730. package/dist/esm/id-0832fc24.js +65 -0
  731. package/dist/esm/index-7fc1cba9.js +41502 -0
  732. package/dist/esm/index-91eeaf01.js +199 -0
  733. package/dist/esm/index-b1fb529b.js +1956 -0
  734. package/dist/esm/index-bdfaac50.js +4145 -0
  735. package/dist/esm/index.es-3db60115.js +11256 -0
  736. package/dist/esm/{index.es-b0a676ae.js → index.es-ac6f5e76.js} +1 -1
  737. package/dist/esm/index.js +15 -0
  738. package/dist/esm/info-card.entry.js +316 -0
  739. package/dist/esm/instant-apps-ckeditor-wrapper.entry.js +121 -0
  740. package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +4 -4
  741. package/dist/esm/instant-apps-control-panel.entry.js +4 -4
  742. package/dist/esm/instant-apps-export.entry.js +20 -14
  743. package/dist/esm/instant-apps-filter-list.entry.js +1055 -0
  744. package/dist/esm/instant-apps-header.entry.js +5 -4
  745. package/dist/esm/instant-apps-interactive-legend-classic.entry.js +15 -11
  746. package/dist/esm/instant-apps-interactive-legend-count.entry.js +100 -0
  747. package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +2 -2
  748. package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +7 -6
  749. package/dist/esm/instant-apps-interactive-legend-group-legend-element.entry.js +52 -0
  750. package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +2 -2
  751. package/dist/esm/instant-apps-interactive-legend-layer-element-caption.entry.js +51 -0
  752. package/dist/esm/instant-apps-interactive-legend-layer-element.entry.js +53 -0
  753. package/dist/esm/instant-apps-interactive-legend-legend-element-caption.entry.js +100 -0
  754. package/dist/esm/instant-apps-interactive-legend-legend-element.entry.js +61 -0
  755. package/dist/esm/instant-apps-interactive-legend-relationship.entry.js +548 -0
  756. package/dist/esm/instant-apps-interactive-legend.entry.js +9 -8
  757. package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +6 -6
  758. package/dist/esm/instant-apps-landing-page.entry.js +2 -2
  759. package/dist/esm/instant-apps-language-switcher.entry.js +9 -9
  760. package/dist/esm/instant-apps-language-translator-item.entry.js +380 -0
  761. package/dist/esm/instant-apps-language-translator-search.entry.js +101 -0
  762. package/dist/esm/instant-apps-language-translator.entry.js +9 -9
  763. package/dist/esm/instant-apps-measurement-tool.entry.js +135 -0
  764. package/dist/esm/instant-apps-measurement.entry.js +7 -7
  765. package/dist/esm/instant-apps-popover.entry.js +6 -6
  766. package/dist/esm/instant-apps-popovers.entry.js +1 -1
  767. package/dist/esm/instant-apps-scoreboard.entry.js +6 -6
  768. package/dist/esm/instant-apps-social-share.entry.js +511 -0
  769. package/dist/esm/instant-apps-splash.entry.js +17 -8
  770. package/dist/esm/interactive-71585ecc.js +139 -0
  771. package/dist/esm/it-142bc820.js +65 -0
  772. package/dist/esm/it-ch-1ad1f0ac.js +65 -0
  773. package/dist/esm/ja-6a33e9d4.js +71 -0
  774. package/dist/esm/json-editor.entry.js +402 -0
  775. package/dist/esm/key-9a10d862.js +44 -0
  776. package/dist/esm/ko-d61df01d.js +71 -0
  777. package/dist/esm/label-16184ce7.js +179 -0
  778. package/dist/esm/{languageSwitcher-4faa659f.js → languageSwitcher-068998b1.js} +1 -1
  779. package/dist/esm/languageSwitcher-2a9037e5.js +55 -0
  780. package/dist/esm/{languageUtil-dc3111c1.js → languageUtil-035e7728.js} +1 -1
  781. package/dist/esm/languageUtil-71a7a914.js +87 -0
  782. package/dist/esm/layer-list.entry.js +203 -0
  783. package/dist/esm/layer-table.entry.js +1483 -0
  784. package/dist/esm/layout-manager.entry.js +5 -4
  785. package/dist/esm/list-flow-item.entry.js +1 -1
  786. package/dist/esm/{loadModules-877bbb89.js → loadModules-7a5f1022.js} +1 -1
  787. package/dist/esm/loadModules-827c5581.js +28 -0
  788. package/dist/esm/loadModules-acccbc1c.js +21 -0
  789. package/dist/esm/loadable-aea90723.js +92 -0
  790. package/dist/esm/loader.js +5 -5
  791. package/dist/esm/{locale-bd9034e1.js → locale-4cab280d.js} +2 -2
  792. package/dist/esm/locale-4cfbae3e.js +86 -0
  793. package/dist/esm/locale-857f39cf.js +572 -0
  794. package/dist/esm/locale-d9463a95.js +148 -0
  795. package/dist/esm/location-flow-item.entry.js +1 -1
  796. package/dist/esm/lodash-98e4b7d0.js +18025 -0
  797. package/dist/esm/lt-652c530a.js +96 -0
  798. package/dist/esm/lv-84e48ed0.js +65 -0
  799. package/dist/esm/map-card.entry.js +188 -0
  800. package/dist/esm/map-draw-tools.entry.js +354 -0
  801. package/dist/esm/map-fullscreen.entry.js +112 -0
  802. package/dist/esm/map-layer-picker.entry.js +342 -0
  803. package/dist/esm/map-legend.entry.js +105 -0
  804. package/dist/esm/map-picker.entry.js +170 -0
  805. package/dist/esm/map-search.entry.js +180 -0
  806. package/dist/esm/map-select-tools.entry.js +794 -0
  807. package/dist/esm/map-select-tools_3.entry.js +32 -21
  808. package/dist/esm/map-tools.entry.js +371 -0
  809. package/dist/esm/mapViewUtils-436a516e.js +261 -0
  810. package/dist/esm/mk-bbf2ee01.js +65 -0
  811. package/dist/esm/mode-f9bfc4e9.js +25 -0
  812. package/dist/esm/nb-ccfaa0f7.js +66 -0
  813. package/dist/esm/nl-4bc56289.js +66 -0
  814. package/dist/esm/observers-5ba39eee.js +56 -0
  815. package/dist/esm/openCloseComponent-b4b3788b.js +138 -0
  816. package/dist/esm/parser-87982ce2.js +1654 -0
  817. package/dist/esm/pci-calculator.entry.js +1 -1
  818. package/dist/esm/pdf-download.entry.js +355 -0
  819. package/dist/esm/pl-1f435988.js +113 -0
  820. package/dist/esm/popupUtils-b61d7ffd.js +94 -0
  821. package/dist/esm/pt-4a05a00d.js +66 -0
  822. package/dist/esm/pt-br-9720547b.js +64 -0
  823. package/dist/esm/public-notification.entry.js +35 -11
  824. package/dist/esm/publicNotificationStore-208e26f0.js +45 -0
  825. package/dist/esm/purify-909c20fa.js +1713 -0
  826. package/dist/esm/queryUtils-2529c537.js +244 -0
  827. package/dist/esm/refine-results-flow-item.entry.js +1 -1
  828. package/dist/esm/refine-selection.entry.js +407 -0
  829. package/dist/esm/resources-0f8db821.js +45 -0
  830. package/dist/esm/resources-3c6947d3.js +26 -0
  831. package/dist/esm/resources-47b3ca40.js +106 -0
  832. package/dist/esm/resources-667afb5d.js +27 -0
  833. package/dist/esm/resources-9b2084c6.js +24 -0
  834. package/dist/esm/resources-bb6c11c3.js +49 -0
  835. package/dist/esm/ro-f87076a1.js +65 -0
  836. package/dist/esm/ru-e69ca895.js +125 -0
  837. package/dist/esm/shadow-css-f5236d52.js +481 -0
  838. package/dist/esm/share-item.entry.js +1 -1
  839. package/dist/esm/shared-list-render-a572ef93.js +348 -0
  840. package/dist/esm/sk-d632e850.js +147 -0
  841. package/dist/esm/sl-5099fa6f.js +167 -0
  842. package/dist/esm/solution-configuration.entry.js +9 -1093
  843. package/dist/esm/solution-contents.entry.js +80 -0
  844. package/dist/esm/solution-item-details.entry.js +195 -0
  845. package/dist/esm/solution-item-icon.entry.js +1 -1
  846. package/dist/esm/solution-item-sharing.entry.js +135 -0
  847. package/dist/esm/solution-item.entry.js +102 -0
  848. package/dist/esm/solution-organization-variables.entry.js +91 -0
  849. package/dist/esm/solution-resource-item.entry.js +280 -0
  850. package/dist/esm/solution-spatial-ref.entry.js +154 -0
  851. package/dist/esm/solution-store-31cccb90.js +587 -0
  852. package/dist/esm/solution-template-data.entry.js +115 -0
  853. package/dist/esm/solution-variables.entry.js +103 -0
  854. package/dist/esm/solutions-components.js +37 -6
  855. package/dist/esm/sortableComponent-e715a3dd.js +3439 -0
  856. package/dist/esm/spatial-ref.entry.js +7 -6
  857. package/dist/esm/sr-944b7fd7.js +100 -0
  858. package/dist/esm/store-194c1a01.js +87 -0
  859. package/dist/esm/store-manager.entry.js +1 -1
  860. package/dist/esm/sv-e481fa6a.js +70 -0
  861. package/dist/esm/t9n-b39c5433.js +98 -0
  862. package/dist/esm/th-60961669.js +64 -0
  863. package/dist/esm/time-4a90614b.js +274 -0
  864. package/dist/esm/tr-eba8dd86.js +65 -0
  865. package/dist/esm/uk-ec375ce0.js +103 -0
  866. package/dist/esm/utils-32df4a1e.js +133 -0
  867. package/dist/esm/utils-57e2ccde.js +61 -0
  868. package/dist/esm/{utils-28d0a086.js → utils-78fe6e5b.js} +1 -1
  869. package/dist/esm/utils-7db4ecdc.js +100 -0
  870. package/dist/esm/utils-95e9dd51.js +55 -0
  871. package/dist/esm/utils-cfbe589a.js +208 -0
  872. package/dist/esm/vi-29345f79.js +69 -0
  873. package/dist/esm/zh-cn-32c7c714.js +93 -0
  874. package/dist/esm/zh-hk-7c770845.js +70 -0
  875. package/dist/esm/zh-tw-c318be5c.js +91 -0
  876. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +1 -1
  877. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-scoreboard/instant-apps-scoreboard.css +1 -1
  878. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-social-share/instant-apps-social-share.css +8 -1
  879. package/dist/solutions-components/ExpandToggle-22fd2faa.js +110 -0
  880. package/dist/solutions-components/FloatingArrow-de6fd1c7.js +48 -0
  881. package/dist/solutions-components/Heading-f003a141.js +22 -0
  882. package/dist/solutions-components/InitiativeUiSchemaEdit-8ddacfe8.js +26 -0
  883. package/dist/solutions-components/ProjectUiSchemaCreate-dd179c0f.js +124 -0
  884. package/dist/solutions-components/ProjectUiSchemaEdit-fbfdf6e4.js +176 -0
  885. package/dist/solutions-components/Validation-59a77488.js +18 -0
  886. package/dist/solutions-components/_commonjsHelpers-3cd6d4ee.js +49 -0
  887. package/dist/solutions-components/app-globals-928553ab.js +67 -0
  888. package/dist/solutions-components/ar-75ffdabb.js +103 -0
  889. package/dist/solutions-components/arcgis-login.entry.js +56 -0
  890. package/dist/solutions-components/array-396bdf3c.js +15 -0
  891. package/dist/solutions-components/basemap-gallery.entry.js +117 -0
  892. package/dist/solutions-components/bg-fac0bf10.js +81 -0
  893. package/dist/solutions-components/breakpoints-f0f1417d.js +15 -0
  894. package/dist/solutions-components/browser-b8d08bed.js +26 -0
  895. package/dist/solutions-components/bs-c03c8ef2.js +50 -0
  896. package/dist/solutions-components/buffer-tools.entry.js +253 -0
  897. package/dist/solutions-components/ca-29e49f82.js +70 -0
  898. package/dist/solutions-components/calcite-accordion-item.entry.js +176 -0
  899. package/dist/solutions-components/calcite-accordion.entry.js +81 -0
  900. package/dist/solutions-components/calcite-action-bar.entry.js +252 -0
  901. package/dist/solutions-components/calcite-action-group.entry.js +112 -0
  902. package/dist/solutions-components/calcite-action-menu.entry.js +291 -0
  903. package/dist/solutions-components/calcite-action-pad.entry.js +165 -0
  904. package/dist/solutions-components/calcite-action.entry.js +184 -0
  905. package/dist/solutions-components/calcite-alert.entry.js +318 -0
  906. package/dist/solutions-components/calcite-avatar.entry.js +146 -0
  907. package/dist/solutions-components/calcite-block-section.entry.js +162 -0
  908. package/dist/solutions-components/calcite-block.entry.js +210 -0
  909. package/dist/solutions-components/calcite-button.entry.js +227 -0
  910. package/dist/solutions-components/calcite-card.entry.js +132 -0
  911. package/dist/solutions-components/calcite-checkbox.entry.js +134 -0
  912. package/dist/solutions-components/calcite-chip-group.entry.js +175 -0
  913. package/dist/solutions-components/calcite-chip.entry.js +258 -0
  914. package/dist/solutions-components/calcite-color-picker-hex-input.entry.js +270 -0
  915. package/dist/solutions-components/calcite-color-picker-swatch.entry.js +95 -0
  916. package/dist/solutions-components/calcite-color-picker.entry.js +906 -0
  917. package/dist/solutions-components/calcite-combobox-item-group.entry.js +56 -0
  918. package/dist/solutions-components/calcite-combobox-item.entry.js +141 -0
  919. package/dist/solutions-components/calcite-combobox.entry.js +1427 -0
  920. package/dist/solutions-components/calcite-date-picker-day.entry.js +93 -0
  921. package/dist/solutions-components/calcite-date-picker-month-header.entry.js +203 -0
  922. package/dist/solutions-components/calcite-date-picker-month.entry.js +358 -0
  923. package/dist/solutions-components/calcite-date-picker.entry.js +456 -0
  924. package/dist/solutions-components/calcite-dropdown-group.entry.js +81 -0
  925. package/dist/solutions-components/calcite-dropdown-item.entry.js +184 -0
  926. package/dist/solutions-components/calcite-dropdown.entry.js +426 -0
  927. package/dist/solutions-components/calcite-fab.entry.js +90 -0
  928. package/dist/solutions-components/calcite-filter.entry.js +175 -0
  929. package/dist/solutions-components/calcite-flow-item.entry.js +194 -0
  930. package/dist/solutions-components/calcite-flow.entry.js +149 -0
  931. package/dist/solutions-components/calcite-graph.entry.js +222 -0
  932. package/dist/solutions-components/calcite-handle.entry.js +200 -0
  933. package/dist/solutions-components/calcite-icon.entry.js +179 -0
  934. package/dist/solutions-components/calcite-inline-editable.entry.js +253 -0
  935. package/dist/solutions-components/calcite-input-date-picker.entry.js +740 -0
  936. package/dist/solutions-components/calcite-input-message.entry.js +66 -0
  937. package/dist/solutions-components/calcite-input-number.entry.js +610 -0
  938. package/dist/solutions-components/calcite-input-text.entry.js +349 -0
  939. package/dist/solutions-components/calcite-input-time-picker-e5cd4d26.js +1851 -0
  940. package/dist/solutions-components/calcite-input-time-picker.entry.js +25 -0
  941. package/dist/solutions-components/calcite-input-time-zone.entry.js +332 -0
  942. package/dist/solutions-components/calcite-input.entry.js +691 -0
  943. package/dist/solutions-components/calcite-label.entry.js +67 -0
  944. package/dist/solutions-components/calcite-link.entry.js +108 -0
  945. package/dist/solutions-components/calcite-list-item-group.entry.js +69 -0
  946. package/dist/solutions-components/calcite-list-item.entry.js +450 -0
  947. package/dist/solutions-components/calcite-list.entry.js +563 -0
  948. package/dist/solutions-components/calcite-loader.entry.js +76 -0
  949. package/dist/solutions-components/calcite-menu-item.entry.js +281 -0
  950. package/dist/solutions-components/calcite-menu.entry.js +180 -0
  951. package/dist/solutions-components/calcite-meter.entry.js +332 -0
  952. package/dist/solutions-components/calcite-modal.entry.js +394 -0
  953. package/dist/solutions-components/calcite-navigation-logo.entry.js +84 -0
  954. package/dist/solutions-components/calcite-navigation-user.entry.js +68 -0
  955. package/dist/solutions-components/calcite-navigation.entry.js +166 -0
  956. package/dist/solutions-components/calcite-notice.entry.js +163 -0
  957. package/dist/solutions-components/calcite-option-group.entry.js +35 -0
  958. package/dist/solutions-components/calcite-option.entry.js +84 -0
  959. package/dist/solutions-components/calcite-pagination.entry.js +554 -0
  960. package/dist/solutions-components/calcite-panel.entry.js +266 -0
  961. package/dist/solutions-components/calcite-pick-list-group.entry.js +57 -0
  962. package/dist/solutions-components/calcite-pick-list-item.entry.js +193 -0
  963. package/dist/solutions-components/calcite-pick-list.entry.js +142 -0
  964. package/dist/solutions-components/calcite-popover.entry.js +414 -0
  965. package/dist/solutions-components/calcite-progress.entry.js +37 -0
  966. package/dist/solutions-components/calcite-radio-button-group.entry.js +141 -0
  967. package/dist/solutions-components/calcite-radio-button.entry.js +318 -0
  968. package/dist/solutions-components/calcite-rating.entry.js +261 -0
  969. package/dist/solutions-components/calcite-scrim.entry.js +121 -0
  970. package/dist/solutions-components/calcite-segmented-control-item.entry.js +66 -0
  971. package/dist/solutions-components/calcite-segmented-control.entry.js +241 -0
  972. package/dist/solutions-components/calcite-select.entry.js +231 -0
  973. package/dist/solutions-components/calcite-sheet.entry.js +223 -0
  974. package/dist/solutions-components/calcite-shell-center-row.entry.js +66 -0
  975. package/dist/solutions-components/calcite-shell-panel.entry.js +410 -0
  976. package/dist/solutions-components/calcite-shell.entry.js +170 -0
  977. package/dist/solutions-components/calcite-slider.entry.js +840 -0
  978. package/dist/solutions-components/calcite-sortable-list.entry.js +166 -0
  979. package/dist/solutions-components/calcite-split-button.entry.js +112 -0
  980. package/dist/solutions-components/calcite-stack.entry.js +70 -0
  981. package/dist/solutions-components/calcite-stepper-item.entry.js +238 -0
  982. package/dist/solutions-components/calcite-stepper.entry.js +377 -0
  983. package/dist/solutions-components/calcite-switch.entry.js +113 -0
  984. package/dist/solutions-components/calcite-tab-nav.entry.js +259 -0
  985. package/dist/solutions-components/calcite-tab-title.entry.js +287 -0
  986. package/dist/solutions-components/calcite-tab.entry.js +108 -0
  987. package/dist/solutions-components/calcite-table-cell.entry.js +152 -0
  988. package/dist/solutions-components/calcite-table-header.entry.js +165 -0
  989. package/dist/solutions-components/calcite-table-row.entry.js +244 -0
  990. package/dist/solutions-components/calcite-table.entry.js +314 -0
  991. package/dist/solutions-components/calcite-tabs.entry.js +174 -0
  992. package/dist/solutions-components/calcite-text-area.entry.js +276 -0
  993. package/dist/solutions-components/calcite-tile-select-group.entry.js +39 -0
  994. package/dist/solutions-components/calcite-tile-select.entry.js +225 -0
  995. package/dist/solutions-components/calcite-tile.entry.js +75 -0
  996. package/dist/solutions-components/calcite-time-picker.entry.js +839 -0
  997. package/dist/solutions-components/calcite-tip-group.entry.js +21 -0
  998. package/dist/solutions-components/calcite-tip-manager.entry.js +227 -0
  999. package/dist/solutions-components/calcite-tip.entry.js +126 -0
  1000. package/dist/solutions-components/calcite-tooltip.entry.js +434 -0
  1001. package/dist/solutions-components/calcite-tree-item.entry.js +292 -0
  1002. package/dist/solutions-components/calcite-tree.entry.js +311 -0
  1003. package/dist/solutions-components/calcite-value-list-item.entry.js +153 -0
  1004. package/dist/solutions-components/calcite-value-list.entry.js +322 -0
  1005. package/dist/solutions-components/card-manager.entry.js +103 -0
  1006. package/dist/solutions-components/common-7e0dcaa2.js +295 -0
  1007. package/dist/solutions-components/component-edd2c3cd.js +30 -0
  1008. package/dist/solutions-components/conditionalSlot-a395417e.js +60 -0
  1009. package/dist/solutions-components/consent-manager.entry.js +2139 -0
  1010. package/dist/solutions-components/create-feature.entry.js +259 -0
  1011. package/dist/solutions-components/crowdsource-manager.entry.js +494 -0
  1012. package/dist/solutions-components/crowdsource-reporter.entry.js +557 -0
  1013. package/dist/solutions-components/cs-04f36d01.js +146 -0
  1014. package/dist/solutions-components/da-5a3b8600.js +65 -0
  1015. package/dist/solutions-components/date-74c7f03b.js +245 -0
  1016. package/dist/solutions-components/de-579cda2e.js +90 -0
  1017. package/dist/solutions-components/de-at-52bf1c4c.js +89 -0
  1018. package/dist/solutions-components/de-ch-12d03480.js +89 -0
  1019. package/dist/solutions-components/deduct-calculator.entry.js +101 -0
  1020. package/dist/solutions-components/delete-button.entry.js +146 -0
  1021. package/dist/solutions-components/dom-b91aa537.js +1083 -0
  1022. package/dist/solutions-components/downloadUtils-b3220f86.js +4240 -0
  1023. package/dist/solutions-components/edit-card.entry.js +224 -0
  1024. package/dist/solutions-components/el-c18d3ea4.js +65 -0
  1025. package/dist/solutions-components/en-au-2599e6da.js +65 -0
  1026. package/dist/solutions-components/en-ca-8cfbe6bc.js +64 -0
  1027. package/dist/solutions-components/en-gb-5e4e8a1e.js +68 -0
  1028. package/dist/solutions-components/es-d86f9957.js +65 -0
  1029. package/dist/solutions-components/es-mx-f99d9fd1.js +64 -0
  1030. package/dist/solutions-components/esri-loader-af2bbfd5.js +306 -0
  1031. package/dist/solutions-components/et-8bf52e57.js +91 -0
  1032. package/dist/solutions-components/feature-comments.entry.js +56 -0
  1033. package/dist/solutions-components/feature-form-flow-item.entry.js +56 -0
  1034. package/dist/solutions-components/feature-list.entry.js +195 -0
  1035. package/dist/solutions-components/features-flow-item.entry.js +56 -0
  1036. package/dist/solutions-components/fi-aeb49e52.js +114 -0
  1037. package/dist/solutions-components/filter-0d00d2e2.js +46 -0
  1038. package/dist/solutions-components/floating-ui-b3256614.js +2342 -0
  1039. package/dist/solutions-components/floor-filter.entry.js +107 -0
  1040. package/dist/solutions-components/focusTrapComponent-2fe6623b.js +1023 -0
  1041. package/dist/solutions-components/form-f2181470.js +307 -0
  1042. package/dist/solutions-components/fr-6200cc01.js +67 -0
  1043. package/dist/solutions-components/fr-ch-df62bb30.js +65 -0
  1044. package/dist/solutions-components/guid-b75a5f7b.js +24 -0
  1045. package/dist/solutions-components/he-07ace6cb.js +104 -0
  1046. package/dist/solutions-components/helpers-85ca7251.js +807 -0
  1047. package/dist/solutions-components/hi-5aa9519e.js +64 -0
  1048. package/dist/solutions-components/hr-e0614bed.js +79 -0
  1049. package/dist/solutions-components/html2canvas-d52e7c8d.js +7845 -0
  1050. package/dist/solutions-components/hu-732fe37c.js +87 -0
  1051. package/dist/solutions-components/id-0832fc24.js +65 -0
  1052. package/dist/solutions-components/index-5110a27a.js +71 -0
  1053. package/dist/solutions-components/index-7fc1cba9.js +41502 -0
  1054. package/dist/solutions-components/index-91eeaf01.js +199 -0
  1055. package/dist/solutions-components/index-a1e91462.js +2105 -0
  1056. package/dist/solutions-components/index-b1fb529b.js +1956 -0
  1057. package/dist/solutions-components/index-bdfaac50.js +4145 -0
  1058. package/dist/solutions-components/index-d8ff08ed.js +204 -0
  1059. package/dist/solutions-components/index.es-3db60115.js +11256 -0
  1060. package/dist/solutions-components/index.esm.js +15 -0
  1061. package/dist/solutions-components/info-card.entry.js +316 -0
  1062. package/dist/solutions-components/instant-apps-ckeditor-wrapper.entry.js +121 -0
  1063. package/dist/solutions-components/instant-apps-control-panel.entry.js +94 -0
  1064. package/dist/solutions-components/instant-apps-export.entry.js +888 -0
  1065. package/dist/solutions-components/instant-apps-filter-list.entry.js +1055 -0
  1066. package/dist/solutions-components/instant-apps-header.entry.js +124 -0
  1067. package/dist/solutions-components/instant-apps-interactive-legend-classic.entry.js +1604 -0
  1068. package/dist/solutions-components/instant-apps-interactive-legend-count.entry.js +100 -0
  1069. package/dist/solutions-components/instant-apps-interactive-legend-group-legend-element-caption.entry.js +53 -0
  1070. package/dist/solutions-components/instant-apps-interactive-legend-group-legend-element.entry.js +52 -0
  1071. package/dist/solutions-components/instant-apps-interactive-legend-layer-element-caption.entry.js +51 -0
  1072. package/dist/solutions-components/instant-apps-interactive-legend-layer-element.entry.js +53 -0
  1073. package/dist/solutions-components/instant-apps-interactive-legend-legend-element-caption.entry.js +100 -0
  1074. package/dist/solutions-components/instant-apps-interactive-legend-legend-element.entry.js +61 -0
  1075. package/dist/solutions-components/instant-apps-interactive-legend-relationship.entry.js +548 -0
  1076. package/dist/solutions-components/instant-apps-interactive-legend.entry.js +112 -0
  1077. package/dist/solutions-components/instant-apps-keyboard-shortcuts.entry.js +139 -0
  1078. package/dist/solutions-components/instant-apps-landing-page.entry.js +114 -0
  1079. package/dist/solutions-components/instant-apps-language-switcher.entry.js +173 -0
  1080. package/dist/solutions-components/instant-apps-language-translator-item.entry.js +380 -0
  1081. package/dist/solutions-components/instant-apps-language-translator-search.entry.js +101 -0
  1082. package/dist/solutions-components/instant-apps-language-translator.entry.js +286 -0
  1083. package/dist/solutions-components/instant-apps-measurement-tool.entry.js +135 -0
  1084. package/dist/solutions-components/instant-apps-measurement.entry.js +66 -0
  1085. package/dist/solutions-components/instant-apps-popover.entry.js +74 -0
  1086. package/dist/solutions-components/instant-apps-popovers.entry.js +88 -0
  1087. package/dist/solutions-components/instant-apps-scoreboard.entry.js +463 -0
  1088. package/dist/solutions-components/instant-apps-social-share.entry.js +511 -0
  1089. package/dist/solutions-components/instant-apps-splash.entry.js +144 -0
  1090. package/dist/solutions-components/interactive-71585ecc.js +139 -0
  1091. package/dist/solutions-components/interfaces-586e863c.js +80 -0
  1092. package/dist/solutions-components/it-142bc820.js +65 -0
  1093. package/dist/solutions-components/it-ch-1ad1f0ac.js +65 -0
  1094. package/dist/solutions-components/ja-6a33e9d4.js +71 -0
  1095. package/dist/solutions-components/json-editor.entry.js +402 -0
  1096. package/dist/solutions-components/key-9a10d862.js +44 -0
  1097. package/dist/solutions-components/ko-d61df01d.js +71 -0
  1098. package/dist/solutions-components/label-16184ce7.js +179 -0
  1099. package/dist/solutions-components/languageSwitcher-2a9037e5.js +55 -0
  1100. package/dist/solutions-components/languageUtil-71a7a914.js +87 -0
  1101. package/dist/solutions-components/layer-list.entry.js +203 -0
  1102. package/dist/solutions-components/layer-table.entry.js +1483 -0
  1103. package/dist/solutions-components/layout-manager.entry.js +91 -0
  1104. package/dist/solutions-components/list-flow-item.entry.js +56 -0
  1105. package/dist/solutions-components/loadModules-827c5581.js +28 -0
  1106. package/dist/solutions-components/loadModules-acccbc1c.js +21 -0
  1107. package/dist/solutions-components/loadable-aea90723.js +92 -0
  1108. package/dist/solutions-components/locale-4cfbae3e.js +86 -0
  1109. package/dist/solutions-components/locale-857f39cf.js +572 -0
  1110. package/dist/solutions-components/locale-d9463a95.js +148 -0
  1111. package/dist/solutions-components/location-flow-item.entry.js +56 -0
  1112. package/dist/solutions-components/lodash-98e4b7d0.js +18025 -0
  1113. package/dist/solutions-components/lt-652c530a.js +96 -0
  1114. package/dist/solutions-components/lv-84e48ed0.js +65 -0
  1115. package/dist/solutions-components/map-card.entry.js +188 -0
  1116. package/dist/solutions-components/map-draw-tools.entry.js +354 -0
  1117. package/dist/solutions-components/map-fullscreen.entry.js +112 -0
  1118. package/dist/solutions-components/map-layer-picker.entry.js +342 -0
  1119. package/dist/solutions-components/map-legend.entry.js +105 -0
  1120. package/dist/solutions-components/map-picker.entry.js +170 -0
  1121. package/dist/solutions-components/map-search.entry.js +180 -0
  1122. package/dist/solutions-components/map-select-tools.entry.js +794 -0
  1123. package/dist/solutions-components/map-tools.entry.js +371 -0
  1124. package/dist/solutions-components/mapViewUtils-436a516e.js +261 -0
  1125. package/dist/solutions-components/math-efada7a9.js +54 -0
  1126. package/dist/solutions-components/mk-bbf2ee01.js +65 -0
  1127. package/dist/solutions-components/mode-f9bfc4e9.js +25 -0
  1128. package/dist/solutions-components/nb-ccfaa0f7.js +66 -0
  1129. package/dist/solutions-components/nl-4bc56289.js +66 -0
  1130. package/dist/solutions-components/observers-5ba39eee.js +56 -0
  1131. package/dist/solutions-components/openCloseComponent-b4b3788b.js +138 -0
  1132. package/dist/solutions-components/{p-a455c3f0.entry.js → p-00524417.entry.js} +1 -1
  1133. package/dist/solutions-components/p-04dbc667.entry.js +6 -0
  1134. package/dist/solutions-components/{p-8e9f96db.js → p-12a7d0d1.js} +1 -1
  1135. package/dist/solutions-components/{p-a7b7f8d1.js → p-15a0e7fb.js} +1 -1
  1136. package/dist/solutions-components/p-2d72eac3.entry.js +6 -0
  1137. package/dist/solutions-components/{p-a2544cba.entry.js → p-30edeb79.entry.js} +1 -1
  1138. package/dist/solutions-components/{p-220c46c2.entry.js → p-3a6a1ce9.entry.js} +1 -1
  1139. package/dist/solutions-components/{p-a59078ee.entry.js → p-3b9e4882.entry.js} +1 -1
  1140. package/dist/solutions-components/{p-8ad937b4.entry.js → p-465aa7d9.entry.js} +1 -1
  1141. package/dist/solutions-components/p-4dcc150d.entry.js +6 -0
  1142. package/dist/solutions-components/{p-1bca71bf.entry.js → p-4efd2af6.entry.js} +1 -1
  1143. package/dist/solutions-components/{p-5a28d60c.entry.js → p-5320dc25.entry.js} +1 -1
  1144. package/dist/solutions-components/{p-015a45e2.entry.js → p-53ef8adf.entry.js} +1 -1
  1145. package/dist/solutions-components/{p-0d72a9ca.entry.js → p-5f6e7429.entry.js} +1 -1
  1146. package/dist/solutions-components/p-607773a3.entry.js +6 -0
  1147. package/dist/solutions-components/{p-2e7a9b9b.entry.js → p-88932d2f.entry.js} +2 -2
  1148. package/dist/solutions-components/{p-b41e2c4c.js → p-8910dc99.js} +10 -10
  1149. package/dist/solutions-components/{p-104f07e3.entry.js → p-954dc86f.entry.js} +1 -1
  1150. package/dist/solutions-components/{p-35c9256b.entry.js → p-955647ea.entry.js} +1 -1
  1151. package/dist/solutions-components/{p-c302bbea.entry.js → p-a3132356.entry.js} +1 -1
  1152. package/dist/solutions-components/{p-c10b44ee.entry.js → p-a886ab7f.entry.js} +1 -1
  1153. package/dist/solutions-components/{p-03037cf9.js → p-ad98c346.js} +1 -1
  1154. package/dist/solutions-components/{p-734d1dc5.js → p-b4913a01.js} +1 -1
  1155. package/dist/solutions-components/{p-03a65871.entry.js → p-bf6b4eb7.entry.js} +1 -1
  1156. package/dist/solutions-components/{p-09801ba6.entry.js → p-c4ff3b52.entry.js} +3 -3
  1157. package/dist/solutions-components/p-d599cfa8.entry.js +6 -0
  1158. package/dist/solutions-components/{p-cfe890f6.entry.js → p-f313b45b.entry.js} +1 -1
  1159. package/dist/solutions-components/{p-aec4441b.entry.js → p-fc1367d9.entry.js} +1 -1
  1160. package/dist/solutions-components/{p-07626c45.js → p-fc2fb61b.js} +1 -1
  1161. package/dist/solutions-components/parser-87982ce2.js +1654 -0
  1162. package/dist/solutions-components/pci-calculator.entry.js +113 -0
  1163. package/dist/solutions-components/pciUtils-73d4b6b4.js +844 -0
  1164. package/dist/solutions-components/pdf-download.entry.js +355 -0
  1165. package/dist/solutions-components/pl-1f435988.js +113 -0
  1166. package/dist/solutions-components/popupUtils-b61d7ffd.js +94 -0
  1167. package/dist/solutions-components/pt-4a05a00d.js +66 -0
  1168. package/dist/solutions-components/pt-br-9720547b.js +64 -0
  1169. package/dist/solutions-components/public-notification.entry.js +886 -0
  1170. package/dist/solutions-components/publicNotificationStore-208e26f0.js +45 -0
  1171. package/dist/solutions-components/purify-909c20fa.js +1713 -0
  1172. package/dist/solutions-components/queryUtils-2529c537.js +244 -0
  1173. package/dist/solutions-components/refine-results-flow-item.entry.js +56 -0
  1174. package/dist/solutions-components/refine-selection.entry.js +407 -0
  1175. package/dist/solutions-components/resources-0f8db821.js +45 -0
  1176. package/dist/solutions-components/resources-20074cb1.js +24 -0
  1177. package/dist/solutions-components/resources-3709252d.js +35 -0
  1178. package/dist/solutions-components/resources-3c6947d3.js +26 -0
  1179. package/dist/solutions-components/resources-47b3ca40.js +106 -0
  1180. package/dist/solutions-components/resources-667afb5d.js +27 -0
  1181. package/dist/solutions-components/resources-88a48c5c.js +20 -0
  1182. package/dist/solutions-components/resources-9b2084c6.js +24 -0
  1183. package/dist/solutions-components/resources-9b7e72d5.js +20 -0
  1184. package/dist/solutions-components/resources-b0e2b809.js +22 -0
  1185. package/dist/solutions-components/resources-bb6c11c3.js +49 -0
  1186. package/dist/solutions-components/ro-f87076a1.js +65 -0
  1187. package/dist/solutions-components/ru-e69ca895.js +125 -0
  1188. package/dist/solutions-components/shadow-css-f5236d52.js +481 -0
  1189. package/dist/solutions-components/share-item.entry.js +56 -0
  1190. package/dist/solutions-components/shared-list-render-a572ef93.js +348 -0
  1191. package/dist/solutions-components/sk-d632e850.js +147 -0
  1192. package/dist/solutions-components/sl-5099fa6f.js +167 -0
  1193. package/dist/solutions-components/solution-configuration.entry.js +906 -0
  1194. package/dist/solutions-components/solution-contents.entry.js +80 -0
  1195. package/dist/solutions-components/solution-item-details.entry.js +195 -0
  1196. package/dist/solutions-components/solution-item-icon.entry.js +323 -0
  1197. package/dist/solutions-components/solution-item-sharing.entry.js +135 -0
  1198. package/dist/solutions-components/solution-item.entry.js +102 -0
  1199. package/dist/solutions-components/solution-organization-variables.entry.js +91 -0
  1200. package/dist/solutions-components/solution-resource-item.entry.js +280 -0
  1201. package/dist/solutions-components/solution-spatial-ref.entry.js +154 -0
  1202. package/dist/solutions-components/solution-store-31cccb90.js +587 -0
  1203. package/dist/solutions-components/solution-template-data.entry.js +115 -0
  1204. package/dist/solutions-components/solution-variables.entry.js +103 -0
  1205. package/dist/solutions-components/solutions-components.css +84 -1
  1206. package/dist/solutions-components/solutions-components.esm.js +52 -1
  1207. package/dist/solutions-components/sortableComponent-e715a3dd.js +3439 -0
  1208. package/dist/solutions-components/spatial-ref.entry.js +21296 -0
  1209. package/dist/solutions-components/sr-944b7fd7.js +100 -0
  1210. package/dist/solutions-components/store-194c1a01.js +87 -0
  1211. package/dist/solutions-components/store-manager.entry.js +61 -0
  1212. package/dist/solutions-components/styles-367380b5.js +11 -0
  1213. package/dist/solutions-components/sv-e481fa6a.js +70 -0
  1214. package/dist/solutions-components/t9n-b39c5433.js +98 -0
  1215. package/dist/solutions-components/th-60961669.js +64 -0
  1216. package/dist/solutions-components/time-4a90614b.js +274 -0
  1217. package/dist/solutions-components/tr-eba8dd86.js +65 -0
  1218. package/dist/solutions-components/uk-ec375ce0.js +103 -0
  1219. package/dist/solutions-components/utils/downloadUtils.ts +44 -5
  1220. package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +40 -1
  1221. package/dist/solutions-components/utils-32df4a1e.js +133 -0
  1222. package/dist/solutions-components/utils-57e2ccde.js +61 -0
  1223. package/dist/solutions-components/utils-7db4ecdc.js +100 -0
  1224. package/dist/solutions-components/utils-95e9dd51.js +55 -0
  1225. package/dist/solutions-components/utils-cfbe589a.js +208 -0
  1226. package/dist/solutions-components/vi-29345f79.js +69 -0
  1227. package/dist/solutions-components/zh-cn-32c7c714.js +93 -0
  1228. package/dist/solutions-components/zh-hk-7c770845.js +70 -0
  1229. package/dist/solutions-components/zh-tw-c318be5c.js +91 -0
  1230. package/dist/types/components/map-select-tools/map-select-tools.d.ts +5 -1
  1231. package/dist/types/components/public-notification/public-notification.d.ts +12 -0
  1232. package/dist/types/utils/downloadUtils.d.ts +18 -4
  1233. package/package.json +6 -6
  1234. package/dist/solutions-components/p-41bc9e9d.entry.js +0 -6
  1235. package/dist/solutions-components/p-7d6ee026.entry.js +0 -6
  1236. package/dist/solutions-components/p-b80bc5b9.entry.js +0 -6
  1237. package/dist/solutions-components/p-dd45738e.entry.js +0 -6
  1238. package/dist/solutions-components/p-df29f4c2.entry.js +0 -6
  1239. /package/dist/solutions-components/{p-70359c2b.js → p-89218b6e.js} +0 -0
  1240. /package/dist/solutions-components/{p-090e0241.js → p-e85ba21c.js} +0 -0
@@ -0,0 +1,1604 @@
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 { h, r as registerInstance, i as forceUpdate, g as getElement } from './index-bdfaac50.js';
7
+ import { s as store, i as interactiveLegendState } from './store-194c1a01.js';
8
+ import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers-3cd6d4ee.js';
9
+ import { l as loadModules } from './loadModules-acccbc1c.js';
10
+ import { h as handleFilterChange, a as generateData, g as getTheme, v as validateInteractivity, b as getIntLegendLayerData, c as getParentLegendElementInfoData, d as getCategoryData, e as checkNoneSelected, f as handleFeatureCount, i as createInteractiveLegendDataForLayer, u as updateStore, j as handleFilter } from './helpers-85ca7251.js';
11
+ import './index-91eeaf01.js';
12
+ import './esri-loader-af2bbfd5.js';
13
+
14
+ const DPI = 96;
15
+ function pt2px(pt) {
16
+ if (!pt) {
17
+ return 0;
18
+ }
19
+ return (pt / 72) * DPI;
20
+ }
21
+
22
+ var maquette_umd = createCommonjsModule(function (module, exports) {
23
+ (function (global, factory) {
24
+ 'object' === 'object' && 'object' !== 'undefined' ? factory(exports) :
25
+ typeof undefined === 'function' && undefined.amd ? undefined(['exports'], factory) :
26
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.maquette = {}));
27
+ })(commonjsGlobal, (function (exports) { 'use strict';
28
+
29
+ var NAMESPACE_W3 = "http://www.w3.org/";
30
+ var NAMESPACE_SVG = "".concat(NAMESPACE_W3, "2000/svg");
31
+ var NAMESPACE_XLINK = "".concat(NAMESPACE_W3, "1999/xlink");
32
+ var emptyArray = [];
33
+ var extend = function (base, overrides) {
34
+ var result = {};
35
+ Object.keys(base).forEach(function (key) {
36
+ result[key] = base[key];
37
+ });
38
+ if (overrides) {
39
+ Object.keys(overrides).forEach(function (key) {
40
+ result[key] = overrides[key];
41
+ });
42
+ }
43
+ return result;
44
+ };
45
+ var same = function (vnode1, vnode2) {
46
+ if (vnode1.vnodeSelector !== vnode2.vnodeSelector) {
47
+ return false;
48
+ }
49
+ if (vnode1.properties && vnode2.properties) {
50
+ if (vnode1.properties.key !== vnode2.properties.key) {
51
+ return false;
52
+ }
53
+ return vnode1.properties.bind === vnode2.properties.bind;
54
+ }
55
+ return !vnode1.properties && !vnode2.properties;
56
+ };
57
+ var checkStyleValue = function (styleValue) {
58
+ if (typeof styleValue !== "string") {
59
+ throw new Error("Style values must be strings");
60
+ }
61
+ };
62
+ var findIndexOfChild = function (children, sameAs, start) {
63
+ if (sameAs.vnodeSelector !== "") {
64
+ // Never scan for text-nodes
65
+ for (var i = start; i < children.length; i++) {
66
+ if (same(children[i], sameAs)) {
67
+ return i;
68
+ }
69
+ }
70
+ }
71
+ return -1;
72
+ };
73
+ var checkDistinguishable = function (childNodes, indexToCheck, parentVNode, operation) {
74
+ var childNode = childNodes[indexToCheck];
75
+ if (childNode.vnodeSelector === "") {
76
+ return; // Text nodes need not be distinguishable
77
+ }
78
+ var properties = childNode.properties;
79
+ var key = properties
80
+ ? properties.key === undefined
81
+ ? properties.bind
82
+ : properties.key
83
+ : undefined;
84
+ if (!key) {
85
+ // A key is just assumed to be unique
86
+ for (var i = 0; i < childNodes.length; i++) {
87
+ if (i !== indexToCheck) {
88
+ var node = childNodes[i];
89
+ if (same(node, childNode)) {
90
+ throw {
91
+ error: new Error("".concat(parentVNode.vnodeSelector, " had a ").concat(childNode.vnodeSelector, " child ").concat(operation === "added" ? operation : "removed", ", but there is now more than one. You must add unique key properties to make them distinguishable.")),
92
+ parentNode: parentVNode,
93
+ childNode: childNode,
94
+ };
95
+ }
96
+ }
97
+ }
98
+ }
99
+ };
100
+ var nodeAdded = function (vNode) {
101
+ if (vNode.properties) {
102
+ var enterAnimation = vNode.properties.enterAnimation;
103
+ if (enterAnimation) {
104
+ enterAnimation(vNode.domNode, vNode.properties);
105
+ }
106
+ }
107
+ };
108
+ var removedNodes = [];
109
+ var requestedIdleCallback = false;
110
+ var visitRemovedNode = function (node) {
111
+ (node.children || []).forEach(visitRemovedNode);
112
+ if (node.properties && node.properties.afterRemoved) {
113
+ node.properties.afterRemoved.apply(node.properties.bind || node.properties, [
114
+ node.domNode,
115
+ ]);
116
+ }
117
+ };
118
+ var processPendingNodeRemovals = function () {
119
+ requestedIdleCallback = false;
120
+ removedNodes.forEach(visitRemovedNode);
121
+ removedNodes.length = 0;
122
+ };
123
+ var scheduleNodeRemoval = function (vNode) {
124
+ removedNodes.push(vNode);
125
+ if (!requestedIdleCallback) {
126
+ requestedIdleCallback = true;
127
+ if (typeof window !== "undefined" && "requestIdleCallback" in window) {
128
+ window.requestIdleCallback(processPendingNodeRemovals, { timeout: 16 });
129
+ }
130
+ else {
131
+ setTimeout(processPendingNodeRemovals, 16);
132
+ }
133
+ }
134
+ };
135
+ var nodeToRemove = function (vNode) {
136
+ var domNode = vNode.domNode;
137
+ if (vNode.properties) {
138
+ var exitAnimation = vNode.properties.exitAnimation;
139
+ if (exitAnimation) {
140
+ domNode.style.pointerEvents = "none";
141
+ var removeDomNode = function () {
142
+ if (domNode.parentNode) {
143
+ domNode.parentNode.removeChild(domNode);
144
+ scheduleNodeRemoval(vNode);
145
+ }
146
+ };
147
+ exitAnimation(domNode, removeDomNode, vNode.properties);
148
+ return;
149
+ }
150
+ }
151
+ if (domNode.parentNode) {
152
+ domNode.parentNode.removeChild(domNode);
153
+ scheduleNodeRemoval(vNode);
154
+ }
155
+ };
156
+ var setProperties = function (domNode, properties, projectionOptions) {
157
+ if (!properties) {
158
+ return;
159
+ }
160
+ var eventHandlerInterceptor = projectionOptions.eventHandlerInterceptor;
161
+ var propNames = Object.keys(properties);
162
+ var propCount = propNames.length;
163
+ var _loop_1 = function (i) {
164
+ var propName = propNames[i];
165
+ var propValue = properties[propName];
166
+ if (propName === "className") {
167
+ throw new Error('Property "className" is not supported, use "class".');
168
+ }
169
+ else if (propName === "class") {
170
+ toggleClasses(domNode, propValue, true);
171
+ }
172
+ else if (propName === "classes") {
173
+ // object with string keys and boolean values
174
+ var classNames = Object.keys(propValue);
175
+ var classNameCount = classNames.length;
176
+ for (var j = 0; j < classNameCount; j++) {
177
+ var className = classNames[j];
178
+ if (propValue[className]) {
179
+ domNode.classList.add(className);
180
+ }
181
+ }
182
+ }
183
+ else if (propName === "styles") {
184
+ // object with string keys and string (!) values
185
+ var styleNames = Object.keys(propValue);
186
+ var styleCount = styleNames.length;
187
+ for (var j = 0; j < styleCount; j++) {
188
+ var styleName = styleNames[j];
189
+ var styleValue = propValue[styleName];
190
+ if (styleValue) {
191
+ checkStyleValue(styleValue);
192
+ projectionOptions.styleApplyer(domNode, styleName, styleValue);
193
+ }
194
+ }
195
+ }
196
+ else if (propName !== "key" && propValue !== null && propValue !== undefined) {
197
+ var type = typeof propValue;
198
+ if (type === "function") {
199
+ if (propName.lastIndexOf("on", 0) === 0) {
200
+ // lastIndexOf(,0)===0 -> startsWith
201
+ if (eventHandlerInterceptor) {
202
+ propValue = eventHandlerInterceptor(propName, propValue, domNode, properties); // intercept eventhandlers
203
+ }
204
+ if (propName === "oninput") {
205
+ (function () {
206
+ // record the evt.target.value, because IE and Edge sometimes do a requestAnimationFrame between changing value and running oninput
207
+ var oldPropValue = propValue;
208
+ propValue = function (evt) {
209
+ oldPropValue.apply(this, [evt]);
210
+ evt.target["oninput-value"] = evt.target.value; // may be HTMLTextAreaElement as well
211
+ };
212
+ })();
213
+ }
214
+ }
215
+ domNode[propName] = propValue;
216
+ }
217
+ else if (projectionOptions.namespace === NAMESPACE_SVG) {
218
+ if (propName === "href") {
219
+ domNode.setAttributeNS(NAMESPACE_XLINK, propName, propValue);
220
+ }
221
+ else {
222
+ // all SVG attributes are read-only in DOM, so...
223
+ domNode.setAttribute(propName, propValue);
224
+ }
225
+ }
226
+ else if (type === "string" && propName !== "value" && propName !== "innerHTML") {
227
+ domNode.setAttribute(propName, propValue);
228
+ }
229
+ else {
230
+ domNode[propName] = propValue;
231
+ }
232
+ }
233
+ };
234
+ for (var i = 0; i < propCount; i++) {
235
+ _loop_1(i);
236
+ }
237
+ };
238
+ var addChildren = function (domNode, children, projectionOptions) {
239
+ if (!children) {
240
+ return;
241
+ }
242
+ for (var _i = 0, children_1 = children; _i < children_1.length; _i++) {
243
+ var child = children_1[_i];
244
+ createDom(child, domNode, undefined, projectionOptions);
245
+ }
246
+ };
247
+ var initPropertiesAndChildren = function (domNode, vnode, projectionOptions) {
248
+ addChildren(domNode, vnode.children, projectionOptions); // children before properties, needed for value property of <select>.
249
+ if (vnode.text) {
250
+ domNode.textContent = vnode.text;
251
+ }
252
+ setProperties(domNode, vnode.properties, projectionOptions);
253
+ if (vnode.properties && vnode.properties.afterCreate) {
254
+ vnode.properties.afterCreate.apply(vnode.properties.bind || vnode.properties, [
255
+ domNode,
256
+ projectionOptions,
257
+ vnode.vnodeSelector,
258
+ vnode.properties,
259
+ vnode.children,
260
+ ]);
261
+ }
262
+ };
263
+ var createDom = function (vnode, parentNode, insertBefore, projectionOptions) {
264
+ var _a;
265
+ var domNode;
266
+ var start = 0;
267
+ var vnodeSelector = vnode.vnodeSelector;
268
+ var doc = parentNode.ownerDocument;
269
+ if (vnodeSelector === "") {
270
+ if (vnode.domNode) {
271
+ vnode.domNode.nodeValue = vnode.text;
272
+ }
273
+ else {
274
+ domNode = vnode.domNode = doc.createTextNode(vnode.text);
275
+ if (insertBefore !== undefined) {
276
+ parentNode.insertBefore(domNode, insertBefore);
277
+ }
278
+ else {
279
+ parentNode.appendChild(domNode);
280
+ }
281
+ }
282
+ }
283
+ else {
284
+ for (var i = 0; i <= vnodeSelector.length; ++i) {
285
+ var c = vnodeSelector.charAt(i);
286
+ if (i === vnodeSelector.length || c === "." || c === "#") {
287
+ var type = vnodeSelector.charAt(start - 1);
288
+ var found = vnodeSelector.slice(start, i);
289
+ if (type === ".") {
290
+ domNode.classList.add(found);
291
+ }
292
+ else if (type === "#") {
293
+ domNode.id = found;
294
+ }
295
+ else {
296
+ if (found === "svg") {
297
+ projectionOptions = extend(projectionOptions, {
298
+ namespace: NAMESPACE_SVG,
299
+ });
300
+ }
301
+ if (projectionOptions.namespace !== undefined) {
302
+ domNode = vnode.domNode = doc.createElementNS(projectionOptions.namespace, found);
303
+ }
304
+ else {
305
+ domNode = vnode.domNode =
306
+ vnode.domNode ||
307
+ (((_a = vnode.properties) === null || _a === void 0 ? void 0 : _a.is)
308
+ ? doc.createElement(found, { is: vnode.properties.is })
309
+ : doc.createElement(found));
310
+ if (found === "input" && vnode.properties && vnode.properties.type !== undefined) {
311
+ // IE8 and older don't support setting input type after the DOM Node has been added to the document
312
+ domNode.setAttribute("type", vnode.properties.type);
313
+ }
314
+ }
315
+ if (insertBefore !== undefined) {
316
+ parentNode.insertBefore(domNode, insertBefore);
317
+ }
318
+ else if (domNode.parentNode !== parentNode) {
319
+ parentNode.appendChild(domNode);
320
+ }
321
+ }
322
+ start = i + 1;
323
+ }
324
+ }
325
+ initPropertiesAndChildren(domNode, vnode, projectionOptions);
326
+ }
327
+ };
328
+ var updateDom;
329
+ /**
330
+ * Adds or removes classes from an Element
331
+ * @param domNode the element
332
+ * @param classes a string separated list of classes
333
+ * @param on true means add classes, false means remove
334
+ */
335
+ var toggleClasses = function (domNode, classes, on) {
336
+ if (!classes) {
337
+ return;
338
+ }
339
+ classes.split(" ").forEach(function (classToToggle) {
340
+ if (classToToggle) {
341
+ domNode.classList.toggle(classToToggle, on);
342
+ }
343
+ });
344
+ };
345
+ var updateProperties = function (domNode, previousProperties, properties, projectionOptions) {
346
+ if (!properties) {
347
+ return;
348
+ }
349
+ var propertiesUpdated = false;
350
+ var propNames = Object.keys(properties);
351
+ var propCount = propNames.length;
352
+ for (var i = 0; i < propCount; i++) {
353
+ var propName = propNames[i];
354
+ // assuming that properties will be nullified instead of missing is by design
355
+ var propValue = properties[propName];
356
+ var previousValue = previousProperties[propName];
357
+ if (propName === "class") {
358
+ if (previousValue !== propValue) {
359
+ toggleClasses(domNode, previousValue, false);
360
+ toggleClasses(domNode, propValue, true);
361
+ }
362
+ }
363
+ else if (propName === "classes") {
364
+ var classList = domNode.classList;
365
+ var classNames = Object.keys(propValue);
366
+ var classNameCount = classNames.length;
367
+ for (var j = 0; j < classNameCount; j++) {
368
+ var className = classNames[j];
369
+ var on = !!propValue[className];
370
+ var previousOn = !!previousValue[className];
371
+ if (on === previousOn) {
372
+ continue;
373
+ }
374
+ propertiesUpdated = true;
375
+ if (on) {
376
+ classList.add(className);
377
+ }
378
+ else {
379
+ classList.remove(className);
380
+ }
381
+ }
382
+ }
383
+ else if (propName === "styles") {
384
+ var styleNames = Object.keys(propValue);
385
+ var styleCount = styleNames.length;
386
+ for (var j = 0; j < styleCount; j++) {
387
+ var styleName = styleNames[j];
388
+ var newStyleValue = propValue[styleName];
389
+ var oldStyleValue = previousValue[styleName];
390
+ if (newStyleValue === oldStyleValue) {
391
+ continue;
392
+ }
393
+ propertiesUpdated = true;
394
+ if (newStyleValue) {
395
+ checkStyleValue(newStyleValue);
396
+ projectionOptions.styleApplyer(domNode, styleName, newStyleValue);
397
+ }
398
+ else {
399
+ projectionOptions.styleApplyer(domNode, styleName, "");
400
+ }
401
+ }
402
+ }
403
+ else {
404
+ if (!propValue && typeof previousValue === "string") {
405
+ propValue = "";
406
+ }
407
+ if (propName === "value") {
408
+ // value can be manipulated by the user directly and using event.preventDefault() is not an option
409
+ var domValue = domNode[propName];
410
+ if (domValue !== propValue && // The 'value' in the DOM tree !== newValue
411
+ (domNode["oninput-value"]
412
+ ? domValue === domNode["oninput-value"] // If the last reported value to 'oninput' does not match domValue, do nothing and wait for oninput
413
+ : propValue !== previousValue) // Only update the value if the vdom changed
414
+ ) {
415
+ // The edge cases are described in the tests
416
+ domNode[propName] = propValue; // Reset the value, even if the virtual DOM did not change
417
+ domNode["oninput-value"] = undefined;
418
+ } // else do not update the domNode, otherwise the cursor position would be changed
419
+ if (propValue !== previousValue) {
420
+ propertiesUpdated = true;
421
+ }
422
+ }
423
+ else if (propValue !== previousValue) {
424
+ var type = typeof propValue;
425
+ if (type !== "function" || !projectionOptions.eventHandlerInterceptor) {
426
+ // Function updates are expected to be handled by the EventHandlerInterceptor
427
+ if (projectionOptions.namespace === NAMESPACE_SVG) {
428
+ if (propName === "href") {
429
+ domNode.setAttributeNS(NAMESPACE_XLINK, propName, propValue);
430
+ }
431
+ else {
432
+ // all SVG attributes are read-only in DOM, so...
433
+ domNode.setAttribute(propName, propValue);
434
+ }
435
+ }
436
+ else if (type === "string" && propName !== "innerHTML") {
437
+ if (propName === "role" && propValue === "") {
438
+ domNode.removeAttribute(propName);
439
+ }
440
+ else {
441
+ domNode.setAttribute(propName, propValue);
442
+ }
443
+ }
444
+ else if (domNode[propName] !== propValue) {
445
+ // Comparison is here for side-effects in Edge with scrollLeft and scrollTop
446
+ domNode[propName] = propValue;
447
+ }
448
+ propertiesUpdated = true;
449
+ }
450
+ }
451
+ }
452
+ }
453
+ return propertiesUpdated;
454
+ };
455
+ var updateChildren = function (vnode, domNode, oldChildren, newChildren, projectionOptions) {
456
+ if (oldChildren === newChildren) {
457
+ return false;
458
+ }
459
+ oldChildren = oldChildren || emptyArray;
460
+ newChildren = newChildren || emptyArray;
461
+ var oldChildrenLength = oldChildren.length;
462
+ var newChildrenLength = newChildren.length;
463
+ var oldIndex = 0;
464
+ var newIndex = 0;
465
+ var i;
466
+ var textUpdated = false;
467
+ while (newIndex < newChildrenLength) {
468
+ var oldChild = oldIndex < oldChildrenLength ? oldChildren[oldIndex] : undefined;
469
+ var newChild = newChildren[newIndex];
470
+ if (oldChild !== undefined && same(oldChild, newChild)) {
471
+ textUpdated = updateDom(oldChild, newChild, projectionOptions) || textUpdated;
472
+ oldIndex++;
473
+ }
474
+ else {
475
+ var findOldIndex = findIndexOfChild(oldChildren, newChild, oldIndex + 1);
476
+ if (findOldIndex >= 0) {
477
+ // Remove preceding missing children
478
+ for (i = oldIndex; i < findOldIndex; i++) {
479
+ nodeToRemove(oldChildren[i]);
480
+ checkDistinguishable(oldChildren, i, vnode, "removed");
481
+ }
482
+ textUpdated =
483
+ updateDom(oldChildren[findOldIndex], newChild, projectionOptions) || textUpdated;
484
+ oldIndex = findOldIndex + 1;
485
+ }
486
+ else {
487
+ // New child
488
+ createDom(newChild, domNode, oldIndex < oldChildrenLength ? oldChildren[oldIndex].domNode : undefined, projectionOptions);
489
+ nodeAdded(newChild);
490
+ checkDistinguishable(newChildren, newIndex, vnode, "added");
491
+ }
492
+ }
493
+ newIndex++;
494
+ }
495
+ if (oldChildrenLength > oldIndex) {
496
+ // Remove child fragments
497
+ for (i = oldIndex; i < oldChildrenLength; i++) {
498
+ nodeToRemove(oldChildren[i]);
499
+ checkDistinguishable(oldChildren, i, vnode, "removed");
500
+ }
501
+ }
502
+ return textUpdated;
503
+ };
504
+ updateDom = function (previous, vnode, projectionOptions) {
505
+ var domNode = previous.domNode;
506
+ var textUpdated = false;
507
+ if (previous === vnode) {
508
+ return false; // By contract, VNode objects may not be modified anymore after passing them to maquette
509
+ }
510
+ var updated = false;
511
+ if (vnode.vnodeSelector === "") {
512
+ if (vnode.text !== previous.text) {
513
+ var newTextNode = domNode.ownerDocument.createTextNode(vnode.text);
514
+ domNode.parentNode.replaceChild(newTextNode, domNode);
515
+ vnode.domNode = newTextNode;
516
+ textUpdated = true;
517
+ return textUpdated;
518
+ }
519
+ vnode.domNode = domNode;
520
+ }
521
+ else {
522
+ if (vnode.vnodeSelector.lastIndexOf("svg", 0) === 0) {
523
+ // lastIndexOf(needle,0)===0 means StartsWith
524
+ projectionOptions = extend(projectionOptions, {
525
+ namespace: NAMESPACE_SVG,
526
+ });
527
+ }
528
+ if (previous.text !== vnode.text) {
529
+ updated = true;
530
+ if (vnode.text === undefined) {
531
+ domNode.removeChild(domNode.firstChild); // the only textnode presumably
532
+ }
533
+ else {
534
+ domNode.textContent = vnode.text;
535
+ }
536
+ }
537
+ vnode.domNode = domNode;
538
+ updated =
539
+ updateChildren(vnode, domNode, previous.children, vnode.children, projectionOptions) ||
540
+ updated;
541
+ updated =
542
+ updateProperties(domNode, previous.properties, vnode.properties, projectionOptions) ||
543
+ updated;
544
+ if (vnode.properties && vnode.properties.afterUpdate) {
545
+ vnode.properties.afterUpdate.apply(vnode.properties.bind || vnode.properties, [
546
+ domNode,
547
+ projectionOptions,
548
+ vnode.vnodeSelector,
549
+ vnode.properties,
550
+ vnode.children,
551
+ ]);
552
+ }
553
+ }
554
+ if (updated && vnode.properties && vnode.properties.updateAnimation) {
555
+ vnode.properties.updateAnimation(domNode, vnode.properties, previous.properties);
556
+ }
557
+ return textUpdated;
558
+ };
559
+ var createProjection = function (vnode, projectionOptions) {
560
+ return {
561
+ getLastRender: function () { return vnode; },
562
+ update: function (updatedVnode) {
563
+ if (vnode.vnodeSelector !== updatedVnode.vnodeSelector) {
564
+ throw new Error("The selector for the root VNode may not be changed. (consider using dom.merge and add one extra level to the virtual DOM)");
565
+ }
566
+ var previousVNode = vnode;
567
+ vnode = updatedVnode;
568
+ updateDom(previousVNode, updatedVnode, projectionOptions);
569
+ },
570
+ domNode: vnode.domNode,
571
+ };
572
+ };
573
+
574
+ var DEFAULT_PROJECTION_OPTIONS = {
575
+ namespace: undefined,
576
+ performanceLogger: function () { return undefined; },
577
+ eventHandlerInterceptor: undefined,
578
+ styleApplyer: function (domNode, styleName, value) {
579
+ if (styleName.charAt(0) === "-") {
580
+ // CSS variables must be set using setProperty
581
+ domNode.style.setProperty(styleName, value);
582
+ }
583
+ else {
584
+ // properties like 'backgroundColor' must be set as a js-property
585
+ domNode.style[styleName] = value;
586
+ }
587
+ },
588
+ };
589
+ var applyDefaultProjectionOptions = function (projectorOptions) {
590
+ return extend(DEFAULT_PROJECTION_OPTIONS, projectorOptions);
591
+ };
592
+ var dom = {
593
+ /**
594
+ * Creates a real DOM tree from `vnode`. The [[Projection]] object returned will contain the resulting DOM Node in
595
+ * its [[Projection.domNode|domNode]] property.
596
+ * This is a low-level method. Users will typically use a [[Projector]] instead.
597
+ * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function. NOTE: [[VNode]]
598
+ * objects may only be rendered once.
599
+ * @param projectionOptions - Options to be used to create and update the projection.
600
+ * @returns The [[Projection]] which also contains the DOM Node that was created.
601
+ */
602
+ create: function (vnode, projectionOptions) {
603
+ projectionOptions = applyDefaultProjectionOptions(projectionOptions);
604
+ createDom(vnode, document.createElement("div"), undefined, projectionOptions);
605
+ return createProjection(vnode, projectionOptions);
606
+ },
607
+ /**
608
+ * Appends a new child node to the DOM which is generated from a [[VNode]].
609
+ * This is a low-level method. Users will typically use a [[Projector]] instead.
610
+ * @param parentNode - The parent node for the new child node.
611
+ * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function. NOTE: [[VNode]]
612
+ * objects may only be rendered once.
613
+ * @param projectionOptions - Options to be used to create and update the [[Projection]].
614
+ * @returns The [[Projection]] that was created.
615
+ */
616
+ append: function (parentNode, vnode, projectionOptions) {
617
+ projectionOptions = applyDefaultProjectionOptions(projectionOptions);
618
+ createDom(vnode, parentNode, undefined, projectionOptions);
619
+ return createProjection(vnode, projectionOptions);
620
+ },
621
+ /**
622
+ * Inserts a new DOM node which is generated from a [[VNode]].
623
+ * This is a low-level method. Users wil typically use a [[Projector]] instead.
624
+ * @param beforeNode - The node that the DOM Node is inserted before.
625
+ * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function.
626
+ * NOTE: [[VNode]] objects may only be rendered once.
627
+ * @param projectionOptions - Options to be used to create and update the projection, see [[createProjector]].
628
+ * @returns The [[Projection]] that was created.
629
+ */
630
+ insertBefore: function (beforeNode, vnode, projectionOptions) {
631
+ projectionOptions = applyDefaultProjectionOptions(projectionOptions);
632
+ createDom(vnode, beforeNode.parentNode, beforeNode, projectionOptions);
633
+ return createProjection(vnode, projectionOptions);
634
+ },
635
+ /**
636
+ * Merges a new DOM node which is generated from a [[VNode]] with an existing DOM Node.
637
+ * This means that the virtual DOM and the real DOM will have one overlapping element.
638
+ * Therefore the selector for the root [[VNode]] will be ignored, but its properties and children will be applied to the Element provided.
639
+ * This is a low-level method. Users wil typically use a [[Projector]] instead.
640
+ * @param element - The existing element to adopt as the root of the new virtual DOM. Existing attributes and child nodes are preserved.
641
+ * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function. NOTE: [[VNode]] objects
642
+ * may only be rendered once.
643
+ * @param projectionOptions - Options to be used to create and update the projection, see [[createProjector]].
644
+ * @returns The [[Projection]] that was created.
645
+ */
646
+ merge: function (element, vnode, projectionOptions) {
647
+ projectionOptions = applyDefaultProjectionOptions(projectionOptions);
648
+ vnode.domNode = element;
649
+ initPropertiesAndChildren(element, vnode, projectionOptions);
650
+ return createProjection(vnode, projectionOptions);
651
+ },
652
+ /**
653
+ * Replaces an existing DOM node with a node generated from a [[VNode]].
654
+ * This is a low-level method. Users will typically use a [[Projector]] instead.
655
+ * @param element - The node for the [[VNode]] to replace.
656
+ * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function. NOTE: [[VNode]]
657
+ * objects may only be rendered once.
658
+ * @param projectionOptions - Options to be used to create and update the [[Projection]].
659
+ * @returns The [[Projection]] that was created.
660
+ */
661
+ replace: function (element, vnode, projectionOptions) {
662
+ projectionOptions = applyDefaultProjectionOptions(projectionOptions);
663
+ createDom(vnode, element.parentNode, element, projectionOptions);
664
+ element.parentNode.removeChild(element);
665
+ return createProjection(vnode, projectionOptions);
666
+ },
667
+ };
668
+
669
+ var toTextVNode = function (data) {
670
+ return {
671
+ vnodeSelector: "",
672
+ properties: undefined,
673
+ children: undefined,
674
+ text: data.toString(),
675
+ domNode: null,
676
+ };
677
+ };
678
+ var appendChildren = function (parentSelector, insertions, main) {
679
+ for (var i = 0, length_1 = insertions.length; i < length_1; i++) {
680
+ var item = insertions[i];
681
+ if (Array.isArray(item)) {
682
+ appendChildren(parentSelector, item, main);
683
+ }
684
+ else {
685
+ if (item !== null && item !== undefined && item !== false) {
686
+ if (typeof item === "string") {
687
+ item = toTextVNode(item);
688
+ }
689
+ main.push(item);
690
+ }
691
+ }
692
+ }
693
+ };
694
+ function h(selector, properties, children) {
695
+ if (Array.isArray(properties)) {
696
+ children = properties;
697
+ properties = undefined;
698
+ }
699
+ else if ((properties && (typeof properties === "string" || properties.vnodeSelector)) ||
700
+ (children && (typeof children === "string" || children.vnodeSelector))) {
701
+ throw new Error("h called with invalid arguments");
702
+ }
703
+ var text;
704
+ var flattenedChildren;
705
+ // Recognize a common special case where there is only a single text node
706
+ if (children && children.length === 1 && typeof children[0] === "string") {
707
+ text = children[0];
708
+ }
709
+ else if (children) {
710
+ flattenedChildren = [];
711
+ appendChildren(selector, children, flattenedChildren);
712
+ if (flattenedChildren.length === 0) {
713
+ flattenedChildren = undefined;
714
+ }
715
+ }
716
+ return {
717
+ vnodeSelector: selector,
718
+ properties: properties,
719
+ children: flattenedChildren,
720
+ text: text === "" ? undefined : text,
721
+ domNode: null,
722
+ };
723
+ }
724
+
725
+ var createParentNodePath = function (node, rootNode) {
726
+ var parentNodePath = [];
727
+ while (node && node !== rootNode) {
728
+ parentNodePath.push(node);
729
+ node = node.parentNode;
730
+ }
731
+ return parentNodePath;
732
+ };
733
+ var find;
734
+ if (Array.prototype.find) {
735
+ find = function (items, predicate) { return items.find(predicate); };
736
+ }
737
+ else {
738
+ find = function (items, predicate) { return items.filter(predicate)[0]; };
739
+ }
740
+ var findVNodeByParentNodePath = function (vnode, parentNodePath) {
741
+ var result = vnode;
742
+ parentNodePath.forEach(function (node) {
743
+ result =
744
+ result && result.children
745
+ ? find(result.children, function (child) { return child.domNode === node; })
746
+ : undefined;
747
+ });
748
+ return result;
749
+ };
750
+ var createEventHandlerInterceptor = function (projector, getProjection, performanceLogger) {
751
+ return function (propertyName, eventHandler, domNode, properties) { return modifiedEventHandler; };
752
+ function modifiedEventHandler(evt) {
753
+ performanceLogger("domEvent", evt);
754
+ var projection = getProjection();
755
+ var parentNodePath = createParentNodePath(evt.currentTarget, projection.domNode);
756
+ parentNodePath.reverse();
757
+ var matchingVNode = findVNodeByParentNodePath(projection.getLastRender(), parentNodePath);
758
+ projector.scheduleRender();
759
+ var result;
760
+ if (matchingVNode) {
761
+ /* eslint-disable prefer-rest-params */
762
+ result = matchingVNode.properties["on".concat(evt.type)].apply(matchingVNode.properties.bind || this, arguments);
763
+ /* eslint-enable prefer-rest-params */
764
+ }
765
+ performanceLogger("domEventProcessed", evt);
766
+ return result;
767
+ }
768
+ };
769
+ /**
770
+ * Creates a [[Projector]] instance using the provided projectionOptions.
771
+ *
772
+ * For more information, see [[Projector]].
773
+ *
774
+ * @param projectorOptions Options that influence how the DOM is rendered and updated.
775
+ */
776
+ var createProjector = function (projectorOptions) {
777
+ var projector;
778
+ var projectionOptions = applyDefaultProjectionOptions(projectorOptions);
779
+ var performanceLogger = projectionOptions.performanceLogger;
780
+ var renderCompleted = true;
781
+ var scheduled;
782
+ var stopped = false;
783
+ var projections = [];
784
+ var renderFunctions = []; // matches the projections array
785
+ var addProjection = function (
786
+ /* one of: dom.append, dom.insertBefore, dom.replace, dom.merge */
787
+ domFunction,
788
+ /* the parameter of the domFunction */
789
+ node, renderFunction) {
790
+ var projection;
791
+ var getProjection = function () { return projection; };
792
+ projectionOptions.eventHandlerInterceptor = createEventHandlerInterceptor(projector, getProjection, performanceLogger);
793
+ projection = domFunction(node, renderFunction(), projectionOptions);
794
+ projections.push(projection);
795
+ renderFunctions.push(renderFunction);
796
+ };
797
+ var doRender = function () {
798
+ scheduled = undefined;
799
+ if (!renderCompleted) {
800
+ return; // The last render threw an error, it should have been logged in the browser console.
801
+ }
802
+ renderCompleted = false;
803
+ performanceLogger("renderStart", undefined);
804
+ for (var i = 0; i < projections.length; i++) {
805
+ var updatedVnode = renderFunctions[i]();
806
+ performanceLogger("rendered", undefined);
807
+ projections[i].update(updatedVnode);
808
+ performanceLogger("patched", undefined);
809
+ }
810
+ performanceLogger("renderDone", undefined);
811
+ renderCompleted = true;
812
+ };
813
+ projector = {
814
+ renderNow: doRender,
815
+ scheduleRender: function () {
816
+ if (!scheduled && !stopped) {
817
+ scheduled = requestAnimationFrame(doRender);
818
+ }
819
+ },
820
+ stop: function () {
821
+ if (scheduled) {
822
+ cancelAnimationFrame(scheduled);
823
+ scheduled = undefined;
824
+ }
825
+ stopped = true;
826
+ },
827
+ resume: function () {
828
+ stopped = false;
829
+ renderCompleted = true;
830
+ projector.scheduleRender();
831
+ },
832
+ append: function (parentNode, renderFunction) {
833
+ addProjection(dom.append, parentNode, renderFunction);
834
+ },
835
+ insertBefore: function (beforeNode, renderFunction) {
836
+ addProjection(dom.insertBefore, beforeNode, renderFunction);
837
+ },
838
+ merge: function (domNode, renderFunction) {
839
+ addProjection(dom.merge, domNode, renderFunction);
840
+ },
841
+ replace: function (domNode, renderFunction) {
842
+ addProjection(dom.replace, domNode, renderFunction);
843
+ },
844
+ detach: function (renderFunction) {
845
+ for (var i = 0; i < renderFunctions.length; i++) {
846
+ if (renderFunctions[i] === renderFunction) {
847
+ renderFunctions.splice(i, 1);
848
+ return projections.splice(i, 1)[0];
849
+ }
850
+ }
851
+ throw new Error("renderFunction was not found");
852
+ },
853
+ };
854
+ return projector;
855
+ };
856
+
857
+ /**
858
+ * Creates a [[CalculationCache]] object, useful for caching [[VNode]] trees.
859
+ * In practice, caching of [[VNode]] trees is not needed, because achieving 60 frames per second is almost never a problem.
860
+ * For more information, see [[CalculationCache]].
861
+ *
862
+ * @param <Result> The type of the value that is cached.
863
+ */
864
+ var createCache = function () {
865
+ var cachedInputs;
866
+ var cachedOutcome;
867
+ return {
868
+ invalidate: function () {
869
+ cachedOutcome = undefined;
870
+ cachedInputs = undefined;
871
+ },
872
+ result: function (inputs, calculation) {
873
+ if (cachedInputs) {
874
+ for (var i = 0; i < inputs.length; i++) {
875
+ if (cachedInputs[i] !== inputs[i]) {
876
+ cachedOutcome = undefined;
877
+ }
878
+ }
879
+ }
880
+ if (!cachedOutcome) {
881
+ cachedOutcome = calculation();
882
+ cachedInputs = inputs;
883
+ }
884
+ return cachedOutcome;
885
+ },
886
+ };
887
+ };
888
+
889
+ /**
890
+ * Creates a {@link Mapping} instance that keeps an array of result objects synchronized with an array of source objects.
891
+ * See {@link http://maquettejs.org/docs/arrays.html|Working with arrays}.
892
+ *
893
+ * @param <Source> The type of source items. A database-record for instance.
894
+ * @param <Target> The type of target items. A [[MaquetteComponent]] for instance.
895
+ * @param getSourceKey `function(source)` that must return a key to identify each source object. The result must either be a string or a number.
896
+ * @param createResult `function(source, index)` that must create a new result object from a given source. This function is identical
897
+ * to the `callback` argument in `Array.map(callback)`.
898
+ * @param updateResult `function(source, target, index)` that updates a result to an updated source.
899
+ */
900
+ var createMapping = function (getSourceKey, createResult, updateResult) {
901
+ var keys = [];
902
+ var results = [];
903
+ return {
904
+ results: results,
905
+ map: function (newSources) {
906
+ var newKeys = newSources.map(getSourceKey);
907
+ var oldTargets = results.slice();
908
+ var oldIndex = 0;
909
+ for (var i = 0; i < newSources.length; i++) {
910
+ var source = newSources[i];
911
+ var sourceKey = newKeys[i];
912
+ if (sourceKey === keys[oldIndex]) {
913
+ results[i] = oldTargets[oldIndex];
914
+ updateResult(source, oldTargets[oldIndex], i);
915
+ oldIndex++;
916
+ }
917
+ else {
918
+ var found = false;
919
+ for (var j = 1; j < keys.length + 1; j++) {
920
+ var searchIndex = (oldIndex + j) % keys.length;
921
+ if (keys[searchIndex] === sourceKey) {
922
+ results[i] = oldTargets[searchIndex];
923
+ updateResult(newSources[i], oldTargets[searchIndex], i);
924
+ oldIndex = searchIndex + 1;
925
+ found = true;
926
+ break;
927
+ }
928
+ }
929
+ if (!found) {
930
+ results[i] = createResult(source, i);
931
+ }
932
+ }
933
+ }
934
+ results.length = newSources.length;
935
+ keys = newKeys;
936
+ },
937
+ };
938
+ };
939
+
940
+ exports.createCache = createCache;
941
+ exports.createMapping = createMapping;
942
+ exports.createProjector = createProjector;
943
+ exports.dom = dom;
944
+ exports.h = h;
945
+
946
+ }));
947
+ });
948
+
949
+ const projector = maquette_umd.createProjector();
950
+ const separatorWidth = 10;
951
+ const separatorHeight = 20;
952
+ const univariateSymbolPadding = 10;
953
+ const univariateCardStylePadding = 20;
954
+ const CSS$1 = {
955
+ // univariate above-and-below
956
+ univariateAboveAndBelowSymbol: 'esri-univariate-above-and-below-ramp__symbol',
957
+ colorRamp: 'esri-legend__color-ramp',
958
+ };
959
+ function renderSeparator(rampAlignment = 'vertical') {
960
+ const style = 'stroke:rgb(200, 200, 200);stroke-width:1';
961
+ return rampAlignment === 'vertical' ? (h("svg", { height: "4", width: "10" }, h("line", { x1: "0", y1: "2", x2: "10", y2: "2", style: style }))) : (h("svg", { height: "10", width: "10" }, h("line", { x1: "5", y1: "0", x2: "5", y2: "10", style: style })));
962
+ }
963
+ function getSeparatorPreview(opacity, rampAlignment = 'vertical') {
964
+ const separator = document.createElement('div');
965
+ separator.style.height = `${separatorHeight}px`;
966
+ separator.className = CSS$1.univariateAboveAndBelowSymbol;
967
+ if (opacity != null) {
968
+ separator.style.opacity = opacity.toString();
969
+ }
970
+ projector.append(separator, renderSeparator.bind(null, rampAlignment));
971
+ return separator;
972
+ }
973
+ function updateUnivariateSizeRampElement(sizeRampElement, opacity, rampAlignment = 'vertical', isAboveAndBelow) {
974
+ sizeRampElement.infos.forEach((stop, index) => {
975
+ // Replace middle stop preview with separator
976
+ if (isAboveAndBelow && index === 2) {
977
+ stop.preview = getSeparatorPreview(opacity, rampAlignment);
978
+ }
979
+ else {
980
+ const { size } = stop;
981
+ const previewSize = pt2px(size) + (rampAlignment === 'horizontal' ? univariateCardStylePadding : univariateSymbolPadding);
982
+ const isPreviewDiv = stop.preview.tagName.toLowerCase() === 'div';
983
+ const preview = isPreviewDiv ? stop.preview : document.createElement('div');
984
+ if (preview)
985
+ preview.className = CSS$1.univariateAboveAndBelowSymbol;
986
+ if (rampAlignment === 'horizontal') {
987
+ if (preview)
988
+ preview.style.width = `${previewSize}px`;
989
+ }
990
+ else {
991
+ if (preview)
992
+ preview.style.height = `${previewSize}px`;
993
+ }
994
+ if (!isPreviewDiv) {
995
+ if (preview)
996
+ preview.appendChild(stop.preview);
997
+ }
998
+ stop.preview = preview;
999
+ }
1000
+ });
1001
+ }
1002
+ // Used to align the colorRamp at the middle of first size symbol
1003
+ function getUnivariateColorRampMargin(sizeRampElement, style = 'classic') {
1004
+ const stops = sizeRampElement.infos;
1005
+ const firstSize = stops[0].size;
1006
+ const lastSize = stops[stops.length - 1].size;
1007
+ if (style === 'classic') {
1008
+ return (pt2px(firstSize) + univariateSymbolPadding) / 2;
1009
+ }
1010
+ return (pt2px(firstSize) - pt2px(lastSize)) / 2;
1011
+ }
1012
+ async function getUnivariateColorRampPreview(colorRampElement, options) {
1013
+ if (!colorRampElement) {
1014
+ return Promise.resolve(null);
1015
+ }
1016
+ const colors = colorRampElement.infos.map(stop => stop.color);
1017
+ const [symbolUtils] = await loadModules(['esri/symbols/support/symbolUtils']);
1018
+ const colorRampDiv = symbolUtils.renderColorRampPreviewHTML(options.type === 'full'
1019
+ ? colors
1020
+ : options.type === 'above'
1021
+ ? colors.slice(0, 3) // First 3 colors
1022
+ : colors.slice(2, 5), // Last 3 colors
1023
+ {
1024
+ width: options.width,
1025
+ height: options.height,
1026
+ align: options.rampAlignment,
1027
+ effectList: options.effectList,
1028
+ });
1029
+ colorRampDiv.className = CSS$1.colorRamp;
1030
+ if (options.opacity != null) {
1031
+ colorRampDiv.style.opacity = options.opacity.toString();
1032
+ }
1033
+ return Promise.resolve(colorRampDiv);
1034
+ }
1035
+ function getUnivariateSizeRampSize(sizeRampElement, type, isAboveAndBelow, rampAlignment = 'vertical') {
1036
+ let sizeRampHeight = 0;
1037
+ const stops = sizeRampElement.infos;
1038
+ const midIndex = Math.floor(stops.length / 2);
1039
+ const startIndex = type === 'full' || type === 'above' ? 0 : midIndex;
1040
+ const endIndex = type === 'full' || type === 'below' ? stops.length - 1 : midIndex;
1041
+ for (let index = startIndex; index <= endIndex; index++) {
1042
+ if (isAboveAndBelow && index === midIndex) {
1043
+ sizeRampHeight += rampAlignment === 'horizontal' ? separatorWidth : separatorHeight;
1044
+ }
1045
+ else {
1046
+ const size = stops[index].size;
1047
+ const previewSize = pt2px(size) + (rampAlignment === 'horizontal' ? univariateCardStylePadding : univariateSymbolPadding);
1048
+ sizeRampHeight += previewSize;
1049
+ }
1050
+ }
1051
+ return Math.round(sizeRampHeight);
1052
+ }
1053
+ function getUnivariateColorRampSize(sizeRampElement, type, isAboveAndBelow, rampAlignment = 'vertical') {
1054
+ const sizeRampSize = getUnivariateSizeRampSize(sizeRampElement, type, isAboveAndBelow, rampAlignment);
1055
+ const stops = sizeRampElement.infos;
1056
+ const midIndex = Math.floor(stops.length / 2);
1057
+ const startIndex = type === 'full' || type === 'above' ? 0 : midIndex;
1058
+ const endIndex = type === 'full' || type === 'below' ? stops.length - 1 : midIndex;
1059
+ const symbolSize = type === 'full' ? stops[startIndex].size + stops[endIndex].size : type === 'above' ? stops[startIndex].size : stops[endIndex].size;
1060
+ const separatorSize = isAboveAndBelow ? (rampAlignment === 'vertical' ? separatorHeight : separatorWidth) : 0;
1061
+ const padding = rampAlignment === 'vertical' ? univariateSymbolPadding * (type === 'full' ? 2 : 1) : univariateCardStylePadding * (type === 'full' ? 2 : 1);
1062
+ return Math.round(sizeRampSize - (pt2px(symbolSize) / 2 + separatorSize / 2 + padding / 2));
1063
+ }
1064
+ function getUnivariateAboveAndBelowRampElements(legendElement, opacity, rampAlignment = 'vertical') {
1065
+ const elements = legendElement.infos;
1066
+ let sizeRampElement = elements.find(({ type }) => type === 'size-ramp');
1067
+ let colorRampElement = elements.find(({ type }) => type === 'color-ramp');
1068
+ if (sizeRampElement) {
1069
+ sizeRampElement = Object.assign({}, sizeRampElement);
1070
+ sizeRampElement.infos = [...sizeRampElement.infos];
1071
+ updateUnivariateSizeRampElement(sizeRampElement, opacity, rampAlignment, true);
1072
+ }
1073
+ if (colorRampElement) {
1074
+ colorRampElement = Object.assign({}, colorRampElement);
1075
+ colorRampElement.infos = [...colorRampElement.infos];
1076
+ }
1077
+ // For card style
1078
+ if (rampAlignment === 'horizontal') {
1079
+ sizeRampElement === null || sizeRampElement === void 0 ? void 0 : sizeRampElement.infos.reverse();
1080
+ colorRampElement === null || colorRampElement === void 0 ? void 0 : colorRampElement.infos.reverse();
1081
+ }
1082
+ return { sizeRampElement, colorRampElement };
1083
+ }
1084
+ function getUnivariateColorSizeRampElements(legendElement, rampAlignment = 'vertical') {
1085
+ const elements = legendElement.infos;
1086
+ let sizeRampElement = elements.find(({ type }) => type === 'size-ramp');
1087
+ let colorRampElement = elements.find(({ type }) => type === 'color-ramp');
1088
+ if (sizeRampElement) {
1089
+ sizeRampElement = Object.assign({}, sizeRampElement);
1090
+ sizeRampElement.infos = [...sizeRampElement.infos];
1091
+ updateUnivariateSizeRampElement(sizeRampElement, null, rampAlignment, false);
1092
+ }
1093
+ if (colorRampElement) {
1094
+ colorRampElement = Object.assign({}, colorRampElement);
1095
+ colorRampElement.infos = [...colorRampElement.infos];
1096
+ }
1097
+ // For card style
1098
+ if (rampAlignment === 'horizontal') {
1099
+ sizeRampElement === null || sizeRampElement === void 0 ? void 0 : sizeRampElement.infos.reverse();
1100
+ colorRampElement === null || colorRampElement === void 0 ? void 0 : colorRampElement.infos.reverse();
1101
+ }
1102
+ return { sizeRampElement, colorRampElement };
1103
+ }
1104
+
1105
+ function isImageryStretchedLegend(_layer, _legendType) {
1106
+ return !0;
1107
+ }
1108
+
1109
+ const instantAppsInteractiveLegendClassicCss = ".sc-instant-apps-interactive-legend-classic-h{display:block;--instant-apps-interactive-legend-heading-font-size:1rem;--instant-apps-interactive-legend-heading-font-weight:normal;--instant-apps-interactive-legend-caption-font-weight:normal;--instant-apps-interactive-legend-secondary-color:var(--calcite-color-text-1);--instant-apps-interactive-legend-field-name-font-size:1rem;--instant-apps-interactive-legend-total-feature-count-font-size:0.875rem;--instant-apps-interactive-legend-info-font-size:0.875rem;--instant-apps-interactive-legend-info-item-background--selected:#c7ebff;--instant-apps-interactive-legend-info-item-background--selected--dark:#009af2;--instant-apps-interactive-legend-info-item-background--hover:#e9e9e9;--instant-apps-interactive-legend-info-item-background--hover--dark:#4a4a4a;--instant-apps-interactive-legend-info-item-color--selected:var(--calcite-color-text-2);--instant-apps-interactive-legend-secondary-background-color:var(--calcite-color-background);--instant-apps-interactive-legend-ui-margin:20px 15px;--instant-apps-interactive-legend-ui-padding:20px 15px}.sc-instant-apps-interactive-legend-classic-h .esri-legend__service.sc-instant-apps-interactive-legend-classic{padding:0}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-body.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-table.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__group-layer-child.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-child-table.sc-instant-apps-interactive-legend-classic{margin:0;overflow:hidden}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-classic{display:flex;align-items:center;font-size:var(--instant-apps-interactive-legend-field-name-font-size);background-color:var(--instant-apps-interactive-legend-secondary-background-color);color:var(--instant-apps-interactive-legend-secondary-color)}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-classic calcite-action.sc-instant-apps-interactive-legend-classic{margin-right:5px}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-classic{white-space:nowrap}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-classic calcite-button.sc-instant-apps-interactive-legend-classic{margin:2px}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-classic{font-weight:var(--instant-apps-interactive-legend-caption-font-weight)}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell.esri-legend__layer-cell--info.sc-instant-apps-interactive-legend-classic{font-size:var(--instant-apps-interactive-legend-info-font-size);text-align:left}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-row.sc-instant-apps-interactive-legend-classic{display:flex;align-items:center}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__non-interactive.sc-instant-apps-interactive-legend-classic .esri-legend__layer-body.sc-instant-apps-interactive-legend-classic{display:block;margin:var(--instant-apps-interactive-legend-ui-margin)}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__non-interactive.instant-apps-interactive-legend__nested-unique-symbol.sc-instant-apps-interactive-legend-classic>.esri-legend__layer-body.sc-instant-apps-interactive-legend-classic{margin:0}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__non-interactive.sc-instant-apps-interactive-legend-classic .esri-legend__layer-row.sc-instant-apps-interactive-legend-classic{display:table-row}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__non-interactive.sc-instant-apps-interactive-legend-classic .esri-legend__layer-cell.sc-instant-apps-interactive-legend-classic{display:table-cell}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell--symbols.sc-instant-apps-interactive-legend-classic{justify-content:center;width:20%}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell--info.sc-instant-apps-interactive-legend-classic{width:65%}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic{margin:1px;background:transparent;border:none;width:100%}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell--info.sc-instant-apps-interactive-legend-classic{color:var(--instant-apps-interactive-legend-secondary-color)}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-row.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-classic{padding:var(--instant-apps-interactive-legend-ui-padding)}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic{position:relative}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend-element-info--selected.sc-instant-apps-interactive-legend-classic{background-color:var(--instant-apps-interactive-legend-info-item-background--selected)}.sc-instant-apps-interactive-legend-classic-h .calcite-mode-dark.sc-instant-apps-interactive-legend-classic .instant-apps-interactive-legend-element-info--selected.sc-instant-apps-interactive-legend-classic{cursor:pointer;background-color:var(--instant-apps-interactive-legend-info-item-background--selected--dark)}.sc-instant-apps-interactive-legend-classic-h .calcite-mode-dark.sc-instant-apps-interactive-legend-classic .instant-apps-interactive-legend-element-info--selected.sc-instant-apps-interactive-legend-classic .esri-legend__layer-cell--info.sc-instant-apps-interactive-legend-classic{color:var(--calcite-color-text-inverse)}.sc-instant-apps-interactive-legend-classic-h .hide.sc-instant-apps-interactive-legend-classic{display:none}@media (min-width: 992px){.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic{cursor:pointer}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic:hover{background-color:var(--instant-apps-interactive-legend-info-item-background--hover)}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic:hover.instant-apps-interactive-legend-element-info--selected{background-color:#e2f2fe}.sc-instant-apps-interactive-legend-classic-h .calcite-mode-dark.sc-instant-apps-interactive-legend-classic .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic:hover{background-color:var(--instant-apps-interactive-legend-info-item-background--hover--dark)}.sc-instant-apps-interactive-legend-classic-h .calcite-mode-dark.sc-instant-apps-interactive-legend-classic .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic:hover.instant-apps-interactive-legend-element-info--selected{background-color:#26a9f4}}";
1110
+
1111
+ const CSS = {
1112
+ // jsapi styles
1113
+ service: 'esri-legend__service',
1114
+ label: 'esri-legend__service-label',
1115
+ layer: 'esri-legend__layer',
1116
+ groupLayer: 'esri-legend__group-layer',
1117
+ groupLayerChild: 'esri-legend__group-layer-child',
1118
+ layerTable: 'esri-legend__layer-table',
1119
+ layerTableSizeRamp: 'esri-legend__layer-table--size-ramp',
1120
+ layerChildTable: 'esri-legend__layer-child-table',
1121
+ layerCaption: 'esri-legend__layer-caption',
1122
+ layerBody: 'esri-legend__layer-body',
1123
+ layerRow: 'esri-legend__layer-row',
1124
+ layerCell: 'esri-legend__layer-cell',
1125
+ layerInfo: 'esri-legend__layer-cell esri-legend__layer-cell--info',
1126
+ imageryLayerStretchedImage: 'esri-legend__imagery-layer-image--stretched',
1127
+ imageryLayerCellStretched: 'esri-legend__imagery-layer-cell--stretched',
1128
+ imageryLayerInfoStretched: 'esri-legend__imagery-layer-info--stretched',
1129
+ symbolContainer: 'esri-legend__layer-cell esri-legend__layer-cell--symbols',
1130
+ symbol: 'esri-legend__symbol',
1131
+ rampContainer: 'esri-legend__ramps',
1132
+ sizeRamp: 'esri-legend__size-ramp',
1133
+ colorRamp: 'esri-legend__color-ramp',
1134
+ opacityRamp: 'esri-legend__opacity-ramp',
1135
+ borderlessRamp: 'esri-legend__borderless-ramp',
1136
+ rampTick: 'esri-legend__ramp-tick',
1137
+ rampFirstTick: 'esri-legend__ramp-tick-first',
1138
+ rampLastTick: 'esri-legend__ramp-tick-last',
1139
+ rampLabelsContainer: 'esri-legend__ramp-labels',
1140
+ rampLabel: 'esri-legend__ramp-label',
1141
+ univariateAboveAndBelowSymbol: 'esri-univariate-above-and-below-ramp__symbol',
1142
+ univariateAboveAndBelowLabel: 'esri-univariate-above-and-below-ramp__label',
1143
+ message: 'esri-legend__message',
1144
+ header: 'esri-widget__heading',
1145
+ hidden: 'esri-hidden',
1146
+ // instant-apps-interactive-legend
1147
+ interactiveLegendHeader: 'instant-apps-interactive-legend__header',
1148
+ layerCaptionBtnContainer: 'instant-apps-interactive-legend__layer-caption-btn-container',
1149
+ interactiveLayerRow: 'instant-apps-interactive-legend__layer-row--interactive',
1150
+ infoSelected: 'instant-apps-interactive-legend-element-info--selected',
1151
+ };
1152
+ const GRADIENT_WIDTH = 24;
1153
+ const univariateRampContainerStyles = { display: 'flex', alignItems: 'flex-start' };
1154
+ const univariateColorRampContainerStyles = { marginLeft: '3px' };
1155
+ const univariateColorRampStyles = { display: 'table-cell', verticalAlign: 'middle' };
1156
+ const InstantAppsInteractiveLegendClassic = class {
1157
+ constructor(hostRef) {
1158
+ registerInstance(this, hostRef);
1159
+ this.calculatingFeatureCount = false;
1160
+ this.legendvm = undefined;
1161
+ this.zoomTo = false;
1162
+ this.featureCount = false;
1163
+ this.filterMode = {
1164
+ type: 'filter',
1165
+ };
1166
+ this.messages = undefined;
1167
+ this.isLoading = true;
1168
+ this.intLegendId = undefined;
1169
+ }
1170
+ handleFilterModeChange() {
1171
+ handleFilterChange(this.filterMode, this.legendvm.view);
1172
+ }
1173
+ async componentWillLoad() {
1174
+ const observer = new MutationObserver(() => {
1175
+ forceUpdate(this.el);
1176
+ });
1177
+ observer.observe(this.el, {
1178
+ attributes: true,
1179
+ });
1180
+ const [intl, reactiveUtils, Handles] = await loadModules(['esri/intl', 'esri/core/reactiveUtils', 'esri/core/Handles']);
1181
+ this.reactiveUtils = reactiveUtils;
1182
+ this.handles = new Handles();
1183
+ this.intl = intl;
1184
+ }
1185
+ async componentDidLoad() {
1186
+ this.initLegend();
1187
+ }
1188
+ async initLegend() {
1189
+ try {
1190
+ await this.reactiveUtils.whenOnce(() => { var _a; return (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.view; });
1191
+ this.legendvm.view.when(async () => {
1192
+ var _a, _b, _c, _d;
1193
+ try {
1194
+ // Initial data setup
1195
+ // Loads map/basemap
1196
+ const map = await ((_c = (_b = (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.map) === null || _c === void 0 ? void 0 : _c.load());
1197
+ await ((_d = map === null || map === void 0 ? void 0 : map.basemap) === null || _d === void 0 ? void 0 : _d.load());
1198
+ // Loads all layers in webmap and waits until all settled promises
1199
+ const allLayers = map === null || map === void 0 ? void 0 : map.allLayers;
1200
+ const promises = allLayers === null || allLayers === void 0 ? void 0 : allLayers.map(layer => layer.load());
1201
+ const settled = await Promise.allSettled(promises);
1202
+ const settledLayerPromises = settled
1203
+ .map(settledLayer => ((settledLayer === null || settledLayer === void 0 ? void 0 : settledLayer.status) === 'fulfilled' && (settledLayer === null || settledLayer === void 0 ? void 0 : settledLayer.value) ? settledLayer.value : null))
1204
+ .filter(layer => !!layer);
1205
+ // Wait until all layer views are settled/available
1206
+ const lvPromises = [];
1207
+ settledLayerPromises.forEach(layer => {
1208
+ var _a;
1209
+ if ((_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.view) {
1210
+ lvPromises.push(this.legendvm.view.whenLayerView(layer));
1211
+ }
1212
+ });
1213
+ await Promise.allSettled(lvPromises);
1214
+ // Generate data once all layers/layer views are complete
1215
+ const data = await generateData(this.legendvm, this.reactiveUtils);
1216
+ store.set('data', Object.assign(Object.assign({}, interactiveLegendState.data), data));
1217
+ this.isLoading = false;
1218
+ this.setupWatchersAndListeners();
1219
+ }
1220
+ catch (err) {
1221
+ console.error(err);
1222
+ this.isLoading = false;
1223
+ }
1224
+ });
1225
+ }
1226
+ catch (_a) {
1227
+ this.isLoading = false;
1228
+ }
1229
+ }
1230
+ disconnectedCallback() {
1231
+ var _a, _b;
1232
+ (_a = this.handles) === null || _a === void 0 ? void 0 : _a.removeAll();
1233
+ (_b = this.handles) === null || _b === void 0 ? void 0 : _b.destroy();
1234
+ this.handles = null;
1235
+ }
1236
+ render() {
1237
+ var _a, _b, _c;
1238
+ const filteredLayers = this.renderFilteredLayers();
1239
+ return this.isLoading ? (h("calcite-loader", { key: "interactive-legend-loader", scale: "m", label: (_a = this.messages) === null || _a === void 0 ? void 0 : _a.loading, text: (_b = this.messages) === null || _b === void 0 ? void 0 : _b.loading })) : (h("div", { key: "interactive-legend-classic-container", class: getTheme(this.el) }, (filteredLayers === null || filteredLayers === void 0 ? void 0 : filteredLayers.length) > 0 ? filteredLayers : h("div", { class: CSS.message }, (_c = this.messages) === null || _c === void 0 ? void 0 : _c.noLegend)));
1240
+ }
1241
+ renderFilteredLayers() {
1242
+ var _a, _b;
1243
+ const activeLayerInfos = (_b = (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.activeLayerInfos) === null || _b === void 0 ? void 0 : _b.toArray();
1244
+ return activeLayerInfos.map(activeLayerInfo => this.renderLegendForLayer(activeLayerInfo)).filter(layer => !!layer);
1245
+ }
1246
+ renderLegendForLayer(activeLayerInfo, isChild) {
1247
+ var _a, _b;
1248
+ if (!activeLayerInfo.ready) {
1249
+ return null;
1250
+ }
1251
+ const hasChildren = !!activeLayerInfo.children.length;
1252
+ if (hasChildren) {
1253
+ const layers = activeLayerInfo.children.map(childActiveLayerInfo => this.renderLegendForLayer(childActiveLayerInfo, true)).toArray();
1254
+ return (h("instant-apps-interactive-legend-group-legend-element", { class: getTheme(this.el), legendvm: this.legendvm, featureCount: this.featureCount, activeLayerInfo: activeLayerInfo, isChild: isChild }, h("div", { style: {
1255
+ paddingLeft: '20px',
1256
+ }, id: `${(_a = activeLayerInfo === null || activeLayerInfo === void 0 ? void 0 : activeLayerInfo.layer) === null || _a === void 0 ? void 0 : _a.id}-legend-layer`, slot: "content" }, layers)));
1257
+ }
1258
+ const legendElements = activeLayerInfo.legendElements;
1259
+ if (legendElements && !legendElements.length) {
1260
+ return null;
1261
+ }
1262
+ const filteredElements = legendElements
1263
+ .map((legendElement, legendElementIndex) => this.renderLegendForElement(legendElement, activeLayerInfo.layer, activeLayerInfo.effectList, activeLayerInfo, legendElementIndex))
1264
+ .filter(element => !!element);
1265
+ if (!filteredElements.length) {
1266
+ return null;
1267
+ }
1268
+ return (h("instant-apps-interactive-legend-layer-element", { class: getTheme(this.el), legendvm: this.legendvm, featureCount: this.featureCount, activeLayerInfo: activeLayerInfo, messages: this.messages, isChild: isChild }, h("div", { slot: "content", id: `${(_b = activeLayerInfo === null || activeLayerInfo === void 0 ? void 0 : activeLayerInfo.layer) === null || _b === void 0 ? void 0 : _b.id}-legend-layer`, class: CSS.layer }, filteredElements)));
1269
+ }
1270
+ renderLegendForElement(legendElement, layer, effectList, activeLayerInfo, legendElementIndex, isChild, parentLegendElementInfo) {
1271
+ const isColorRamp = legendElement.type === 'color-ramp', isOpacityRamp = legendElement.type === 'opacity-ramp', isSizeRamp = legendElement.type === 'size-ramp';
1272
+ let content = null;
1273
+ const isInteractive = validateInteractivity(activeLayerInfo, legendElement, legendElementIndex);
1274
+ // build symbol table or size ramp
1275
+ const isRelationshipRamp = (legendElement === null || legendElement === void 0 ? void 0 : legendElement.type) === 'relationship-ramp';
1276
+ if (legendElement.type === 'symbol-table' || isSizeRamp) {
1277
+ const rows = legendElement.infos
1278
+ .map((info, infoIndex) => {
1279
+ return this.renderLegendForElementInfo(info, layer, effectList, isSizeRamp, legendElement, activeLayerInfo, legendElementIndex, infoIndex, isInteractive, parentLegendElementInfo ? parentLegendElementInfo : null);
1280
+ })
1281
+ .filter((row) => !!row);
1282
+ if (rows.length) {
1283
+ content = h("div", { class: CSS.layerBody }, rows);
1284
+ }
1285
+ }
1286
+ else if (legendElement.type === 'color-ramp' || legendElement.type === 'opacity-ramp' || legendElement.type === 'heatmap-ramp' || legendElement.type === 'stretch-ramp') {
1287
+ content = this.renderLegendForRamp(legendElement, layer.opacity);
1288
+ }
1289
+ else if (legendElement.type === 'relationship-ramp') {
1290
+ content = (h("instant-apps-interactive-legend-relationship", { class: getTheme(this.el), key: "relationship-ramp", filterMode: this.filterMode, activeLayerInfo: activeLayerInfo, legendElement: legendElement, messages: this.messages }));
1291
+ }
1292
+ else if (legendElement.type === 'pie-chart-ramp') {
1293
+ content = this.renderPieChartRamp(legendElement);
1294
+ }
1295
+ else if (legendElement.type === 'univariate-above-and-below-ramp') {
1296
+ content = this.renderUnivariateAboveAndBelowRamp(legendElement, layer.opacity, effectList);
1297
+ }
1298
+ else if (legendElement.type === 'univariate-color-size-ramp') {
1299
+ content = this.renderUnivariateColorSizeRamp(legendElement, layer.opacity, effectList);
1300
+ }
1301
+ if (!content)
1302
+ return null;
1303
+ const titleObj = legendElement.title;
1304
+ let title = null;
1305
+ if (typeof titleObj === 'string') {
1306
+ title = titleObj;
1307
+ }
1308
+ else if (titleObj) {
1309
+ const genTitle = this.getTitle(this.messages, titleObj, isColorRamp || isOpacityRamp);
1310
+ if (this.isRendererTitle(titleObj, isColorRamp || isOpacityRamp) && titleObj.title) {
1311
+ title = `${titleObj.title} (${genTitle})`;
1312
+ }
1313
+ else {
1314
+ title = genTitle;
1315
+ }
1316
+ }
1317
+ return (h("instant-apps-interactive-legend-legend-element", { class: getTheme(this.el), activeLayerInfo: activeLayerInfo, isSizeRamp: isSizeRamp, isChild: isChild, isColorRamp: isColorRamp, isRelationshipRamp: isRelationshipRamp, isInteractive: isInteractive, zoomTo: this.zoomTo, legendElement: legendElement, titleText: title, legendvm: this.legendvm, legendElementIndex: legendElementIndex, messages: this.messages }, h("div", { slot: "content" }, content)));
1318
+ }
1319
+ renderPieChartRamp(legendElement) {
1320
+ var _a;
1321
+ return h("div", { innerHTML: `${(_a = legendElement.preview) === null || _a === void 0 ? void 0 : _a.outerHTML}` });
1322
+ }
1323
+ async renderUnivariateAboveAndBelowRamp(legendElement, opacity, effectList) {
1324
+ const { sizeRampElement, colorRampElement } = getUnivariateAboveAndBelowRampElements(legendElement, opacity);
1325
+ if (!sizeRampElement) {
1326
+ return null;
1327
+ }
1328
+ const colorRampAboveHeight = getUnivariateColorRampSize(sizeRampElement, 'above', true);
1329
+ const colorRampBelowHeight = getUnivariateColorRampSize(sizeRampElement, 'below', true);
1330
+ const colorRampWidth = 12;
1331
+ const colorRampAbovePreview = (await getUnivariateColorRampPreview(colorRampElement, {
1332
+ width: colorRampWidth,
1333
+ height: colorRampAboveHeight,
1334
+ rampAlignment: 'vertical',
1335
+ opacity,
1336
+ type: 'above',
1337
+ effectList,
1338
+ }));
1339
+ const colorRampBelowPreview = (await getUnivariateColorRampPreview(colorRampElement, {
1340
+ width: colorRampWidth,
1341
+ height: colorRampBelowHeight,
1342
+ rampAlignment: 'vertical',
1343
+ opacity,
1344
+ type: 'below',
1345
+ effectList,
1346
+ }));
1347
+ const colorRampTopMargin = getUnivariateColorRampMargin(sizeRampElement);
1348
+ const labels = sizeRampElement.infos.map(stop => stop.label);
1349
+ const aboveRampLabels = labels.map((label, index) => {
1350
+ const isStartLabel = index === 0;
1351
+ const isMidLabel = index === 2;
1352
+ return isStartLabel ? h("div", { class: label ? (colorRampAbovePreview ? CSS.univariateAboveAndBelowLabel : CSS.rampLabel) : '' }, label) : isMidLabel ? h("div", null) : null;
1353
+ });
1354
+ const endIndex = labels.length - 1;
1355
+ const midIndex = Math.floor(labels.length / 2);
1356
+ const belowRampLabels = labels.map((label, index) => {
1357
+ const isEndLabel = index === endIndex;
1358
+ const isMidLabel = index === midIndex;
1359
+ return isMidLabel || isEndLabel ? h("div", { class: label ? (colorRampAbovePreview ? CSS.univariateAboveAndBelowLabel : CSS.rampLabel) : '' }, label) : null;
1360
+ });
1361
+ const sizeRampPreviewStyles = { display: 'table-cell', verticalAlign: 'middle' };
1362
+ const colorRampPreviewStyles = { marginTop: `${colorRampTopMargin}px` };
1363
+ const colorRampAboveLabelStyles = { height: `${colorRampAboveHeight}px` };
1364
+ const colorRampBelowLabelStyles = { height: `${colorRampBelowHeight}px` };
1365
+ return (h("div", { key: "univariate-above-and-below-ramp-preview", style: univariateRampContainerStyles }, h("div", { class: CSS.layerBody }, sizeRampElement.infos.map((info, i) => (h("div", { class: `${CSS.layerRow} ${CSS.sizeRamp}` }, h("div", { class: CSS.symbol, style: sizeRampPreviewStyles, innerHTML: `${info.preview.outerHTML}` }), !colorRampAbovePreview && i % 2 === 0 ? h("div", { class: CSS.layerInfo }, labels[i]) : null)))), colorRampAbovePreview ? (h("div", { style: colorRampPreviewStyles, key: "color-ramp-preview" }, h("div", { style: univariateColorRampContainerStyles }, h("div", { style: univariateColorRampStyles }, h("div", { class: CSS.rampContainer }, colorRampAbovePreview)), h("div", { style: univariateColorRampStyles }, h("div", { class: CSS.rampLabelsContainer, style: colorRampAboveLabelStyles }, aboveRampLabels))), h("div", { style: univariateColorRampContainerStyles }, h("div", { style: univariateColorRampStyles }, h("div", { class: CSS.rampContainer }, colorRampBelowPreview)), h("div", { style: univariateColorRampStyles }, h("div", { class: CSS.rampLabelsContainer, style: colorRampBelowLabelStyles }, belowRampLabels))))) : null));
1366
+ }
1367
+ renderUnivariateColorSizeRamp(legendElement, opacity, effectList) {
1368
+ const { sizeRampElement, colorRampElement } = getUnivariateColorSizeRampElements(legendElement);
1369
+ if (!sizeRampElement) {
1370
+ return null;
1371
+ }
1372
+ const colorRampTopMargin = getUnivariateColorRampMargin(sizeRampElement);
1373
+ const colorRampWidth = 12;
1374
+ const colorRampHeight = getUnivariateColorRampSize(sizeRampElement, 'full', false);
1375
+ const colorRampPreview = getUnivariateColorRampPreview(colorRampElement, {
1376
+ width: colorRampWidth,
1377
+ height: colorRampHeight,
1378
+ rampAlignment: 'vertical',
1379
+ opacity,
1380
+ type: 'full',
1381
+ effectList,
1382
+ });
1383
+ const endIndex = sizeRampElement.infos.length - 1;
1384
+ const labels = sizeRampElement.infos.map((stop, index) => index === 0 || index === endIndex ? h("div", { class: stop.label ? (colorRampElement ? CSS.univariateAboveAndBelowLabel : CSS.rampLabel) : '' }, stop.label) : null);
1385
+ const sizeRampPreviewStyles = { display: 'table-cell', verticalAlign: 'middle' };
1386
+ const colorRampPreviewStyles = { marginTop: `${colorRampTopMargin}px` };
1387
+ const colorRampLabelStyles = { height: `${colorRampHeight}px` };
1388
+ return (h("div", { key: "univariate-above-and-below-ramp-preview", style: univariateRampContainerStyles }, h("div", { class: CSS.layerBody }, sizeRampElement.infos.map(info => (h("div", { class: `${CSS.layerRow} ${CSS.sizeRamp}` }, h("div", { class: CSS.symbol, style: sizeRampPreviewStyles, innerHTML: `${info.preview.outerHTML}` }))))), h("div", { style: colorRampPreviewStyles, key: "color-ramp-preview" }, h("div", { style: univariateColorRampContainerStyles }, h("div", { style: univariateColorRampStyles }, h("div", { class: CSS.rampContainer }, colorRampPreview)), h("div", { style: univariateColorRampStyles }, h("div", { class: CSS.rampLabelsContainer, style: colorRampLabelStyles }, labels))))));
1389
+ }
1390
+ renderLegendForRamp(legendElement, opacity) {
1391
+ var _a;
1392
+ const rampStops = legendElement.infos;
1393
+ const isOpacityRamp = legendElement.type === 'opacity-ramp';
1394
+ const isHeatmapRamp = legendElement.type === 'heatmap-ramp';
1395
+ const isStretchRamp = legendElement.type === 'stretch-ramp';
1396
+ const rampDiv = legendElement.preview;
1397
+ const opacityRampClass = isOpacityRamp ? CSS.opacityRamp : '';
1398
+ if (rampDiv) {
1399
+ rampDiv.classList.add(CSS.colorRamp);
1400
+ if (opacityRampClass)
1401
+ rampDiv.classList.add(opacityRampClass);
1402
+ }
1403
+ if (opacity != null && rampDiv) {
1404
+ rampDiv.style.opacity = opacity.toString();
1405
+ }
1406
+ const labelsContent = rampStops.map(stop => (h("div", { class: stop.label ? CSS.rampLabel : '' }, isHeatmapRamp ? this.messages[stop.label] || stop.label : isStretchRamp ? this.getStretchStopLabel(stop) : stop.label)));
1407
+ const symbolContainerStyles = { width: `${GRADIENT_WIDTH}px` }, rampLabelsContainerStyles = { height: (_a = rampDiv === null || rampDiv === void 0 ? void 0 : rampDiv.style) === null || _a === void 0 ? void 0 : _a.height };
1408
+ return (h("div", { class: CSS.layerRow }, h("div", { class: CSS.symbolContainer, style: Object.assign({}, symbolContainerStyles) }, h("div", { ref: el => {
1409
+ var _a;
1410
+ if (el === null || el === void 0 ? void 0 : el.firstChild)
1411
+ (_a = el === null || el === void 0 ? void 0 : el.firstChild) === null || _a === void 0 ? void 0 : _a.remove();
1412
+ el === null || el === void 0 ? void 0 : el.appendChild(rampDiv);
1413
+ }, class: CSS.rampContainer })), h("div", { class: CSS.layerInfo }, h("div", { class: CSS.rampLabelsContainer, style: Object.assign({}, rampLabelsContainerStyles) }, labelsContent))));
1414
+ }
1415
+ getStretchStopLabel(stop) {
1416
+ return stop.label
1417
+ ? this.messages[stop.label] +
1418
+ ': ' +
1419
+ (typeof stop.value === 'string'
1420
+ ? stop.value
1421
+ : this.intl.formatNumber(stop.value, {
1422
+ style: 'decimal',
1423
+ notation: stop.value.toString().includes('e') ? 'scientific' : 'standard',
1424
+ }))
1425
+ : '';
1426
+ }
1427
+ renderLegendForElementInfo(elementInfo, layer, effectList, isSizeRamp, legendElement, activeLayerInfo, legendElementIndex, infoIndex, isInteractive, parentLegendElementInfo) {
1428
+ var _a, _b;
1429
+ // nested
1430
+ if (elementInfo.type) {
1431
+ return this.renderLegendForElement(elementInfo, layer, effectList, activeLayerInfo, legendElementIndex, true, elementInfo);
1432
+ }
1433
+ let content;
1434
+ const isStretched = !isImageryStretchedLegend(layer, legendElement.type);
1435
+ if (elementInfo.preview) {
1436
+ content = h("div", { class: CSS.symbol, innerHTML: `${elementInfo.preview.outerHTML}` });
1437
+ }
1438
+ else if (elementInfo.src) {
1439
+ content = this.renderImage(elementInfo, layer, isStretched);
1440
+ }
1441
+ if (!content) {
1442
+ return null;
1443
+ }
1444
+ const imageryLayerInfoStretched = isStretched ? ` ${CSS.imageryLayerInfoStretched}` : '';
1445
+ const sizeRamp = !isStretched && isSizeRamp ? ` ${CSS.sizeRamp}` : '';
1446
+ let selected;
1447
+ const data = getIntLegendLayerData(layer);
1448
+ const parentLegendElementInfoData = getParentLegendElementInfoData(data, parentLegendElementInfo);
1449
+ if (interactiveLegendState.data) {
1450
+ const category = getCategoryData(data, layer, elementInfo, parentLegendElementInfoData, infoIndex);
1451
+ // If no items are selected, then apply 'selected' style to all -- UX
1452
+ const intLegendData = (parentLegendElementInfoData ? parentLegendElementInfoData === null || parentLegendElementInfoData === void 0 ? void 0 : parentLegendElementInfoData.nestedInfos : data);
1453
+ const noneSelected = checkNoneSelected(intLegendData);
1454
+ selected = ((_a = data === null || data === void 0 ? void 0 : data.categories) === null || _a === void 0 ? void 0 : _a.size) === 1 ? !(category === null || category === void 0 ? void 0 : category.selected) : noneSelected || (category === null || category === void 0 ? void 0 : category.selected);
1455
+ }
1456
+ const interactive = parentLegendElementInfoData && !(elementInfo === null || elementInfo === void 0 ? void 0 : elementInfo.value) ? false : isInteractive;
1457
+ return interactive ? (
1458
+ // Regular LegendElementInfo
1459
+ h("button", { onClick: this.applyFilter(elementInfo, layer, infoIndex, parentLegendElementInfo), class: `${CSS.layerRow} ${CSS.interactiveLayerRow}${selected ? ` ${CSS.infoSelected}` : ''}` }, h("div", { class: `${CSS.symbolContainer}${imageryLayerInfoStretched}${sizeRamp}` }, content), h("div", { class: `${CSS.layerInfo}${imageryLayerInfoStretched}` }, this.getTitle(this.messages, elementInfo.label, false) || ''), this.featureCount ? (h("instant-apps-interactive-legend-count", { class: getTheme(this.el), categoryId: parentLegendElementInfoData ? legendElement.title : (_b = elementInfo.label) !== null && _b !== void 0 ? _b : layer === null || layer === void 0 ? void 0 : layer.id, activeLayerInfo: activeLayerInfo, legendvm: this.legendvm, messages: this.messages, selected: selected, legendElement: legendElement, infoIndex: infoIndex })) : null)) : (h("div", { class: CSS.layerRow }, h("div", { class: `${CSS.symbolContainer}${imageryLayerInfoStretched}${sizeRamp}` }, content), h("div", { class: `${CSS.layerInfo}${imageryLayerInfoStretched}` }, this.getTitle(this.messages, elementInfo.label, false) || '')));
1460
+ }
1461
+ renderImage(elementInfo, layer, isStretched) {
1462
+ const { label, src, opacity } = elementInfo;
1463
+ const imageryLayerStretchedImage = isStretched ? ` ${CSS.imageryLayerStretchedImage}` : '';
1464
+ const symbol = !isStretched ? ` ${CSS.symbol}` : '';
1465
+ const dynamicStyles = {
1466
+ opacity: `${opacity != null ? opacity : layer.opacity}`,
1467
+ };
1468
+ return (h("img", { alt: this.getTitle(this.messages, label, false), src: src,
1469
+ // border={0}
1470
+ width: elementInfo.width, height: elementInfo.height, class: `$${imageryLayerStretchedImage}${symbol}`, style: dynamicStyles }));
1471
+ }
1472
+ getTitle(messages, titleInfo, // RendererTitle | DotDensityTitle | RampTitle | StretchMultibandTitle | ClusterTitle | string,
1473
+ isRamp) {
1474
+ var _a, _b;
1475
+ if (!titleInfo) {
1476
+ return undefined;
1477
+ }
1478
+ if (typeof titleInfo === 'string' || typeof titleInfo === 'number') {
1479
+ return titleInfo;
1480
+ }
1481
+ if ('value' in titleInfo || 'unit' in titleInfo) {
1482
+ return this.intl.substitute((_a = messages === null || messages === void 0 ? void 0 : messages.dotValue) !== null && _a !== void 0 ? _a : '', titleInfo);
1483
+ }
1484
+ if ('colorName' in titleInfo || 'bandName' in titleInfo) {
1485
+ return messages[titleInfo.colorName] + ': ' + (messages[titleInfo.bandName] || titleInfo.bandName);
1486
+ }
1487
+ if ('showCount' in titleInfo) {
1488
+ return titleInfo.showCount ? messages['clusterCountTitle'] : null;
1489
+ }
1490
+ // let bundleKey: "showField" | keyof LegendMessages = null;
1491
+ let bundleKey = null;
1492
+ if (this.isRampTitle(titleInfo, isRamp)) {
1493
+ bundleKey = titleInfo.ratioPercentTotal
1494
+ ? 'showRatioPercentTotal'
1495
+ : titleInfo.ratioPercent
1496
+ ? 'showRatioPercent'
1497
+ : titleInfo.ratio
1498
+ ? 'showRatio'
1499
+ : titleInfo.normField
1500
+ ? 'showNormField'
1501
+ : titleInfo.field
1502
+ ? 'showField'
1503
+ : null;
1504
+ }
1505
+ else if (this.isRendererTitle(titleInfo, isRamp)) {
1506
+ bundleKey = titleInfo.normField ? 'showNormField' : titleInfo.normByPct ? 'showNormPct' : titleInfo.field ? 'showField' : null;
1507
+ }
1508
+ return bundleKey
1509
+ ? (_b = this.intl) === null || _b === void 0 ? void 0 : _b.substitute(bundleKey === 'showField' ? '{field}' : messages[bundleKey], {
1510
+ field: titleInfo.field,
1511
+ normField: titleInfo.normField,
1512
+ })
1513
+ : '';
1514
+ }
1515
+ isRampTitle(_titleInfo, isRamp) {
1516
+ return isRamp;
1517
+ }
1518
+ isRendererTitle(_titleInfo, isRamp) {
1519
+ return !isRamp;
1520
+ }
1521
+ setupWatchersAndListeners() {
1522
+ // Refreshes interactive legend data on active layer info update
1523
+ var _a, _b, _c, _d, _e, _f;
1524
+ const featureLayers = (_d = (_c = (_b = (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.map) === null || _c === void 0 ? void 0 : _c.allLayers) === null || _d === void 0 ? void 0 : _d.filter(layer => (layer === null || layer === void 0 ? void 0 : layer.type) === 'feature');
1525
+ featureLayers.forEach(async (fLayer) => {
1526
+ var _a, _b, _c, _d;
1527
+ try {
1528
+ const fLayerView = await ((_b = (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.whenLayerView(fLayer));
1529
+ const id = `fLayerViewScale-${fLayer === null || fLayer === void 0 ? void 0 : fLayer.id}`;
1530
+ if (!((_c = this.handles) === null || _c === void 0 ? void 0 : _c.has(id))) {
1531
+ (_d = this.handles) === null || _d === void 0 ? void 0 : _d.add(fLayerView.watch('visibleAtCurrentScale', async () => this.createDataForLayer(fLayer)), id);
1532
+ }
1533
+ }
1534
+ catch (_e) { }
1535
+ });
1536
+ featureLayers === null || featureLayers === void 0 ? void 0 : featureLayers.forEach(fLayer => {
1537
+ var _a, _b, _c;
1538
+ const id = `fLayer-${fLayer === null || fLayer === void 0 ? void 0 : fLayer.id}`;
1539
+ if (!((_a = this.handles) === null || _a === void 0 ? void 0 : _a.has(id))) {
1540
+ (_b = this.handles) === null || _b === void 0 ? void 0 : _b.add((_c = this.reactiveUtils) === null || _c === void 0 ? void 0 : _c.watch(() => fLayer === null || fLayer === void 0 ? void 0 : fLayer.visible, async () => this.createDataForLayer(fLayer)), id);
1541
+ }
1542
+ });
1543
+ (_e = this.handles) === null || _e === void 0 ? void 0 : _e.add(this.reactiveUtils.when(() => this.legendvm, () => {
1544
+ this.reactiveUtils.watch(() => { var _a, _b; return (_b = (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.updating; }, () => {
1545
+ var _a, _b;
1546
+ if (this.calculatingFeatureCount)
1547
+ return;
1548
+ if ((_b = (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.updating) {
1549
+ this.calculatingFeatureCount = true;
1550
+ this.reactiveUtils.when(() => { var _a, _b; return !((_b = (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.updating); }, async () => {
1551
+ const data = await handleFeatureCount(this.legendvm, interactiveLegendState.data);
1552
+ store.set('data', Object.assign(Object.assign({}, interactiveLegendState.data), data));
1553
+ this.calculatingFeatureCount = false;
1554
+ }, { once: true, initial: true });
1555
+ }
1556
+ }, { initial: true });
1557
+ }, { initial: true, once: true }));
1558
+ (_f = this.handles) === null || _f === void 0 ? void 0 : _f.add(this.reactiveUtils.on(() => { var _a; return (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.activeLayerInfos; }, 'change', async (activeLayerInfo) => {
1559
+ var _a;
1560
+ const data = await generateData(this.legendvm, this.reactiveUtils);
1561
+ store.set('data', Object.assign(Object.assign({}, interactiveLegendState.data), data));
1562
+ forceUpdate(this.el);
1563
+ (_a = this.handles) === null || _a === void 0 ? void 0 : _a.add(this.reactiveUtils.on(() => activeLayerInfo.children, 'change', async () => {
1564
+ const data = await generateData(this.legendvm, this.reactiveUtils);
1565
+ store.set('data', Object.assign(Object.assign({}, interactiveLegendState.data), data));
1566
+ forceUpdate(this.el);
1567
+ }));
1568
+ }));
1569
+ }
1570
+ async createDataForLayer(fLayer) {
1571
+ var _a, _b;
1572
+ const data = store.get('data');
1573
+ const dataForLayer = data === null || data === void 0 ? void 0 : data[fLayer === null || fLayer === void 0 ? void 0 : fLayer.id];
1574
+ const acl = (_b = (_a = this.legendvm) === null || _a === void 0 ? void 0 : _a.activeLayerInfos) === null || _b === void 0 ? void 0 : _b.find(acl => { var _a; return ((_a = acl === null || acl === void 0 ? void 0 : acl.layer) === null || _a === void 0 ? void 0 : _a.id) === (fLayer === null || fLayer === void 0 ? void 0 : fLayer.id); });
1575
+ if (!dataForLayer && acl) {
1576
+ const dataForLayer = (await createInteractiveLegendDataForLayer(this.legendvm, acl, this.reactiveUtils));
1577
+ updateStore({ intLegendLayerData: dataForLayer, layerId: fLayer === null || fLayer === void 0 ? void 0 : fLayer.id });
1578
+ if (this.featureCount) {
1579
+ const data = await handleFeatureCount(this.legendvm, interactiveLegendState.data);
1580
+ store.set('data', Object.assign(Object.assign({}, interactiveLegendState.data), data));
1581
+ }
1582
+ }
1583
+ }
1584
+ applyFilter(elementInfo, layer, infoIndex, parentLegendElementInfo) {
1585
+ return async () => {
1586
+ var _a;
1587
+ const dataFromActiveLayerInfo = Object.assign({}, (_a = interactiveLegendState.data) === null || _a === void 0 ? void 0 : _a[layer === null || layer === void 0 ? void 0 : layer.id]);
1588
+ if (parentLegendElementInfo) {
1589
+ await handleFilter(dataFromActiveLayerInfo, elementInfo, infoIndex, this.filterMode, parentLegendElementInfo);
1590
+ }
1591
+ else {
1592
+ await handleFilter(dataFromActiveLayerInfo, elementInfo, infoIndex, this.filterMode);
1593
+ }
1594
+ updateStore({ intLegendLayerData: dataFromActiveLayerInfo, layerId: layer === null || layer === void 0 ? void 0 : layer.id });
1595
+ };
1596
+ }
1597
+ get el() { return getElement(this); }
1598
+ static get watchers() { return {
1599
+ "filterMode": ["handleFilterModeChange"]
1600
+ }; }
1601
+ };
1602
+ InstantAppsInteractiveLegendClassic.style = instantAppsInteractiveLegendClassicCss;
1603
+
1604
+ export { InstantAppsInteractiveLegendClassic as instant_apps_interactive_legend_classic };