@arcgis/portal-components 5.2.0-next.9 → 5.2.0-next.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/LICENSE.md +4 -2
  2. package/README.md +2 -2
  3. package/dist/cdn/2GBRZSEC.js +2 -0
  4. package/dist/cdn/2T33E2DS.js +2 -0
  5. package/dist/cdn/2VGYRITT.js +2 -0
  6. package/dist/cdn/3HAZNYCD.js +2 -0
  7. package/dist/cdn/{GQFWFZXP.js → 3OBIA66A.js} +1 -1
  8. package/dist/cdn/3YCG5UCH.js +2 -0
  9. package/dist/cdn/433M2GP4.js +2 -0
  10. package/dist/cdn/47ZPCFHE.js +2 -0
  11. package/dist/cdn/4QA4AYHJ.js +3 -0
  12. package/dist/cdn/546M6SVH.js +2 -0
  13. package/dist/cdn/5Q7A62C3.js +660 -0
  14. package/dist/cdn/5YCQRL4K.js +2 -0
  15. package/dist/cdn/{7WZHZP6U.js → 63THOLAY.js} +9 -3
  16. package/dist/cdn/6KVA4AKM.js +2 -0
  17. package/dist/cdn/6TO2BYXU.js +2 -0
  18. package/dist/cdn/6XLTWENT.js +2 -0
  19. package/dist/cdn/7FVPT4SA.js +2 -0
  20. package/dist/cdn/{LAFNDBTQ.js → 7HHPKD5C.js} +1 -1
  21. package/dist/cdn/7OR2HKBV.js +2 -0
  22. package/dist/cdn/7SB7JHBR.js +2 -0
  23. package/dist/cdn/{QNUYUNEY.js → 7XD6KSXV.js} +1 -1
  24. package/dist/cdn/AMBLICID.js +2 -0
  25. package/dist/cdn/BMZFIENS.js +66 -0
  26. package/dist/cdn/{DHHSKOUY.js → BTSXQQKZ.js} +2 -2
  27. package/dist/cdn/{DKBTJJMW.js → C7ZFXRPS.js} +1 -1
  28. package/dist/cdn/CBXQFKN5.js +2 -0
  29. package/dist/cdn/CFBSBZSS.js +2 -0
  30. package/dist/cdn/CNDTRZJT.js +2 -0
  31. package/dist/cdn/CVOWIH4J.js +2 -0
  32. package/dist/cdn/DCIRWNQL.js +2 -0
  33. package/dist/cdn/DN2QW5FV.js +2 -0
  34. package/dist/cdn/E7MAKHJ5.js +2 -0
  35. package/dist/cdn/EUWBMLIT.js +2 -0
  36. package/dist/cdn/EZNTXOKK.js +2 -0
  37. package/dist/cdn/F3ODJVJC.js +2 -0
  38. package/dist/cdn/GJ7GKO7I.js +2 -0
  39. package/dist/cdn/H4L2DX4R.js +2 -0
  40. package/dist/cdn/H76EB2WF.js +2 -0
  41. package/dist/cdn/HNWQS7DU.js +2 -0
  42. package/dist/cdn/I2KQQXOO.js +2 -0
  43. package/dist/cdn/IJ3CLFAU.js +22 -0
  44. package/dist/cdn/ILDTKRON.js +2 -0
  45. package/dist/cdn/JCYCRSPL.js +451 -0
  46. package/dist/cdn/K42KPAN7.js +2 -0
  47. package/dist/cdn/KA4XSW6O.js +2 -0
  48. package/dist/cdn/KIKZIZGV.js +2 -0
  49. package/dist/cdn/{3PAHY5KA.js → KNRJ3WXR.js} +1 -1
  50. package/dist/cdn/KQCTBRGJ.js +2 -0
  51. package/dist/cdn/KYNL256E.js +2 -0
  52. package/dist/cdn/{F6V7MLPY.js → L6KBBJEC.js} +1 -1
  53. package/dist/cdn/LTHZ2TRG.js +2 -0
  54. package/dist/cdn/{WOZDQW3S.js → MRHDSM6U.js} +1 -1
  55. package/dist/cdn/NQQLTGIK.js +2 -0
  56. package/dist/cdn/NVGQFC2K.js +2 -0
  57. package/dist/cdn/O3JIWIMI.js +2 -0
  58. package/dist/cdn/O6ZQ4BRU.js +2 -0
  59. package/dist/cdn/O7KHFGHS.js +2 -0
  60. package/dist/cdn/OBBYT2AV.js +2 -0
  61. package/dist/cdn/OEMNHYK6.js +2 -0
  62. package/dist/cdn/OHEUIODH.js +2 -0
  63. package/dist/cdn/OOH5B3WJ.js +2 -0
  64. package/dist/cdn/{53MSUMA3.js → OT4PZJNB.js} +17 -1
  65. package/dist/cdn/OUFIJDIW.js +2 -0
  66. package/dist/cdn/P4ELMYQQ.js +2 -0
  67. package/dist/cdn/P6DWFLYH.js +2 -0
  68. package/dist/cdn/{ZTHTFEYA.js → PF3TB3QZ.js} +1 -1
  69. package/dist/cdn/PJLV3EQS.js +2 -0
  70. package/dist/cdn/Q54ZD7WJ.js +2 -0
  71. package/dist/cdn/QE4CNVDQ.js +34 -0
  72. package/dist/cdn/QH47GJCC.js +2 -0
  73. package/dist/cdn/{AQWTJKUH.js → QKCV7CY2.js} +10 -8
  74. package/dist/cdn/{LQ3DMZ3K.js → QLHCXOVQ.js} +1 -1
  75. package/dist/cdn/QNCSWTTL.js +2 -0
  76. package/dist/cdn/QS3GXAIH.js +2 -0
  77. package/dist/cdn/R5BQIF6P.js +2 -0
  78. package/dist/cdn/RBGARTND.js +2 -0
  79. package/dist/cdn/RBQG66FL.js +2 -0
  80. package/dist/cdn/RDAUPHB6.js +2 -0
  81. package/dist/cdn/RVWAHK4A.js +2 -0
  82. package/dist/cdn/SFD33DHG.js +2 -0
  83. package/dist/cdn/SKRCLDPZ.js +2 -0
  84. package/dist/cdn/SLTFLCVR.js +99 -0
  85. package/dist/cdn/SXBAVMP3.js +2 -0
  86. package/dist/cdn/{GT26WGJS.js → T3LU5V74.js} +1 -1
  87. package/dist/cdn/T7FVQDHN.js +2 -0
  88. package/dist/cdn/TB4YQUMO.js +2 -0
  89. package/dist/cdn/{DXCPWJU4.js → TKCE4WYE.js} +1 -1
  90. package/dist/cdn/UZLQALHY.js +2 -0
  91. package/dist/cdn/{RR4BIAPA.js → V4EYW3O6.js} +1 -1
  92. package/dist/cdn/VMQIDO4Z.js +2 -0
  93. package/dist/cdn/{74XFARCV.js → VW7DSKPH.js} +1 -1
  94. package/dist/cdn/W2SYL7IJ.js +71 -0
  95. package/dist/cdn/{W6PSG4GX.js → W4FGRGLV.js} +10 -5
  96. package/dist/cdn/{SYJSVUUR.js → W4SAWMXS.js} +1 -1
  97. package/dist/cdn/W7O7ZYZ4.js +2 -0
  98. package/dist/cdn/WBZLQZYR.js +134 -0
  99. package/dist/cdn/WNYL4EZA.js +2 -0
  100. package/dist/cdn/WYLEYSM3.js +2 -0
  101. package/dist/cdn/XEK22IDA.js +2 -0
  102. package/dist/cdn/YMLZCVEI.js +2 -0
  103. package/dist/cdn/YS2SZ3DL.js +2 -0
  104. package/dist/cdn/YVKSTDL6.js +2 -0
  105. package/dist/cdn/YWNUWLOL.js +2 -0
  106. package/dist/cdn/YZNRN2K5.js +2 -0
  107. package/dist/cdn/ZGNXS6U5.js +2 -0
  108. package/dist/cdn/ZTGGJIVB.js +2 -0
  109. package/dist/cdn/assets/portal-account-switcher/t9n/messages.en.json +1 -0
  110. package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.en.json +1 -0
  111. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.en.json +1 -1
  112. package/dist/cdn/assets/portal-browser/t9n/messages.en.json +1 -0
  113. package/dist/cdn/assets/portal-group-browser/t9n/messages.en.json +1 -0
  114. package/dist/cdn/assets/portal-group-card/t9n/messages.en.json +1 -1
  115. package/dist/cdn/assets/portal-item-badges/t9n/messages.en.json +1 -0
  116. package/dist/cdn/assets/portal-item-card/t9n/messages.en.json +1 -0
  117. package/dist/cdn/assets/portal-item-favorite/t9n/messages.en.json +1 -0
  118. package/dist/cdn/assets/portal-item-type/icons/applicationtheme16.svg +1 -0
  119. package/dist/cdn/assets/portal-item-type/icons/applicationtheme32.svg +1 -0
  120. package/dist/cdn/assets/portal-item-type/icons/knowledgegraphconfiguration16.svg +1 -0
  121. package/dist/cdn/assets/portal-item-type/icons/knowledgegraphconfiguration32.svg +1 -0
  122. package/dist/cdn/assets/portal-item-type/icons/layout16.svg +1 -0
  123. package/dist/cdn/assets/portal-item-type/icons/layout32.svg +1 -0
  124. package/dist/cdn/assets/portal-item-type/icons/parquetfeaturelayer16.svg +1 -0
  125. package/dist/cdn/assets/portal-item-type/icons/parquetfeaturelayer32.svg +1 -0
  126. package/dist/cdn/assets/portal-item-type/icons/storymapframe16.svg +1 -0
  127. package/dist/cdn/assets/portal-item-type/icons/storymapframe32.svg +1 -0
  128. package/dist/cdn/assets/portal-item-type/t9n/messages.en.json +1 -1
  129. package/dist/cdn/assets/portal-navigation/apps/api-for-python.avif +0 -0
  130. package/dist/cdn/assets/portal-navigation/apps/appstudio.avif +0 -0
  131. package/dist/cdn/assets/portal-navigation/apps/arcade.avif +0 -0
  132. package/dist/cdn/assets/portal-navigation/apps/arcgis-360-vr.avif +0 -0
  133. package/dist/cdn/assets/portal-navigation/apps/arcgis-earth.avif +0 -0
  134. package/dist/cdn/assets/portal-navigation/apps/arcgis-enterprise.avif +0 -0
  135. package/dist/cdn/assets/portal-navigation/apps/arcgis-experience-builder.avif +0 -0
  136. package/dist/cdn/assets/portal-navigation/apps/arcgis-geoanalytics.avif +0 -0
  137. package/dist/cdn/assets/portal-navigation/apps/arcgis-hub.avif +0 -0
  138. package/dist/cdn/assets/portal-navigation/apps/arcgis-online.avif +0 -0
  139. package/dist/cdn/assets/portal-navigation/apps/arcgis-pro.avif +0 -0
  140. package/dist/cdn/assets/portal-navigation/apps/arcgis-reality-studio.avif +0 -0
  141. package/dist/cdn/assets/portal-navigation/apps/arcgis-urban.avif +0 -0
  142. package/dist/cdn/assets/portal-navigation/apps/blank.avif +0 -0
  143. package/dist/cdn/assets/portal-navigation/apps/business-analyst.avif +0 -0
  144. package/dist/cdn/assets/portal-navigation/apps/city-engine.avif +0 -0
  145. package/dist/cdn/assets/portal-navigation/apps/collector.avif +0 -0
  146. package/dist/cdn/assets/portal-navigation/apps/community-analyst.avif +0 -0
  147. package/dist/cdn/assets/portal-navigation/apps/configurable-apps.avif +0 -0
  148. package/dist/cdn/assets/portal-navigation/apps/dashboards-beta.avif +0 -0
  149. package/dist/cdn/assets/portal-navigation/apps/dashboards-classic.avif +0 -0
  150. package/dist/cdn/assets/portal-navigation/apps/data-pipelines.avif +0 -0
  151. package/dist/cdn/assets/portal-navigation/apps/deeplearningstudio.avif +0 -0
  152. package/dist/cdn/assets/portal-navigation/apps/demographics.avif +0 -0
  153. package/dist/cdn/assets/portal-navigation/apps/drone2map.avif +0 -0
  154. package/dist/cdn/assets/portal-navigation/apps/esri-events.avif +0 -0
  155. package/dist/cdn/assets/portal-navigation/apps/essential-apps.avif +0 -0
  156. package/dist/cdn/assets/portal-navigation/apps/excalibur.avif +0 -0
  157. package/dist/cdn/assets/portal-navigation/apps/explorer.avif +0 -0
  158. package/dist/cdn/assets/portal-navigation/apps/field-apps.avif +0 -0
  159. package/dist/cdn/assets/portal-navigation/apps/fieldmaps-beta.avif +0 -0
  160. package/dist/cdn/assets/portal-navigation/apps/fieldmaps-ea.avif +0 -0
  161. package/dist/cdn/assets/portal-navigation/apps/fieldmaps.avif +0 -0
  162. package/dist/cdn/assets/portal-navigation/apps/generic-app.avif +0 -0
  163. package/dist/cdn/assets/portal-navigation/apps/geobim.avif +0 -0
  164. package/dist/cdn/assets/portal-navigation/apps/geoplanner.avif +0 -0
  165. package/dist/cdn/assets/portal-navigation/apps/grid-view-9.avif +0 -0
  166. package/dist/cdn/assets/portal-navigation/apps/indoor.avif +0 -0
  167. package/dist/cdn/assets/portal-navigation/apps/indoors.avif +0 -0
  168. package/dist/cdn/assets/portal-navigation/apps/insights.avif +0 -0
  169. package/dist/cdn/assets/portal-navigation/apps/instant-apps.avif +0 -0
  170. package/dist/cdn/assets/portal-navigation/apps/ips.avif +0 -0
  171. package/dist/cdn/assets/portal-navigation/apps/knowledge-studio.avif +0 -0
  172. package/dist/cdn/assets/portal-navigation/apps/living-atlas.avif +0 -0
  173. package/dist/cdn/assets/portal-navigation/apps/location-platform.avif +0 -0
  174. package/dist/cdn/assets/portal-navigation/apps/map-maker.avif +0 -0
  175. package/dist/cdn/assets/portal-navigation/apps/map-viewer-beta.avif +0 -0
  176. package/dist/cdn/assets/portal-navigation/apps/map-viewer-classic.avif +0 -0
  177. package/dist/cdn/assets/portal-navigation/apps/map-viewer.avif +0 -0
  178. package/dist/cdn/assets/portal-navigation/apps/maps-adobe-cloud.avif +0 -0
  179. package/dist/cdn/assets/portal-navigation/apps/maps-for-office.avif +0 -0
  180. package/dist/cdn/assets/portal-navigation/apps/maps-for-power-bi.avif +0 -0
  181. package/dist/cdn/assets/portal-navigation/apps/maps-for-sharepoint.avif +0 -0
  182. package/dist/cdn/assets/portal-navigation/apps/marketplace.avif +0 -0
  183. package/dist/cdn/assets/portal-navigation/apps/mission.avif +0 -0
  184. package/dist/cdn/assets/portal-navigation/apps/monitor.avif +0 -0
  185. package/dist/cdn/assets/portal-navigation/apps/navigator.avif +0 -0
  186. package/dist/cdn/assets/portal-navigation/apps/notebook.avif +0 -0
  187. package/dist/cdn/assets/portal-navigation/apps/office-apps.avif +0 -0
  188. package/dist/cdn/assets/portal-navigation/apps/open-data.avif +0 -0
  189. package/dist/cdn/assets/portal-navigation/apps/operations-dashboard.avif +0 -0
  190. package/dist/cdn/assets/portal-navigation/apps/ortho-maker.avif +0 -0
  191. package/dist/cdn/assets/portal-navigation/apps/pro-extension.avif +0 -0
  192. package/dist/cdn/assets/portal-navigation/apps/quick-capture.avif +0 -0
  193. package/dist/cdn/assets/portal-navigation/apps/redistricting.avif +0 -0
  194. package/dist/cdn/assets/portal-navigation/apps/runtime.avif +0 -0
  195. package/dist/cdn/assets/portal-navigation/apps/scene-viewer.avif +0 -0
  196. package/dist/cdn/assets/portal-navigation/apps/sites.avif +0 -0
  197. package/dist/cdn/assets/portal-navigation/apps/solutions.avif +0 -0
  198. package/dist/cdn/assets/portal-navigation/apps/story-maps.avif +0 -0
  199. package/dist/cdn/assets/portal-navigation/apps/streetmap-premium.avif +0 -0
  200. package/dist/cdn/assets/portal-navigation/apps/survey123.avif +0 -0
  201. package/dist/cdn/assets/portal-navigation/apps/svg-app-circle.svg +1 -0
  202. package/dist/cdn/assets/portal-navigation/apps/svg-app-icon.svg +1 -0
  203. package/dist/cdn/assets/portal-navigation/apps/track-viewer.avif +0 -0
  204. package/dist/cdn/assets/portal-navigation/apps/user-type-extension-online.avif +0 -0
  205. package/dist/cdn/assets/portal-navigation/apps/user-type-extension.avif +0 -0
  206. package/dist/cdn/assets/portal-navigation/apps/vector-tile-style-editor.avif +0 -0
  207. package/dist/cdn/assets/portal-navigation/apps/velocity.avif +0 -0
  208. package/dist/cdn/assets/portal-navigation/apps/web-app-builder.avif +0 -0
  209. package/dist/cdn/assets/portal-navigation/apps/web-editor.avif +0 -0
  210. package/dist/cdn/assets/portal-navigation/apps/web-mapping.avif +0 -0
  211. package/dist/cdn/assets/portal-navigation/apps/workflow-manager-beta.avif +0 -0
  212. package/dist/cdn/assets/portal-navigation/apps/workflow-manager.avif +0 -0
  213. package/dist/cdn/assets/portal-navigation/apps/workforce.avif +0 -0
  214. package/dist/cdn/assets/portal-navigation/product-logos/advanced-editing-user-type-extension-glyph-32.svg +1 -0
  215. package/dist/cdn/assets/portal-navigation/product-logos/arc-hydro-glyph-32.svg +1 -0
  216. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-360-vr-glyph-32.svg +1 -0
  217. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-api-for-python-glyph-32.svg +1 -0
  218. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-appstudio-glyph-32.svg +1 -0
  219. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-arcade-expression-language-glyph-32.svg +1 -0
  220. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-business-analyst-glyph-32.svg +1 -0
  221. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-cityengine-glyph-32.svg +1 -0
  222. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-collector-glyph-32.svg +1 -0
  223. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-community-analyst-glyph-32.svg +1 -0
  224. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-connectors-for-power-automate-glyph-32.svg +1 -0
  225. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-dashboards-glyph-32.svg +1 -0
  226. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-data-interoperability-glyph-32.svg +1 -0
  227. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-data-pipelines-glyph-32.svg +1 -0
  228. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-data-reviewer-glyph-32.svg +1 -0
  229. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-deep-learning-studio-glyph-32.svg +1 -0
  230. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-drone2map-glyph-32.svg +1 -0
  231. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-earth-glyph-32.svg +1 -0
  232. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-enterprise-glyph-32.svg +1 -0
  233. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-excalibur-glyph-32.svg +1 -0
  234. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-excalibur-gray-glyph-32.svg +1 -0
  235. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-experience-builder-glyph-32.svg +1 -0
  236. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-explorer-glyph-32.svg +1 -0
  237. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-field-maps-designer-ea-glyph-32.svg +1 -0
  238. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-field-maps-glyph-32.svg +1 -0
  239. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-flight-glyph-32.svg +1 -0
  240. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-autocad-glyph-32.svg +1 -0
  241. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-autodesk-forma-glyph-32.svg +1 -0
  242. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-developers-glyph-32.svg +1 -0
  243. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-excel-glyph-32.svg +1 -0
  244. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-microsoft-365-glyph-32.svg +1 -0
  245. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-power-apps-glyph-32.svg +1 -0
  246. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-teams-glyph-32.svg +1 -0
  247. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-geoanalytics-engine-glyph-32.svg +1 -0
  248. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-geobim-glyph-32.svg +1 -0
  249. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-geoplanner-glyph-32.svg +1 -0
  250. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-hub-glyph-32.svg +1 -0
  251. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-image-glyph-32.svg +1 -0
  252. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-indoors-glyph-32.svg +1 -0
  253. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-insights-glyph-32.svg +1 -0
  254. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-instant-apps-glyph-32.svg +1 -0
  255. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-knowledge-glyph-32.svg +1 -0
  256. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-living-atlas-of-the-world-glyph-32.svg +1 -0
  257. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-location-platform-glyph-32.svg +1 -0
  258. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-logo-glyph-32.svg +76 -0
  259. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-for-adobe-creative-cloud-glyph-32.svg +1 -0
  260. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-for-power-bi-glyph-32.svg +1 -0
  261. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-for-sharepoint-glyph-32.svg +1 -0
  262. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-sdk-for-javascript-glyph-32.svg +1 -0
  263. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-sdks-for-game-engines-glyph-32.svg +1 -0
  264. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-sdks-for-native-apps-glyph-32.svg +1 -0
  265. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maritime-glyph-32.svg +1 -0
  266. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-marketplace-glyph-32.svg +1 -0
  267. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-mission-glyph-32.svg +1 -0
  268. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-monitor-glyph-32.svg +1 -0
  269. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-monitor-white-glyph-32.svg +1 -0
  270. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-navigator-glyph-32.svg +1 -0
  271. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-notebooks-glyph-32.svg +1 -0
  272. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-online-glyph-32.svg +1 -0
  273. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-open-data-glyph-32.svg +1 -0
  274. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-open-source-apps-glyph-32.svg +1 -0
  275. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-ortho-maker-glyph-32.svg +1 -0
  276. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-parcel-fabric-glyph-32.svg +1 -0
  277. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pipeline-referencing-glyph-32.svg +1 -0
  278. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pro-for-intelligence-glyph-32.svg +1 -0
  279. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pro-glyph-32.svg +1 -0
  280. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-quickcapture-glyph-32.svg +1 -0
  281. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-reality-studio-glyph-32.svg +1 -0
  282. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-roads-and-highways-glyph-32.svg +1 -0
  283. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-sites-glyph-32.svg +1 -0
  284. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-solutions-glyph-32.svg +1 -0
  285. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-storymaps-glyph-32.svg +1 -0
  286. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-streetmap-premium-glyph-32.svg +1 -0
  287. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-survey123-connect-glyph-32.svg +1 -0
  288. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-survey123-glyph-32.svg +1 -0
  289. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-tracker-glyph-32.svg +1 -0
  290. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-urban-glyph-32.svg +1 -0
  291. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-utility-network-management-glyph-32.svg +1 -0
  292. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-velocity-glyph-32.svg +6 -0
  293. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-web-appbuilder-glyph-32.svg +1 -0
  294. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-web-editor-glyph-32.svg +1 -0
  295. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-workflow-manager-glyph-32.svg +1 -0
  296. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-workforce-glyph-32.svg +1 -0
  297. package/dist/cdn/assets/portal-navigation/product-logos/arcgis-world-geocoder-glyph-32.svg +1 -0
  298. package/dist/cdn/assets/portal-navigation/product-logos/calcite-design-system-glyph-32.svg +1 -0
  299. package/dist/cdn/assets/portal-navigation/product-logos/esri-community-glyph-32.svg +1 -0
  300. package/dist/cdn/assets/portal-navigation/product-logos/esri-demographics-glyph-32.svg +1 -0
  301. package/dist/cdn/assets/portal-navigation/product-logos/esri-events-glyph-32.svg +1 -0
  302. package/dist/cdn/assets/portal-navigation/product-logos/esri-offline-documentation-center--glyph-32.svg +1 -0
  303. package/dist/cdn/assets/portal-navigation/product-logos/esri-redistricting-glyph-32.svg +1 -0
  304. package/dist/cdn/assets/portal-navigation/product-logos/esri-reports-glyph-32.svg +1 -0
  305. package/dist/cdn/assets/portal-navigation/product-logos/esri-support-glyph-32.svg +1 -0
  306. package/dist/cdn/assets/portal-navigation/product-logos/map-viewer-glyph-32.svg +1 -0
  307. package/dist/cdn/assets/portal-navigation/product-logos/sceneviewer-glyph-32.svg +1 -0
  308. package/dist/cdn/assets/portal-navigation/product-logos/site-scan-for-arcgis-glyph-32.svg +1 -0
  309. package/dist/cdn/assets/portal-navigation/product-logos/site-scan-for-arcgis-le-glyph-32.svg +1 -0
  310. package/dist/cdn/assets/portal-navigation/product-logos/vector-tile-style-editor-glyph-32.svg +1 -0
  311. package/dist/cdn/assets/portal-navigation/product-logos/xr-viewer-glyph-32.svg +1 -0
  312. package/dist/cdn/assets/portal-navigation/t9n/messages.en.json +1 -0
  313. package/dist/cdn/index.js +1 -1
  314. package/dist/cdn/main.css +1 -1
  315. package/dist/chunks/dom.js +41 -0
  316. package/dist/chunks/fieldAddDelete.js +2 -2
  317. package/dist/chunks/functionalities.js +6 -4
  318. package/dist/chunks/groups.js +8 -83
  319. package/dist/chunks/groups2.js +64 -0
  320. package/dist/chunks/icons.js +11 -0
  321. package/dist/chunks/info.js +179 -0
  322. package/dist/chunks/item.js +29 -123
  323. package/dist/chunks/item2.js +128 -0
  324. package/dist/chunks/items.js +16 -0
  325. package/dist/chunks/loadClassificationData.js +19 -19
  326. package/dist/chunks/portal-account-switcher.js +6 -0
  327. package/dist/chunks/portal-browser-filter-date.js +63 -0
  328. package/dist/chunks/portal-browser.js +220 -0
  329. package/dist/chunks/portal-item-badge.js +349 -0
  330. package/dist/chunks/portal.js +91 -8
  331. package/dist/chunks/portal2.js +59 -0
  332. package/dist/chunks/query.js +159 -0
  333. package/dist/chunks/request.js +87 -0
  334. package/dist/chunks/requests.js +92 -44
  335. package/dist/chunks/services.js +17 -0
  336. package/dist/chunks/store.js +14 -0
  337. package/dist/chunks/string.js +36 -0
  338. package/dist/chunks/thumbnail.js +189 -0
  339. package/dist/chunks/ui.js +9 -0
  340. package/dist/chunks/url.js +17 -0
  341. package/dist/chunks/user.js +99 -4
  342. package/dist/chunks/user2.js +13 -107
  343. package/dist/chunks/users.js +7 -0
  344. package/dist/chunks/utils.js +88 -0
  345. package/dist/chunks/utils2.js +656 -0
  346. package/dist/chunks/verified.js +40 -0
  347. package/dist/components/arcgis-portal-account-switcher/customElement.d.ts +119 -0
  348. package/dist/components/arcgis-portal-account-switcher/customElement.js +369 -0
  349. package/dist/components/arcgis-portal-account-switcher/index.d.ts +1 -0
  350. package/dist/components/arcgis-portal-account-switcher/index.js +9 -0
  351. package/dist/components/arcgis-portal-account-switcher/types.d.ts +6 -0
  352. package/dist/components/arcgis-portal-account-switcher-accounts/customElement.d.ts +118 -0
  353. package/dist/components/arcgis-portal-account-switcher-accounts/customElement.js +31 -0
  354. package/dist/components/arcgis-portal-account-switcher-accounts/index.d.ts +1 -0
  355. package/dist/components/arcgis-portal-account-switcher-accounts/index.js +5 -0
  356. package/dist/components/arcgis-portal-account-switcher-list/customElement.d.ts +122 -0
  357. package/dist/components/arcgis-portal-account-switcher-list/customElement.js +72 -0
  358. package/dist/components/arcgis-portal-account-switcher-list/index.d.ts +1 -0
  359. package/dist/components/arcgis-portal-account-switcher-list/index.js +6 -0
  360. package/dist/components/arcgis-portal-add-gps-metadata/customElement.d.ts +55 -0
  361. package/dist/components/arcgis-portal-add-gps-metadata/customElement.js +1242 -0
  362. package/dist/components/arcgis-portal-add-gps-metadata/index.d.ts +1 -0
  363. package/dist/components/arcgis-portal-add-gps-metadata/index.js +8 -0
  364. package/dist/components/arcgis-portal-ai-assistant/agents/portalRouteKeys.d.ts +35 -0
  365. package/dist/components/arcgis-portal-ai-assistant/agents/types.d.ts +77 -3
  366. package/dist/components/arcgis-portal-ai-assistant/customElement.d.ts +65 -3
  367. package/dist/components/arcgis-portal-ai-assistant/customElement.js +1963 -613
  368. package/dist/components/arcgis-portal-ai-assistant/data/capability-registries/types.d.ts +34 -0
  369. package/dist/components/arcgis-portal-browser/customElement.d.ts +243 -0
  370. package/dist/components/arcgis-portal-browser/customElement.js +16 -0
  371. package/dist/components/arcgis-portal-browser/index.d.ts +1 -0
  372. package/dist/components/arcgis-portal-browser/index.js +6 -0
  373. package/dist/components/arcgis-portal-browser/utils/store.d.ts +35 -0
  374. package/dist/components/arcgis-portal-browser/utils/types.d.ts +24 -0
  375. package/dist/components/arcgis-portal-browser-actions/customElement.d.ts +185 -0
  376. package/dist/components/arcgis-portal-browser-actions/customElement.js +73 -0
  377. package/dist/components/arcgis-portal-browser-actions/index.d.ts +1 -0
  378. package/dist/components/arcgis-portal-browser-actions/index.js +6 -0
  379. package/dist/components/arcgis-portal-browser-actions/types.d.ts +9 -0
  380. package/dist/components/arcgis-portal-browser-filter-status/customElement.d.ts +193 -0
  381. package/dist/components/arcgis-portal-browser-filter-status/customElement.js +56 -0
  382. package/dist/components/arcgis-portal-browser-filter-status/index.d.ts +1 -0
  383. package/dist/components/arcgis-portal-browser-filter-status/index.js +5 -0
  384. package/dist/components/arcgis-portal-browser-pagination/customElement.d.ts +194 -0
  385. package/dist/components/arcgis-portal-browser-pagination/customElement.js +49 -0
  386. package/dist/components/arcgis-portal-browser-pagination/index.d.ts +1 -0
  387. package/dist/components/arcgis-portal-browser-pagination/index.js +2 -0
  388. package/dist/components/arcgis-portal-browser-search/customElement.d.ts +195 -0
  389. package/dist/components/arcgis-portal-browser-search/customElement.js +62 -0
  390. package/dist/components/arcgis-portal-browser-search/index.d.ts +1 -0
  391. package/dist/components/arcgis-portal-browser-search/index.js +3 -0
  392. package/dist/components/arcgis-portal-browser-sort/customElement.d.ts +196 -0
  393. package/dist/components/arcgis-portal-browser-sort/customElement.js +93 -0
  394. package/dist/components/arcgis-portal-browser-sort/index.d.ts +1 -0
  395. package/dist/components/arcgis-portal-browser-sort/index.js +9 -0
  396. package/dist/components/arcgis-portal-browser-sort/utils.d.ts +3 -0
  397. package/dist/components/arcgis-portal-browser-top-bar/customElement.d.ts +190 -0
  398. package/dist/components/arcgis-portal-browser-top-bar/customElement.js +50 -0
  399. package/dist/components/arcgis-portal-browser-top-bar/index.d.ts +1 -0
  400. package/dist/components/arcgis-portal-browser-top-bar/index.js +3 -0
  401. package/dist/components/arcgis-portal-browser-view/customElement.d.ts +21 -0
  402. package/dist/components/arcgis-portal-browser-view/customElement.js +30 -0
  403. package/dist/components/arcgis-portal-browser-view/index.d.ts +1 -0
  404. package/dist/components/arcgis-portal-browser-view/index.js +5 -0
  405. package/dist/components/arcgis-portal-classification-config/customElement.js +7 -7
  406. package/dist/components/arcgis-portal-classification-favorite/customElement.js +1 -1
  407. package/dist/components/arcgis-portal-field-delete/customElement.js +3 -2
  408. package/dist/components/arcgis-portal-group-badges/customElement.d.ts +0 -1
  409. package/dist/components/arcgis-portal-group-badges/customElement.js +26 -33
  410. package/dist/components/arcgis-portal-group-browser/customElement.d.ts +481 -0
  411. package/dist/components/arcgis-portal-group-browser/customElement.js +762 -0
  412. package/dist/components/arcgis-portal-group-browser/index.d.ts +1 -0
  413. package/dist/components/arcgis-portal-group-browser/index.js +6 -0
  414. package/dist/components/arcgis-portal-group-browser/types.d.ts +244 -0
  415. package/dist/components/arcgis-portal-group-browser-preview/customElement.d.ts +225 -0
  416. package/dist/components/arcgis-portal-group-browser-preview/customElement.js +150 -0
  417. package/dist/components/arcgis-portal-group-browser-preview/index.d.ts +1 -0
  418. package/dist/components/arcgis-portal-group-browser-preview/index.js +12 -0
  419. package/dist/components/arcgis-portal-group-browser-preview-card/customElement.d.ts +82 -0
  420. package/dist/components/arcgis-portal-group-browser-preview-card/customElement.js +93 -0
  421. package/dist/components/arcgis-portal-group-browser-preview-card/index.d.ts +1 -0
  422. package/dist/components/arcgis-portal-group-browser-preview-card/index.js +6 -0
  423. package/dist/components/arcgis-portal-group-card/customElement.d.ts +30 -26
  424. package/dist/components/arcgis-portal-group-card/customElement.js +71 -95
  425. package/dist/components/arcgis-portal-group-card/index.js +3 -3
  426. package/dist/components/arcgis-portal-group-thumbnail/customElement.js +1 -1
  427. package/dist/components/arcgis-portal-info-banner/customElement.d.ts +14 -0
  428. package/dist/components/arcgis-portal-info-banner/customElement.js +31 -0
  429. package/dist/components/arcgis-portal-info-banner/index.d.ts +1 -0
  430. package/dist/components/arcgis-portal-info-banner/index.js +1 -0
  431. package/dist/components/arcgis-portal-item-actions/customElement.d.ts +74 -0
  432. package/dist/components/arcgis-portal-item-actions/customElement.js +89 -0
  433. package/dist/components/arcgis-portal-item-actions/index.d.ts +1 -0
  434. package/dist/components/arcgis-portal-item-actions/index.js +5 -0
  435. package/dist/components/arcgis-portal-item-badge/customElement.d.ts +260 -0
  436. package/dist/components/arcgis-portal-item-badge/customElement.js +9 -0
  437. package/dist/components/arcgis-portal-item-badge/index.d.ts +1 -0
  438. package/dist/components/arcgis-portal-item-badge/index.js +5 -0
  439. package/dist/components/arcgis-portal-item-badges/customElement.d.ts +48 -0
  440. package/dist/components/arcgis-portal-item-badges/customElement.js +35 -0
  441. package/dist/components/arcgis-portal-item-badges/index.d.ts +1 -0
  442. package/dist/components/arcgis-portal-item-badges/index.js +2 -0
  443. package/dist/components/arcgis-portal-item-badges/types.d.ts +1 -0
  444. package/dist/components/arcgis-portal-item-card/customElement.d.ts +215 -0
  445. package/dist/components/arcgis-portal-item-card/customElement.js +190 -0
  446. package/dist/components/arcgis-portal-item-card/index.d.ts +1 -0
  447. package/dist/components/arcgis-portal-item-card/index.js +10 -0
  448. package/dist/components/arcgis-portal-item-favorite/customElement.d.ts +36 -0
  449. package/dist/components/arcgis-portal-item-favorite/customElement.js +66 -0
  450. package/dist/components/arcgis-portal-item-favorite/index.d.ts +1 -0
  451. package/dist/components/arcgis-portal-item-favorite/index.js +3 -0
  452. package/dist/components/arcgis-portal-item-favorite/utils.d.ts +4 -0
  453. package/dist/components/arcgis-portal-item-type/customElement.d.ts +3 -1
  454. package/dist/components/arcgis-portal-item-type/customElement.js +22 -651
  455. package/dist/components/arcgis-portal-mentionable-text-area/customElement.js +40 -38
  456. package/dist/components/arcgis-portal-navigation/customElement.d.ts +560 -0
  457. package/dist/components/arcgis-portal-navigation/customElement.js +1897 -0
  458. package/dist/components/arcgis-portal-navigation/index.d.ts +1 -0
  459. package/dist/components/arcgis-portal-navigation/index.js +30 -0
  460. package/dist/components/arcgis-portal-navigation/types.d.ts +44 -0
  461. package/dist/components/arcgis-portal-replacement-item-redirect/customElement.js +53 -410
  462. package/dist/components/arcgis-portal-user-avatar/customElement.d.ts +9 -0
  463. package/dist/components/arcgis-portal-user-avatar/customElement.js +26 -37
  464. package/dist/components/arcgis-portal-user-popup/customElement.d.ts +5 -2
  465. package/dist/components/arcgis-portal-user-popup/customElement.js +82 -141
  466. package/dist/components/arcgis-portal-voice-input/customElement.d.ts +1 -1
  467. package/dist/components/portal-browser/components/portal-browser-filter/customElement.js +14 -0
  468. package/dist/components/portal-browser/components/portal-browser-filter/index.js +3 -0
  469. package/dist/components/portal-browser/components/portal-browser-filter-date/customElement.js +9 -0
  470. package/dist/components/portal-browser/components/portal-browser-filter-date/index.js +4 -0
  471. package/dist/components/portal-browser/components/portal-browser-filters/customElement.js +11 -0
  472. package/dist/components/portal-browser/components/portal-browser-filters/index.js +2 -0
  473. package/dist/components/portal-group-browser-filters/customElement.js +129 -0
  474. package/dist/components/portal-group-browser-filters/index.js +5 -0
  475. package/dist/components/portal-group-browser-pagination/customElement.js +13 -0
  476. package/dist/components/portal-group-browser-pagination/index.js +2 -0
  477. package/dist/components/portal-group-browser-sort/customElement.js +16 -0
  478. package/dist/components/portal-group-browser-sort/index.js +2 -0
  479. package/dist/docs/api.json +1 -1
  480. package/dist/docs/docs.json +1 -1
  481. package/dist/docs/vscode.css-custom-data.json +1 -1
  482. package/dist/docs/vscode.html-custom-data.json +1 -1
  483. package/dist/docs/web-types.json +1 -1
  484. package/dist/index.d.ts +196 -0
  485. package/dist/loader.js +27 -5
  486. package/dist/types/app-switcher.d.ts +71 -0
  487. package/dist/types/group.d.ts +14 -16
  488. package/dist/types/item.d.ts +80 -1
  489. package/dist/types/lumina.d.ts +160 -2
  490. package/dist/types/portal.d.ts +6 -0
  491. package/dist/types/preact.d.ts +182 -2
  492. package/dist/types/react.d.ts +204 -2
  493. package/dist/types/search.d.ts +30 -0
  494. package/dist/types/stencil.d.ts +162 -4
  495. package/dist/types/user.d.ts +16 -3
  496. package/package.json +10 -11
  497. package/dist/cdn/35SKVD6F.js +0 -2
  498. package/dist/cdn/5VSDGPHH.js +0 -2
  499. package/dist/cdn/72N3KAXN.js +0 -2
  500. package/dist/cdn/ANPXRYLV.js +0 -5
  501. package/dist/cdn/B7633S2A.js +0 -422
  502. package/dist/cdn/BEHLBKKM.js +0 -2
  503. package/dist/cdn/EVDOPN3G.js +0 -54
  504. package/dist/cdn/F2AM2M4H.js +0 -2
  505. package/dist/cdn/G47ZZQYL.js +0 -2
  506. package/dist/cdn/GAHILDQF.js +0 -45
  507. package/dist/cdn/GHQ3ZW4U.js +0 -2
  508. package/dist/cdn/IWJIVHBS.js +0 -65
  509. package/dist/cdn/JNRN6DTV.js +0 -2
  510. package/dist/cdn/JUN4NQAO.js +0 -2
  511. package/dist/cdn/K3HS2LQ7.js +0 -2
  512. package/dist/cdn/KEKBRUUC.js +0 -2
  513. package/dist/cdn/MX3F5ZCL.js +0 -2
  514. package/dist/cdn/O3KBWLGU.js +0 -2
  515. package/dist/cdn/OQDPULPD.js +0 -2
  516. package/dist/cdn/QB34ACZ2.js +0 -2
  517. package/dist/cdn/RBC6VGDJ.js +0 -516
  518. package/dist/cdn/RNLVNDGG.js +0 -2
  519. package/dist/cdn/TMYTUOSS.js +0 -2
  520. package/dist/cdn/UPEVTVNZ.js +0 -2
  521. package/dist/cdn/V2EOXGK2.js +0 -2
  522. package/dist/cdn/WZC4LHVH.js +0 -2
  523. package/dist/cdn/X5NBQPTM.js +0 -2
  524. package/dist/cdn/YG5YYL6X.js +0 -2
  525. package/dist/cdn/YIMNOUTF.js +0 -2
  526. package/dist/cdn/YL7PGYWC.js +0 -5
  527. package/dist/cdn/YMPTDKT6.js +0 -2
  528. package/dist/cdn/YVJRXWM3.js +0 -3
@@ -0,0 +1,1897 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import { g as ee, c as $t } from "../../chunks/runtime.js";
3
+ import { safeStyleMap as xe, safeClassMap as te, LitElement as At, createEvent as H } from "@arcgis/lumina";
4
+ import { u as kt } from "../../chunks/useT9n.js";
5
+ import { nothing as L, html as l, svg as xt, css as St } from "lit";
6
+ import { formatDate as It, substitute as K, getLocale as Pt } from "@arcgis/core/intl.js";
7
+ import { g as oe, b as Se } from "../../chunks/url.js";
8
+ import { a as B } from "../../chunks/requests.js";
9
+ import { repeat as U } from "lit/directives/repeat.js";
10
+ import { m as Nt } from "../../chunks/icons.js";
11
+ import { i as M, c as me, a as Ct } from "../../chunks/user2.js";
12
+ import { c as Tt, d as Mt, e as Ot, f as Lt, h as Et } from "../../chunks/portal2.js";
13
+ import { c as jt, d as Dt, e as zt } from "../../chunks/user.js";
14
+ import { i as Ie, a as Gt } from "../../chunks/utils2.js";
15
+ import { g as Ut } from "../../chunks/request.js";
16
+ import { g as Pe } from "../../chunks/item.js";
17
+ import { keyed as se } from "lit/directives/keyed.js";
18
+ import { e as ae, n as Bt, a as ce, f as q, g as Rt } from "../../chunks/portal.js";
19
+ import { ref as W, createRef as F } from "lit/directives/ref.js";
20
+ import { c as Ft, g as Wt } from "../../chunks/dom.js";
21
+ import { debounce as fe } from "@arcgis/toolkit/function";
22
+ import Vt from "@arcgis/core/identity/IdentityManager.js";
23
+ import { t as Ht } from "../../chunks/functionalities.js";
24
+ import { c as qt } from "../../chunks/string.js";
25
+ function ge({ portal: e, productInfo: t }) {
26
+ const { name: i, glyph: n } = t || {};
27
+ return l`<img alt class="logo__glyph" src=${n ?? L}><span class="logo__text"><span class="logo__title">${i}</span>${e?.name && l`<span class="logo__subtitle">${e.name}</span>` || ""}</span>`;
28
+ }
29
+ function Jt({ navigate: e, portal: t, product: i, productInfo: n, productHref: r, messages: o, searchActive: s, showNav: a, projectTitleEditing: c }) {
30
+ const d = s && i === "Online" && !a || i !== "Online" && c && window.innerWidth < 960;
31
+ return !i || !t || !o || d ? null : r ? l`<a href=${r ?? L} @click=${(m) => {
32
+ e({ event: m, href: r });
33
+ }} class="logo fade-in logo--link">${ge({ portal: t, productInfo: n })}</a>` : l`<div class="logo fade-in">${ge({ portal: t, productInfo: n })}</div>`;
34
+ }
35
+ const Y = {}, T = {
36
+ Month: 2628e3,
37
+ Week: 604800,
38
+ Day: 86400,
39
+ Hour: 3600,
40
+ Minute: 60,
41
+ Second: 1
42
+ };
43
+ function Ne(e) {
44
+ if (!e)
45
+ return null;
46
+ const t = Math.floor(e / 1e3), i = Math.abs(t), n = T.Day * 365;
47
+ switch (!0) {
48
+ case i < T.Minute:
49
+ return [Math.floor(t / T.Second), "second"];
50
+ case i < T.Hour:
51
+ return [Math.floor(t / T.Minute), "minute"];
52
+ case i < T.Day:
53
+ return [Math.floor(t / T.Hour), "hour"];
54
+ case i < T.Week:
55
+ return [Math.floor(t / T.Day), "day"];
56
+ case i < T.Month:
57
+ return [Math.floor(t / T.Week), "week"];
58
+ case i < n:
59
+ return [Math.floor(t / T.Month), "month"];
60
+ default:
61
+ return [Math.floor(t / n), "year"];
62
+ }
63
+ }
64
+ function Ce(e) {
65
+ return (typeof e == "number" ? e : e.getTime?.()) - (/* @__PURE__ */ new Date()).getTime();
66
+ }
67
+ function Te({ locale: e, time: t, t9n: i }) {
68
+ if (!e || !t)
69
+ return "";
70
+ const n = Ce(t);
71
+ Y[e] ??= new Intl.RelativeTimeFormat(e, { style: "long" });
72
+ const r = Ne(n);
73
+ return r ? r[1] === "second" ? i?.lessThanOneMinute || `< ${Y[e].format(r[0] > 0 ? 1 : -1, "minutes")}` : Y[e].format(r[0], r[1]) : "";
74
+ }
75
+ const Kt = {
76
+ month: "long",
77
+ day: "numeric",
78
+ year: "numeric"
79
+ }, Qt = {
80
+ month: "long",
81
+ day: "numeric"
82
+ };
83
+ function Xt({ locale: e, time: t }, i) {
84
+ if (!e || !t)
85
+ return "";
86
+ const n = new Date(t);
87
+ return It(n, i ? Kt : Qt);
88
+ }
89
+ async function Yt({ portal: e }) {
90
+ if (!e?.user)
91
+ return { result: [] };
92
+ const t = `${e.restUrl}/community/users/${e.user.id}/notifications`, { result: i, error: n } = await B(t);
93
+ return n ? { error: n } : { result: i?.notifications };
94
+ }
95
+ async function Zt(e, t) {
96
+ if (!e?.user)
97
+ return { success: !0 };
98
+ const i = t.map((o) => ({ portal: e, id: o })).map(Me);
99
+ return { success: !((await Promise.allSettled(i))?.filter((o) => o.status === "rejected" || !o.value?.success)).length };
100
+ }
101
+ async function Me({
102
+ portal: e,
103
+ id: t
104
+ }) {
105
+ const i = `${e.restUrl}/community/users/${e.user?.id}/notifications/${t}/delete`, { result: n } = await B(i, { method: "post" });
106
+ return n?.success ? { success: !0, id: t } : { success: !1, id: t };
107
+ }
108
+ const Oe = "notifications-menu";
109
+ function ei(e) {
110
+ try {
111
+ const t = decodeURIComponent(e);
112
+ return t !== e ? t : e;
113
+ } catch {
114
+ return e;
115
+ }
116
+ }
117
+ function ti(e) {
118
+ switch (e) {
119
+ case "group_join_admin":
120
+ return "users";
121
+ case "group_application_accepted":
122
+ return "register";
123
+ case "group_join":
124
+ return "file-user";
125
+ case "group_application_declined":
126
+ return "user-risk";
127
+ case "user_invitation_declined":
128
+ return "group-x";
129
+ case "user_invitation_accepted":
130
+ return "user-plus";
131
+ case "user_invite":
132
+ return "envelope";
133
+ case "user_added_to_group":
134
+ return "user-plus";
135
+ case "collaboration_workspace_added":
136
+ case "collaboration_deleted":
137
+ case "collaboration_leaving":
138
+ case "collaboration_join":
139
+ case "collaboration_participant_workspace_join":
140
+ case "collaboration_participant_workspace_unjoin":
141
+ case "collaboration_participant_removed":
142
+ case "collaboration_peer_participant_removed":
143
+ case "collaboration_participant_access_changed":
144
+ return "collaboration";
145
+ case "collaboration_participant_join":
146
+ return "collaboration-user";
147
+ case "collaboration_content_store_disk_limit_reached":
148
+ return "gauge";
149
+ case "user_email_bounced":
150
+ return "speech-bubble-exclamation";
151
+ case "feature_layer_copy_over_failed":
152
+ case "feature_layer_one_way_shared_not_two_way":
153
+ case "feature_view_copy_over_failed":
154
+ case "webapp_not_copied":
155
+ case "webapp_not_copied_portal":
156
+ case "insights_item_not_copied":
157
+ return "collaboration";
158
+ case "scheduled_task_disabled":
159
+ return "date-time";
160
+ case "portal_certificate_about_to_expire":
161
+ case "portal_certificate_expired":
162
+ return "hourglass-expired";
163
+ case "notebook_runtime_deprecated":
164
+ return "notebook-server";
165
+ case "ingress_certificate_about_to_expire":
166
+ case "ingress_certificate_expired":
167
+ return "certificate";
168
+ default:
169
+ return "bell";
170
+ }
171
+ }
172
+ function ii({
173
+ notification: e,
174
+ portal: t,
175
+ locale: i,
176
+ t9n: n
177
+ }) {
178
+ if (e?.received && e.id) {
179
+ const r = {
180
+ date: Te({ locale: i, time: e.received, t9n: n }),
181
+ id: e.id,
182
+ text: "",
183
+ icon: ti(e.type)
184
+ };
185
+ if (e.type === "webapp_not_copied" && t.isPortal && (e.type = "webapp_not_copied_portal"), e.data?.taskTitle && (e.data.taskTitle = ei(e.data.taskTitle)), e.type === "message_received")
186
+ r.text = e.data.message || "";
187
+ else if (n.types[e.type]) {
188
+ const o = oe({ portal: t, usePortalHostname: !!t.user });
189
+ e.data.baseUrl = `${o}/home/`, r.text = K(n.types[e.type], e.data);
190
+ }
191
+ if (r.text)
192
+ return r;
193
+ }
194
+ return null;
195
+ }
196
+ async function be({
197
+ portal: e,
198
+ locale: t,
199
+ t9n: i
200
+ }) {
201
+ if (!i)
202
+ return [];
203
+ const { result: n, error: r } = await Yt({ portal: e });
204
+ return r && console.error(r), n?.length ? n.map((s) => ii({ notification: s, portal: e, t9n: i, locale: t })).filter((s) => s) : [];
205
+ }
206
+ function ni({ notifications: e, messages: t, handleToggleNotifications: i, handleToggleSearch: n, notificationsActive: r }) {
207
+ return t ? l`<calcite-action class="action" scale=l .text=${t.label} icon=bell .indicator=${!!e?.length} id=${Oe} @click=${() => i(!r)} @focusin=${() => n(!1, !0)}></calcite-action>` : null;
208
+ }
209
+ function J({ icon: e, title: t, description: i }) {
210
+ return !t && !i ? null : l`<div class="empty">${e && l`<svg xmlns=http://www.w3.org/2000/svg width=64 height=64 viewBox="0 0 64 64" fill=none>${xt`<path d=${Nt[e] ?? L} fill=var(--calcite-color-border-input) />`}</svg>` || ""}${t && l`<h3 class="notifications__empty__header">${t}</h3>` || ""}${i && l`<p class="notifications__empty__text">${i}</p>` || ""}</div>`;
211
+ }
212
+ function ri({ notifications: e, deleteNotifications: t, messages: i, navigate: n, portal: r, notificationsActive: o, handleToggleNotifications: s, notificationDeleteProgress: a }) {
213
+ return i ? l`<calcite-popover .referenceElement=${Oe} @calcitePopoverClose=${() => s(!1)} .label=${i.label} auto-close .open=${o} pointer-disabled flip-disabled trigger-disabled placement=bottom-end scale=l .heading=${i.label}>${e?.length > 0 ? l`<div class="notifications notifications--full">${typeof a == "number" && l`<calcite-scrim><calcite-loader type=determinate-value .label=${i.deleting} .value=${a}></calcite-loader></calcite-scrim>` || ""}<calcite-list .label=${i.label} interaction-mode=static class="notifications__list" scale=l>${U(e, (c) => c.id, (c) => l`<calcite-list-item closable @calciteListItemClose=${async () => await t([c.id])} .messageOverrides=${{ close: i.dismissLabel }} .iconStart=${c.icon}><div slot=content class="notification"><div class="notification__message" .innerHTML=${c.text ?? ""} @click=${(d) => {
214
+ const m = d.target, g = m.href;
215
+ if (m.nodeName === "CALCITE-LINK" && g) {
216
+ const p = `${oe({ portal: r, usePortalHostname: !!r.user })}/home/`;
217
+ n({ event: d, href: g, relativePath: g.replace(p, "") });
218
+ }
219
+ }}></div><div class="notification__date">${c.date}</div></div></calcite-list-item>`)}</calcite-list></div><calcite-button class="notifications__dismiss" scale=l appearance=transparent @click=${async (c) => {
220
+ const d = c.currentTarget?.parentElement;
221
+ await t(e?.map(({ id: m }) => m)), d.open = !1;
222
+ }}>${i.dismissAllLabel}</calcite-button>` : l`<div class="notifications">${J({ title: i.noNotifications, description: i.noNotificationsDescription, icon: "check" })}</div>`}</calcite-popover>` : null;
223
+ }
224
+ function oi(e) {
225
+ return e.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
226
+ }
227
+ function si(e, t, i, n) {
228
+ pi(e, JSON.stringify(t), i);
229
+ }
230
+ function ai(e) {
231
+ return ui(e, !0);
232
+ }
233
+ function ci(e) {
234
+ try {
235
+ window.localStorage.removeItem(e);
236
+ } catch {
237
+ }
238
+ }
239
+ function li(e) {
240
+ try {
241
+ window.sessionStorage.removeItem(e);
242
+ } catch {
243
+ }
244
+ }
245
+ function ui(e, t) {
246
+ const i = di(e);
247
+ return i && t ? JSON.parse(i) : i;
248
+ }
249
+ function di(e) {
250
+ const t = document.cookie, i = new RegExp(`(?:^|; )${oi(e)}=([^;]*)`, "u"), n = t.match(i);
251
+ return n ? decodeURIComponent(n[1]) : "";
252
+ }
253
+ function pi(e, t, i) {
254
+ i = i || {};
255
+ let n = i?.expires;
256
+ if (typeof n == "number") {
257
+ const o = /* @__PURE__ */ new Date(), s = n * 24 * 60 * 60 * 1e3;
258
+ o.setTime(Date.now() + s), n = o, i.expires = o;
259
+ }
260
+ typeof n != "string" && n?.toUTCString && (i.expires = n.toUTCString());
261
+ let r = `${e}=${encodeURIComponent(t)}`;
262
+ for (const o of Object.keys(i)) {
263
+ r += `; ${o}`;
264
+ const s = i[o];
265
+ s !== !0 && (r += `=${s}`);
266
+ }
267
+ document.cookie = r;
268
+ }
269
+ async function hi(e) {
270
+ const i = `owner:"${e.isPortal ? "esri" : "esri_config"}" AND title:"AppSwitcher Config" AND type:"Application Configuration"`, n = `${e.restUrl}/search`;
271
+ return await B(n, { query: {
272
+ num: 1,
273
+ start: 0,
274
+ sortField: "title",
275
+ sortOrder: "asc",
276
+ q: i
277
+ } });
278
+ }
279
+ async function mi(e) {
280
+ const t = { appSwitcher: { apps: [] } };
281
+ if (!e?.id || !e.user)
282
+ return t;
283
+ const { result: i } = await hi(e), n = i?.results?.[0];
284
+ if (!n)
285
+ return t;
286
+ const r = n.id;
287
+ return (await Pe(e, r)).result;
288
+ }
289
+ async function fi(e, t, i) {
290
+ if (!t || !e?.length)
291
+ return { result: null };
292
+ const n = `${i.restUrl}/search`;
293
+ return await B(n, {
294
+ query: {
295
+ num: 100,
296
+ q: `id:(${e.map((r) => `"${r.itemId}"`).join(" OR ")})`
297
+ }
298
+ });
299
+ }
300
+ async function gi(e) {
301
+ const t = `${e.restUrl}/search`, i = {
302
+ num: 10,
303
+ start: 0,
304
+ sortField: "title",
305
+ sortOrder: "asc",
306
+ q: 'owner:"esri" AND title:"BlockedApps Config" AND type: "Application Configuration"'
307
+ }, { result: n } = await B(t, { query: i }), r = n?.results?.[0]?.id;
308
+ return r ? (await Pe(e, r))?.result?.blockedApps || [] : [];
309
+ }
310
+ function bi(e, t) {
311
+ const i = e?.toLowerCase() || "", n = `${t.title || ""} ${t.label || ""}`;
312
+ return !i || n.toLowerCase().includes(i);
313
+ }
314
+ function vi() {
315
+ if (ai("APSW-query")?.expires > (/* @__PURE__ */ new Date()).setHours((/* @__PURE__ */ new Date()).getHours()))
316
+ return !0;
317
+ const t = { expires: (/* @__PURE__ */ new Date()).setHours((/* @__PURE__ */ new Date()).getHours() + 5) };
318
+ return si(
319
+ "APSW-query",
320
+ t,
321
+ {
322
+ path: "/",
323
+ domain: window.location.hostname,
324
+ sameSite: "Strict"
325
+ }
326
+ ), !1;
327
+ }
328
+ function _i(e, t) {
329
+ const { landingPage: i } = t || {};
330
+ return {
331
+ image: "arcgis-online.png",
332
+ label: "ArcGIS Online",
333
+ title: "ArcGIS Online",
334
+ url: `${Se({ portal: e })}/${i?.url ? i.url : Ie(e.user) ? "organization.html" : "index.html"}`
335
+ };
336
+ }
337
+ function ve(e) {
338
+ const i = [
339
+ "api-for-python",
340
+ "appstudio",
341
+ "arcade",
342
+ "arcgis-earth",
343
+ "arcgis-enterprise",
344
+ "arcgis-experience-builder",
345
+ "arcgis-geoanalytics",
346
+ "arcgis-hub",
347
+ "arcgis-online",
348
+ "arcgis-pro",
349
+ "arcgis-urban",
350
+ "blank",
351
+ "business-analyst",
352
+ "city-engine",
353
+ "collector",
354
+ "community-analyst",
355
+ "configurable-apps",
356
+ "dashboards-beta",
357
+ "dashboards-classic",
358
+ "data-pipelines",
359
+ "deeplearningstudio",
360
+ "demographics",
361
+ "drone2map",
362
+ "esri-events",
363
+ "essential-apps",
364
+ "excalibur",
365
+ "explorer",
366
+ "field-apps",
367
+ "fieldmaps-beta",
368
+ "fieldmaps-ea",
369
+ "fieldmaps",
370
+ "generic-app",
371
+ "geobim",
372
+ "geoplanner",
373
+ "grid-view-9",
374
+ "indoor",
375
+ "indoors",
376
+ "insights",
377
+ "instant-apps",
378
+ "ips",
379
+ "knowledge-studio",
380
+ "living-atlas",
381
+ "location-platform",
382
+ "map-maker",
383
+ "map-viewer-beta",
384
+ "map-viewer-classic",
385
+ "map-viewer",
386
+ "maps-adobe-cloud",
387
+ "maps-for-office",
388
+ "maps-for-power-bi",
389
+ "maps-for-sharepoint",
390
+ "marketplace",
391
+ "mission",
392
+ "monitor",
393
+ "navigator",
394
+ "notebook",
395
+ "office-apps",
396
+ "open-data",
397
+ "operations-dashboard",
398
+ "ortho-maker",
399
+ "pro-extension",
400
+ "quick-capture",
401
+ "redistricting",
402
+ "runtime",
403
+ "scene-viewer",
404
+ "sites",
405
+ "solutions",
406
+ "story-maps",
407
+ "streetmap-premium",
408
+ "survey123",
409
+ "track-viewer",
410
+ "user-type-extension-online",
411
+ "user-type-extension",
412
+ "vector-tile-style-editor",
413
+ "velocity",
414
+ "web-app-builder",
415
+ "web-editor",
416
+ "web-mapping",
417
+ "workflow-manager-beta",
418
+ "workflow-manager",
419
+ "workforce"
420
+ ].find((n) => e?.includes(n) && V(`${n}.png`) === e);
421
+ return i ? V(`${i}.avif`) : e;
422
+ }
423
+ function wi(e, t) {
424
+ const i = e?.blockedApps || [], n = [];
425
+ return !i.length && !e.blockBetaApps || !t?.length ? [] : (e.blockBetaApps && t.forEach((r) => {
426
+ r.isBeta && !i.includes(r.clientid) && i.push(r.clientid);
427
+ }), i.forEach((r) => {
428
+ const o = t.find((s) => s.clientid === r);
429
+ o && n.push(o);
430
+ }), n);
431
+ }
432
+ function S(e, t) {
433
+ return t && t[e.toLowerCase()]?.valid || !1;
434
+ }
435
+ function yi(e, t) {
436
+ return e?.portalProperties && !e.portalProperties?.openData?.enabled ? !1 : S("HubforArcGIS", t);
437
+ }
438
+ function $i(e, t) {
439
+ if (!e)
440
+ return !1;
441
+ const i = [
442
+ "portal:publisher:publishFeeds",
443
+ "portal:publisher:publishRealTimeAnalytics",
444
+ "portal:publisher:publishBigDataAnalytics"
445
+ ], r = (e?.privileges || []).some((s) => i.includes(s)), o = S("velocity", t);
446
+ return r && o;
447
+ }
448
+ function Ai(e) {
449
+ return S("HubforArcGIS", e);
450
+ }
451
+ function ki(e, t) {
452
+ return !(e.isPortal && e.portalProperties?.newMapViewerEnabled === !1) && S("arcgisWebApps", t);
453
+ }
454
+ function xi(e) {
455
+ return !!e.helperServices?.rasterAnalytics && !!e.helperServices.orthoMapping;
456
+ }
457
+ function Si(e, t, i) {
458
+ const n = i && (!e.isPortal || !!e.sourceJSON?.supportsHostedNotebooks), r = !!t?.privileges?.length && t.privileges.some((o) => o === "premium:publisher:createNotebooks");
459
+ return n && r;
460
+ }
461
+ function Ii(e, t) {
462
+ return !!e.helperServices?.locationTracking && t;
463
+ }
464
+ function Pi(e, t, i, n) {
465
+ const r = e?.user;
466
+ return {
467
+ "Open Data": {
468
+ hasAccess: () => yi(e, n)
469
+ },
470
+ AppStudio: {
471
+ hasAccess: () => S("arcgisWebApps", n)
472
+ },
473
+ "ArcGIS Velocity": {
474
+ hasAccess: () => e.isPortal || $i(r, n)
475
+ },
476
+ "ArcGIS Hub": {
477
+ hasAccess: () => S("HubforArcGIS", n)
478
+ },
479
+ "ArcGIS Enterprise Sites": {
480
+ hasAccess: () => Ai(n)
481
+ },
482
+ "ArcGIS QuickCapture Web Designer": {
483
+ hasAccess: () => S("arcgisWebApps", n)
484
+ },
485
+ "ArcGIS Dashboards": {
486
+ hasAccess: () => S("dashboards", n)
487
+ },
488
+ "Map Viewer": {
489
+ hasAccess: () => ki(e, n)
490
+ },
491
+ "Map Viewer Classic": {
492
+ hasAccess: () => S("arcgisWebApps", n)
493
+ },
494
+ "Operations Dashboard for ArcGIS": {
495
+ hasAccess: () => S("opsdashboard", n)
496
+ },
497
+ "ArcGIS Dashboards Classic": {
498
+ hasAccess: () => S("opsdashboard", n)
499
+ },
500
+ "Ortho Maker": {
501
+ hasAccess: () => xi(e)
502
+ },
503
+ Notebook: {
504
+ hasAccess: () => Si(e, r, t)
505
+ },
506
+ "Scene Viewer": {
507
+ hasAccess: () => S("arcgisWebApps", n)
508
+ },
509
+ "Story Maps": {
510
+ hasAccess: () => S("arcgisWebApps", n)
511
+ },
512
+ Survey123: {
513
+ hasAccess: () => S("survey123", n)
514
+ },
515
+ "Track Viewer": {
516
+ hasAccess: () => Ii(e, i)
517
+ },
518
+ "Instant Apps": {
519
+ // For Portal
520
+ hasAccess: () => S("arcgisWebApps", n)
521
+ },
522
+ "ArcGIS Maps for Adobe Creative Cloud": {
523
+ hasAccess: () => S("arcgisWebApps", n) && !e.isPortal
524
+ }
525
+ };
526
+ }
527
+ function Ni(e) {
528
+ let t = {
529
+ opsdashboard: 1,
530
+ arcgisWebApps: 1,
531
+ Workforce: 1,
532
+ geoplanner: 1,
533
+ webappbuilder: 1,
534
+ HubforArcGIS: 1,
535
+ appstudio: 1,
536
+ survey123: 1,
537
+ storymaps: 1,
538
+ mapsForOffice: 1,
539
+ mapsForO365: 1,
540
+ mapsForSharePoint: 1,
541
+ mapsForCreativeCloud: 1,
542
+ indoorsweb: 1,
543
+ indoorskiosk: 1,
544
+ indoorsspaceplanner: 1,
545
+ locationplatformWebApps: 1,
546
+ // eslint-disable-next-line @typescript-eslint/naming-convention
547
+ communityanalyst_2: 1
548
+ };
549
+ return e.isPortal && (t = { ...t, arcgisonline: 1, arcgisUrban: 1, arcgisinstantapps: 1 }), t;
550
+ }
551
+ function ie(e) {
552
+ return e.sourceJSON?.subscriptionInfo?.options?.includes("Developer");
553
+ }
554
+ function V(e) {
555
+ return ee(`assets/portal-navigation/apps/${e || ""}`);
556
+ }
557
+ function Le(e, t, i) {
558
+ return e.icon ? `${t.restUrl}/portals/self/resources/${e.icon}?token=${i}` : `${t.restUrl}/content/items/${e.itemId}/resources/${e.image || e.properties?.appSwitcher?.image}?token=${i}`;
559
+ }
560
+ function G(e, t, i) {
561
+ if (e.image ? e.image = V(e.image) : e.placeHolderIcon = `${V()}svg-app-icon.svg`, e.url?.startsWith("../")) {
562
+ const n = i.urlKey ? `${i.urlKey}.${i.customBaseUrl}` : i.portalHostname;
563
+ e.url = `${window.location.protocol}//${n}${e.url.substring(2, e.url.length)}`;
564
+ }
565
+ return delete e.isLicensed, delete e.privileges, e.itemId = t, e;
566
+ }
567
+ function Ee() {
568
+ return `${V()}svg-app-circle.svg`;
569
+ }
570
+ function Ci(e, t, i) {
571
+ const n = e.properties?.appSwitcher?.image || e.icon;
572
+ return {
573
+ abbr: e.properties?.appSwitcher?.abbr || e.abbreviation,
574
+ itemId: e.itemId,
575
+ canAccess: !0,
576
+ webMappingApp: !0,
577
+ image: n ? Le(e, t, i) : void 0,
578
+ label: e.title || e.label,
579
+ url: e.url,
580
+ placeHolderIcon: e.placeHolderIcon || Ee()
581
+ };
582
+ }
583
+ function Ti(e, t, i) {
584
+ return e.appSwitcher?.image || e.icon ? e.image = Le(e, t, i) : e.placeHolderIcon = Ee(), e.abbr = e.appSwitcher?.abbr || e.abbreviation, delete e.abbreviation, delete e.appSwitcher, delete e.approvedApp, delete e.webMappingApp, e;
585
+ }
586
+ function _e(e, t) {
587
+ e.forEach((i) => {
588
+ i.uid === "Map Viewer Beta" && (i.uid = "Map Viewer"), t.isPortal && (i.uid === "Operations Dashboard for ArcGIS" ? i.uid = "ArcGIS Dashboards Classic" : i.uid === "Workforce for ArcGIS" && (i.uid = "ArcGIS Workforce"));
589
+ });
590
+ }
591
+ async function Mi({
592
+ userApps: e,
593
+ servers: t,
594
+ portal: i,
595
+ licenses: n,
596
+ blockedApps: r,
597
+ provisionedListings: o,
598
+ orgCapabilities: s,
599
+ trackViewerEnabled: a,
600
+ notebookServerEnabled: c,
601
+ willQueryForItems: d,
602
+ approvedApps: m
603
+ }) {
604
+ const g = {}, p = {}, _ = Pi(i, c, a, n), $ = Ni(i), w = [], I = e.length;
605
+ for (let h = 0; h < I; h++) {
606
+ const u = e[h], v = u.itemId || u.title;
607
+ let N = !0;
608
+ const y = !u.serverFunction || t?.some((x) => (x.serverFunction?.split(",") || []).includes(u.serverFunction)), b = r?.some(
609
+ (x) => u.itemId && u.itemId === x.itemid || u.title && u.title === x.title
610
+ );
611
+ if (g[v] = 1, p[v] = u, b || ie(i) && !u.showInLocationPlatform || i.sourceJSON?.portalDeploymentType === "ArcGISEnterpriseOnKubernetes" && u.supportsKubernetes === !1)
612
+ continue;
613
+ const k = u.title;
614
+ if (_[k] && !_[k]?.hasAccess())
615
+ continue;
616
+ const C = i.sourceJSON?.subscriptionInfo;
617
+ if (u.subscriptionType) {
618
+ C?.type === u.subscriptionType && (p[v].canAccess = !0, w.push(G(u, v, i)));
619
+ continue;
620
+ }
621
+ if (u.orgCapabilities) {
622
+ s?.length && s.some((j) => u.orgCapabilities?.includes(j.id)) && (p[v].canAccess = !0, w.push(G(u, v, i)));
623
+ continue;
624
+ }
625
+ if (!u.privileges?.length && !u.isLicensed && y && (u.label !== "ArcGIS Location Platform" || ie(i))) {
626
+ p[v].canAccess = !0, w.push(G(u, v, i));
627
+ continue;
628
+ }
629
+ if (i.user?.sourceJSON?.userLicenseTypeId?.toLowerCase() === "storytellerut" && u.label?.toLowerCase() === "storymaps") {
630
+ p[v].canAccess = !0, w.push(G(u, v, i));
631
+ continue;
632
+ }
633
+ if (u.privileges?.length && i.user?.privileges) {
634
+ for (let x = 0; x < u.privileges.length; x++)
635
+ if (!i.user.privileges.includes(u.privileges[x])) {
636
+ N = !1;
637
+ break;
638
+ }
639
+ if (!u.isLicensed && N && y) {
640
+ p[v].canAccess = !0, w.push(G(u, v, i));
641
+ continue;
642
+ }
643
+ }
644
+ if (u.isLicensed && N && y) {
645
+ for (let x = 0; x < o.length; x++)
646
+ if (v === o[x].itemId || v === o[x].title) {
647
+ p[v].canAccess = !0, w.push(G(u, v, i));
648
+ break;
649
+ }
650
+ }
651
+ }
652
+ const P = await Ut(i);
653
+ return o.forEach((h) => {
654
+ if (h.type === "Web Mapping Application" && !$[h.clientId] && !g[h.itemId] && h.url && h.title && !g[h.title] && !h.typeKeywords.includes("hideFromAppSwitcher")) {
655
+ const u = Ci(h, i, P);
656
+ p[h.itemId] = u, w.push(u);
657
+ }
658
+ }), {
659
+ apps: [
660
+ ...m.map((h) => {
661
+ const u = {
662
+ ...h.appProperties,
663
+ itemId: h.itemId,
664
+ webMappingApp: !0,
665
+ approvedApp: !0,
666
+ canAccess: !d
667
+ };
668
+ return p[h.itemId] = u, Ti(u, i, P);
669
+ }),
670
+ ...w
671
+ ],
672
+ appDictionary: p
673
+ };
674
+ }
675
+ function Z(e, t) {
676
+ return e.filter((i) => !t?.some(
677
+ (r) => i.itemId && i.itemId === r.itemid || i.title && i.title === r.title
678
+ ));
679
+ }
680
+ function we({
681
+ apps: e,
682
+ app: t,
683
+ appDictionary: i,
684
+ newAppDictionary: n,
685
+ portal: r
686
+ }) {
687
+ let s = Object.keys(i).map((a) => i[a]).filter((a) => a.itemId === t.uid || a.title === t.uid).shift();
688
+ return s && !i[t.uid] && (t.uid = s.itemId || s.title || ""), s?.hasBeenPopulated || (s ? ((t.hasChanged || s.hasChanged || !s.canAccess && !s.ignoreNoAccess) && Ie(r.user) && (i[t.uid].hasChanged = !0, i[t.uid].ignoreNoAccess = t.ignoreNoAccess), t.isNew && (i[t.uid].isNew = !0), delete n[t.uid]) : (s = t, s.canAccess = !1, s.itemId = t.uid, i[t.uid] = s), i[t.uid].hasBeenPopulated = !0, e.push(s)), e;
689
+ }
690
+ async function Oi({
691
+ portal: e,
692
+ trackViewerEnabled: t,
693
+ notebookServerEnabled: i
694
+ }) {
695
+ if (!e?.id || !e.user)
696
+ return { apps: [], hiddenApps: {} };
697
+ const n = vi(), [r, o, s, a, c, d, m] = await Promise.all([
698
+ mi(e),
699
+ Dt(e),
700
+ zt(e),
701
+ Tt(e),
702
+ Mt(e),
703
+ Ot(e),
704
+ gi(e)
705
+ ]), g = e.isPortal ? await Lt(e) : null, p = s?.result?.properties;
706
+ let _ = r?.appSwitcher?.apps || [];
707
+ e.isPortal || (_ = _.filter(
708
+ (y) => y.title !== "Map Viewer Classic" || e.sourceJSON.created < /* @__PURE__ */ new Date("February 26 2025")
709
+ ), _.unshift(_i(e, p)));
710
+ const $ = a?.result?.approvedApps?.filter((y) => !y.hideForNonPrivilegedMember) || [], w = {};
711
+ o?.forEach((y) => {
712
+ const b = y.clientId?.toLowerCase();
713
+ b && (w[b] = {
714
+ valid: !0,
715
+ itemId: y.itemId,
716
+ clientId: y.clientId
717
+ });
718
+ }), c?.forEach((y) => {
719
+ const b = y.id?.toLowerCase();
720
+ b && (w[b] = {
721
+ valid: !0,
722
+ clientId: y.id
723
+ });
724
+ });
725
+ const I = wi(d, m), { apps: P, appDictionary: f } = await Mi({
726
+ userApps: _,
727
+ servers: g,
728
+ portal: e,
729
+ blockedApps: I,
730
+ provisionedListings: o,
731
+ orgCapabilities: c,
732
+ licenses: w,
733
+ trackViewerEnabled: t,
734
+ notebookServerEnabled: i,
735
+ willQueryForItems: n,
736
+ approvedApps: $
737
+ });
738
+ p?.appLauncher && (p?.appLauncher.primary && _e(p?.appLauncher.primary, e), p?.appLauncher.secondary && _e(p?.appLauncher.secondary, e));
739
+ let h = [], u = [];
740
+ if (!p?.appLauncher?.primary || !p?.appLauncher.secondary)
741
+ h = P.slice().sort((y, b) => (y.label || "") < (b.label || "") ? -1 : 1), h = Z(h, I), u = [];
742
+ else {
743
+ const { result: y } = await fi($, n, e);
744
+ y?.results?.length && y.results.forEach((A) => {
745
+ const k = f[A.id];
746
+ k.canAccess = !0, k.hasChanged = k.url !== A.url ? !!A.url : !1;
747
+ });
748
+ const b = { ...f };
749
+ p?.appLauncher?.primary?.forEach((A) => {
750
+ A.label === "Map Viewer" && (A.uid = "Map Viewer");
751
+ }), h = p?.appLauncher.primary.reduce(
752
+ (A, k) => we({ apps: A, app: k, appDictionary: f, newAppDictionary: b, portal: e }),
753
+ []
754
+ ) || [], u = p?.appLauncher.secondary.reduce(
755
+ (A, k) => we({ apps: A, app: k, appDictionary: f, newAppDictionary: b, portal: e }),
756
+ []
757
+ ) || [], h = Z(h, I), u = Z(u, I), ie(e) && (h = h.filter((A) => A.canAccess), u = u.filter((A) => A.canAccess));
758
+ for (const A of Object.keys(b))
759
+ b[A].canAccess && (b[A].isNew = !0, f[A] = b[A], h.push(b[A]));
760
+ }
761
+ const v = [...h, ...u], N = u.reduce((y, b) => (b.itemId && (y[b.itemId] = !0), y), {});
762
+ return {
763
+ apps: v,
764
+ hiddenApps: N,
765
+ signInSettings: d,
766
+ licenses: w,
767
+ userProperties: p
768
+ };
769
+ }
770
+ function Li(e, t) {
771
+ return !e?.itemId || !t ? !1 : t[e.itemId];
772
+ }
773
+ async function Ei({
774
+ apps: e,
775
+ hiddenApps: t,
776
+ userProperties: i,
777
+ portal: n
778
+ }) {
779
+ const r = e.reduce(
780
+ (s, a) => {
781
+ const c = t[a.itemId];
782
+ return s[c ? "secondary" : "primary"].push({
783
+ label: a.label,
784
+ uid: a.itemId || a.title
785
+ }), s;
786
+ },
787
+ { primary: [], secondary: [] }
788
+ ), o = { ...i || {}, appLauncher: r };
789
+ return await jt(o, n);
790
+ }
791
+ function je({ app: e }) {
792
+ if (!e)
793
+ return null;
794
+ if (!e.canAccess)
795
+ return l`<span class="list-item__logo list-item__logo-empty"></span>`;
796
+ const t = !e.image && e.abbr;
797
+ return l`${t && l`<span class="list-item__logo">${e.placeHolderIcon && l`<img src=${ve(e.placeHolderIcon) ?? L} class="list-item__logo-bg" alt>` || ""}<span style=${xe({ fontSize: e.fontSize || "20px" })} class="list-item__abbr">${e.abbr}</span></span>` || ""}${e.image && l`<img src=${ve(e.image) ?? L} class="list-item__logo" alt>` || ""}`;
798
+ }
799
+ function ji({ app: e, hiddenApps: t, messages: i, toggleAppVisibility: n, handleAppDelete: r }) {
800
+ if (!e || !i)
801
+ return null;
802
+ const o = Li(e, t), { title: s, itemId: a, label: c } = e;
803
+ return l`<calcite-list-item .label=${s || c} class=${te(o ? "app--hidden" : "")}><span slot=content-start>${je({ app: e })}</span>${e.canAccess ? l`<calcite-action .text=${o ? i.show : i.hide} .icon=${o ? "view-hide" : "view-visible"} slot=actions-end @click=${() => a && n(a, !o)}></calcite-action>` : l`<calcite-action .text=${i.delete} icon=x slot=actions-end @click=${() => a && r(a)}></calcite-action>`}</calcite-list-item>`;
804
+ }
805
+ function Di({ app: e, messages: t }) {
806
+ if (!e || !t)
807
+ return null;
808
+ const { title: i, itemId: n, label: r, url: o, isNew: s } = e, a = t?.descriptions?.[i] || t?.descriptions?.[r];
809
+ return l`<li class="list-item"><a class="list-item__link" href=${o ?? L} target=_blank id=${n ?? L} aria-describedby=${`${n}--tooltip`}>${l`<span class="list-item__container">${je({ app: e })}<span class="list-item__title">${r || i}</span>${s && l`<calcite-chip scale=s class="list-item__chip" .label=${t.new}>${t.new}</calcite-chip>` || ""}</span>`}</a>${a && l`<calcite-tooltip .referenceElement=${n} placement=trailing .id=${`${n}--tooltip`} role=tooltip>${a}</calcite-tooltip>` || ""}</li>`;
810
+ }
811
+ function zi({ apps: e, appsLoading: t, appsSearchTerm: i, hiddenApps: n, messages: r, handleAppsSearch: o, handleAppReorder: s, handleAppSave: a, handleAppHide: c, handleAppDelete: d, handleAppCancel: m, handleAppEdit: g, editingApplications: p, portal: _ }) {
812
+ if (!e || !r)
813
+ return null;
814
+ const $ = i?.length > 0, w = (e || []).filter((f) => f.itemId && (!n?.[f.itemId] || $) && bi(i, f)), I = $ ? r.noAppResults.replace("{term}", i) : r.noAppsAvailable, P = $ ? M(_) ? r.noAppsDescriptionPublic : r.noAppResultsDescriptionOrg : r.noAppsAvailable;
815
+ return p ? l`<div class="list__header"><calcite-button appearance=outline width=half @click=${() => {
816
+ m();
817
+ }}>${r.cancel}</calcite-button><calcite-button width=half @click=${() => {
818
+ a();
819
+ }}>${r.applyChanges}</calcite-button></div><calcite-list .label=${r.allMyApplications} drag-enabled @calciteListDragEnd=${(f) => {
820
+ const { newIndex: h, oldIndex: u } = f.detail;
821
+ s({ newIndex: h, oldIndex: u });
822
+ }} .loading=${t}>${U(e, (f) => f.itemId, (f) => ji({ app: f, hiddenApps: n, messages: r, toggleAppVisibility: (h, u) => {
823
+ c({ app: h, hidden: u });
824
+ }, handleAppDelete: d }))}</calcite-list>` : l`<div class="list__header"><calcite-input type=search icon .placeholder=${r.searchMyApps} .value=${i} scale=m class="list__search" @calciteInputInput=${(f) => {
825
+ o(f.currentTarget.value);
826
+ }}></calcite-input><calcite-button appearance=transparent kind=neutral icon-start=reorder-cards .label=${r.reorder} @click=${() => g()} id=customize-apps></calcite-button><calcite-tooltip reference-element=customize-apps><span>${r.customizeApps}</span></calcite-tooltip></div>${w?.length > 0 ? l`<ul class="list">${U(w, (f) => f.itemId, (f) => Di({ app: f, messages: r }))}</ul>` : J({ title: I, description: P, icon: i ? "search" : "apps" })}`;
827
+ }
828
+ const ye = "portalAppClientId", le = {
829
+ GeoanalyticsEngine: "geoanalyticsengine",
830
+ GeoanalyticsFabric: "geoanalyticsfabric",
831
+ IndoorsOnline: "indoorsonline"
832
+ };
833
+ function ue(e) {
834
+ return le.GeoanalyticsEngine === e;
835
+ }
836
+ function de(e) {
837
+ return le.GeoanalyticsFabric === e;
838
+ }
839
+ function De(e) {
840
+ return le.IndoorsOnline === e;
841
+ }
842
+ function pe(e) {
843
+ return ["Location Platform", "GeoAnalytics Fabric", "GeoAnalytics Engine", "Online", "Enterprise"].includes(e);
844
+ }
845
+ function Gi({
846
+ portal: e,
847
+ messages: t,
848
+ licenses: i,
849
+ clientId: n,
850
+ signInSettings: r
851
+ }) {
852
+ if (!t || !e)
853
+ return [];
854
+ const o = e.sourceJSON?.subscriptionInfo, s = Wi({ messages: t, portal: e });
855
+ if (!e.user)
856
+ return s;
857
+ if (!e || !s || e?.user && !i && !M(e))
858
+ return [];
859
+ const a = Hi({
860
+ portal: e,
861
+ licenses: i,
862
+ subscriptionInfo: o
863
+ }), c = Vi({
864
+ messages: t,
865
+ portal: e,
866
+ clientId: n,
867
+ signInSettings: r,
868
+ navLinkDictionary: a
869
+ });
870
+ return Ui({ links: c, portal: e });
871
+ }
872
+ function $e(e, t) {
873
+ return t ? e.configName ? t.indexOf(e.configName) : t.length : 0;
874
+ }
875
+ function Ui({
876
+ links: e,
877
+ portal: t
878
+ }) {
879
+ const i = t.portalProperties?.topNav;
880
+ if (!i)
881
+ return e;
882
+ const n = i.customPage;
883
+ return n?.enabled && (n.visibility !== "members" || t.user?.orgId === t.id) && e.push({ label: n.name, href: n.url, configName: "customPage", icon: "link" }), i.order ? e.sort((r, o) => $e(r, i.order) - $e(o, i.order)) : e;
884
+ }
885
+ function Bi(e) {
886
+ const { id: t, access: i, isPortal: n } = e;
887
+ return !t && !i && !n;
888
+ }
889
+ function Ri(e, t, i) {
890
+ if (i === "customPage")
891
+ return !1;
892
+ const n = new URL(e), r = t || window.location.pathname;
893
+ return n.pathname === r;
894
+ }
895
+ function ze({
896
+ portal: e,
897
+ clientId: t,
898
+ signInSettings: i
899
+ }) {
900
+ const n = e.user, r = De(t), o = !!i?.blockedApps?.includes("arcgisnotebooks"), s = e.portalProperties, {
901
+ gallery: a = "all",
902
+ groups: c = "all",
903
+ map: d = "all",
904
+ notebook: m = "notebookCreators",
905
+ scene: g = "all"
906
+ } = s?.topNav || {};
907
+ let p = ["home"];
908
+ if (!n) {
909
+ if (!s?.topNav) {
910
+ const $ = ["gallery", "map", "scene", "groups"], w = e.isPortal ? ["help"] : [];
911
+ return [...p, ...$, ...w];
912
+ }
913
+ return [
914
+ ...p,
915
+ ...a === "all" ? ["gallery"] : [],
916
+ ...d === "all" ? ["map"] : [],
917
+ ...g === "all" ? ["scene"] : [],
918
+ ...c === "all" ? ["groups"] : [],
919
+ ...e.isPortal ? ["help"] : []
920
+ ];
921
+ }
922
+ const _ = n.orgId === e.id;
923
+ return !s?.topNav && M(e) ? p = ["ArcGIS", "overview", "pricing", "map", "scene", "groups", "myContent"] : p = [
924
+ ...p,
925
+ ...(a === "all" || a === "members" && _) && !r ? ["gallery"] : [],
926
+ ...(d === "all" || d === "members" && _ || d === "mapCreators" && me(n)) && !r ? ["map"] : [],
927
+ ...(g === "all" || g === "members" && _ || g === "sceneCreators" && me(n)) && !r ? ["scene"] : [],
928
+ ...!o && // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
929
+ (!e.isPortal || e.sourceJSON.supportsHostedNotebooks) && (m === "members" && _ || m === "notebookCreators" && Ct(n)) && !r ? ["notebook"] : [],
930
+ ...(c === "all" || c === "members" && _) && !r ? ["groups"] : [],
931
+ ..._ && !r ? ["myContent", "organization"] : []
932
+ ], p;
933
+ }
934
+ function E(e) {
935
+ return `${Se({ portal: e })}/`;
936
+ }
937
+ function Fi({
938
+ keys: e,
939
+ navLinkDictionary: t,
940
+ messages: i
941
+ }) {
942
+ const n = [];
943
+ return e.forEach((r) => {
944
+ const o = t[r];
945
+ if (o && (!("show" in o) || o.show)) {
946
+ const { href: s, newTab: a, icon: c, relativePath: d, configName: m } = o;
947
+ n.push({
948
+ label: i[r],
949
+ href: s,
950
+ newTab: a,
951
+ relativePath: d,
952
+ configName: m,
953
+ icon: c
954
+ });
955
+ }
956
+ }), n;
957
+ }
958
+ function Wi({
959
+ messages: e,
960
+ portal: t
961
+ }) {
962
+ if (!e || !t)
963
+ return [];
964
+ const i = E(t), n = {
965
+ overview: { label: e.overview, href: `${i}../features/features.html`, icon: "information" },
966
+ pricing: { label: e.pricing, href: `${i}../features/plans/pricing.html`, icon: "credit-card" },
967
+ map: { label: e.map, href: `${i}apps/mapviewer/index.html`, icon: "map", configName: "map" },
968
+ scene: { label: e.scene, href: `${i}webscene/viewer.html`, icon: "globe", configName: "scene" },
969
+ help: { label: e.help, href: ae(t), newTab: !0, icon: "headset" },
970
+ home: { label: e.home, href: `${i}index.html`, relativePath: "index.html", icon: "home" },
971
+ gallery: {
972
+ label: e.gallery,
973
+ href: `${i}gallery.html`,
974
+ relativePath: "gallery.html",
975
+ icon: "gallery",
976
+ configName: "gallery"
977
+ },
978
+ groups: {
979
+ label: e.groups,
980
+ href: `${i}groups.html`,
981
+ relativePath: "groups.html",
982
+ icon: "group",
983
+ configName: "groups"
984
+ }
985
+ };
986
+ return (Bi(t) ? ["overview", "pricing", "map", "scene", "help"] : ze({ portal: t })).map((o) => n[o]);
987
+ }
988
+ function Vi({
989
+ messages: e,
990
+ portal: t,
991
+ clientId: i,
992
+ signInSettings: n,
993
+ navLinkDictionary: r
994
+ }) {
995
+ const o = ue(i), s = ze({ portal: t, clientId: i, signInSettings: n }), a = `${E(t)}geoanalytics${o ? "engine" : "fabric"}.html`;
996
+ return o || de(i) ? [
997
+ {
998
+ // TODO: active calculations in the component need to account for hash for these options
999
+ href: `${a}#subscription`,
1000
+ label: e.subscription
1001
+ },
1002
+ ...o ? [
1003
+ {
1004
+ href: `${a}#downloads`,
1005
+ label: e.downloads
1006
+ }
1007
+ ] : [],
1008
+ {
1009
+ href: `${a}#credentials`,
1010
+ label: e.developerCredentials
1011
+ },
1012
+ {
1013
+ href: `${a}#account`,
1014
+ label: e.account
1015
+ }
1016
+ ] : Fi({ keys: s, messages: e, navLinkDictionary: r });
1017
+ }
1018
+ function Hi({
1019
+ portal: e,
1020
+ licenses: t,
1021
+ subscriptionInfo: i
1022
+ }) {
1023
+ const n = e.user, r = E(e), o = i?.options?.includes("Developer"), s = S("arcgiswebapps", t) || o && S("locationplatformwebapps", t) || M(e);
1024
+ return {
1025
+ pricing: { href: `${r}../features/plans/pricing.html` },
1026
+ overview: { href: `${r}../features/features.html` },
1027
+ ArcGIS: {
1028
+ href: `${r}${M(e) ? "index.html" : "../features/features.html"}`,
1029
+ show: M(e) || !n
1030
+ },
1031
+ groups: {
1032
+ href: `${r}groups.html`,
1033
+ relativePath: "groups.html",
1034
+ icon: "group",
1035
+ configName: "groups"
1036
+ },
1037
+ myContent: {
1038
+ href: `${r}content.html`,
1039
+ relativePath: "content.html",
1040
+ icon: "files"
1041
+ },
1042
+ map: {
1043
+ show: s,
1044
+ href: `${r}apps/mapviewer/index.html`,
1045
+ icon: "map",
1046
+ configName: "map"
1047
+ },
1048
+ help: {
1049
+ href: ae(e),
1050
+ newTab: !0
1051
+ },
1052
+ gallery: {
1053
+ show: !!e.id && !o,
1054
+ href: `${r}gallery.html`,
1055
+ relativePath: "gallery.html",
1056
+ icon: "gallery",
1057
+ configName: "gallery"
1058
+ },
1059
+ home: {
1060
+ show: !M(e) && !o,
1061
+ href: `${r}index.html`,
1062
+ relativePath: "index.html",
1063
+ icon: "home"
1064
+ },
1065
+ scene: {
1066
+ show: s,
1067
+ href: `${r}webscene/viewer.html`,
1068
+ icon: "globe",
1069
+ configName: "scene"
1070
+ },
1071
+ notebook: {
1072
+ show: Bt(e),
1073
+ href: `${r}notebook/notebookhome.html`,
1074
+ relativePath: "notebook/notebookhome.html",
1075
+ icon: "notebook",
1076
+ configName: "notebook"
1077
+ },
1078
+ organization: {
1079
+ show: !M(e),
1080
+ href: `${r}organization.html`,
1081
+ relativePath: "organization.html",
1082
+ icon: "organization"
1083
+ },
1084
+ features: {
1085
+ show: M(e) && !e.isPortal,
1086
+ href: `${r}../features/features.html`,
1087
+ icon: "information"
1088
+ }
1089
+ };
1090
+ }
1091
+ function qi({ portal: e, item: t, messages: i, navigate: n, locale: r }) {
1092
+ if (!t || !i || !t.modified)
1093
+ return null;
1094
+ const o = t.modified, s = { lessThanOneMinute: i.lessThanOneMinute }, a = Ne(Ce(o)), c = a?.[1] === "year" || a?.[1] === "month" ? Xt({ locale: r, time: o }, a?.[1] === "year") : Te({ locale: r, time: o, t9n: s }), d = `item.html?id=${t.id}`, m = `${E(e)}${d}}`;
1095
+ return se(t.id, l`<li class="list-item"><a class="list-item__link" href=${m ?? L} @click=${(g) => {
1096
+ n({ event: g, href: m, relativePath: d });
1097
+ }}>${l`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular">${t.title}</span><span class="list-item__subtitle">${K(i.lastUpdated, { date: c })}</span></span></span>`}</a></li>`);
1098
+ }
1099
+ function Ji({ locale: e, navigate: t, portal: i, open: n, apps: r, appsLoading: o, hiddenApps: s, appsSearchTerm: a, handlePlatformClose: c, handleAppsSearch: d, handleAppReorder: m, handleAppSave: g, handleAppDelete: p, handleAppHide: _, handleAppCancel: $, handleAppEdit: w, handleItemSearch: I, editingApplications: P, recentContent: f, recentContentLoading: h, recentContentSearchTerm: u, product: v, platformInfo: N, links: y, messages: b }) {
1100
+ if (!v || !i || !b)
1101
+ return null;
1102
+ const { name: A, icon: k } = N || {};
1103
+ return l`<calcite-sheet class="platform" .label=${b.label} position=inline-start display-mode=overlay id=example-sheet .open=${n} @calciteSheetClose=${c}><calcite-panel class="platform__panel"><div slot=header-content class="platform__header"><img src=${k ?? L} class="platform__header-image"><div class="platform__header-text"><h2 class="platform__title">${A}</h2><p class="platform__subtitle">${i.name}</p></div><calcite-action icon=x text="Close menu" scale=l @click=${c}></calcite-action></div><div class="platform__container"><div class="platform__tiles">${y.filter(({ icon: C }) => C).map(({ label: C, href: O, icon: x, relativePath: j }) => l`<calcite-tile .icon=${x} .description=${C} .href=${O} alignment=center scale=s @keydown=${(D) => {
1104
+ (D.key === "Enter" || D.key === " ") && t({ event: D, href: O, relativePath: j });
1105
+ }} @click=${(D) => {
1106
+ t({ event: D, href: O, relativePath: j });
1107
+ }}></calcite-tile>`)}</div>${i?.user && l`<calcite-tabs layout=center class="platform__tabs"><calcite-tab-nav slot=title-group>${!M(i) && l`<calcite-tab-title selected>${b.myApps}</calcite-tab-title>` || ""}<calcite-tab-title>${b.recentContent}</calcite-tab-title></calcite-tab-nav>${!M(i) && l`<calcite-tab selected class="platform__tab">${o && l`<calcite-scrim loading></calcite-scrim>` || ""}${zi({ apps: r, appsLoading: o, appsSearchTerm: a, hiddenApps: s, messages: b, handleAppsSearch: d, handleAppReorder: m, handleAppSave: g, handleAppDelete: p, handleAppHide: _, handleAppCancel: $, handleAppEdit: w, editingApplications: P, portal: i })}</calcite-tab>` || ""}<calcite-tab class="platform__tab"><div class="list__header"><calcite-input type=search icon .placeholder=${b.searchRecentContent} .value=${u} scale=m class="list__search" @calciteInputInput=${(C) => I(C.target.value)}></calcite-input></div>${h && !o && l`<calcite-scrim loading></calcite-scrim>` || ""}<div class="list__container">${f?.length > 0 || h ? l`<ul class="list">${U(f, (C) => C.id, (C) => qi({ portal: i, messages: b, navigate: t, item: C, locale: e }))}</ul>` : u?.length ? J({ title: K(b.noAppResults, { term: u }), description: b.recentContentNoResultsDescription, icon: "search" }) : J({ title: b.noContent, description: b.noContentDescription, icon: "clock" })}</div></calcite-tab></calcite-tabs>` || ""}</div></calcite-panel></calcite-sheet>`;
1108
+ }
1109
+ const ne = [
1110
+ "new",
1111
+ "open",
1112
+ "rename",
1113
+ "save",
1114
+ "saveCopy",
1115
+ "share",
1116
+ "copyLink",
1117
+ "embed",
1118
+ "details"
1119
+ ];
1120
+ async function Ki(e) {
1121
+ return await Promise.resolve({ status: "success" });
1122
+ }
1123
+ function re(e) {
1124
+ return ne.includes(e.id);
1125
+ }
1126
+ function Qi(e) {
1127
+ return (e || [])?.toSorted((t, i) => {
1128
+ const n = re(t), r = re(i);
1129
+ return n && !r ? -1 : r && !n ? 1 : r && n ? ne.indexOf(t.id) - ne.indexOf(i.id) : -1;
1130
+ });
1131
+ }
1132
+ function Xi(e, t) {
1133
+ const i = {
1134
+ new: [],
1135
+ save: [],
1136
+ share: [],
1137
+ details: [],
1138
+ custom: []
1139
+ };
1140
+ if (!t || !e?.length)
1141
+ return i;
1142
+ const n = {
1143
+ new: { text: t.new, group: "new" },
1144
+ open: { text: t.open, group: "new" },
1145
+ rename: { text: t.rename, group: "save" },
1146
+ save: { text: t.save, group: "save" },
1147
+ saveCopy: { text: t.saveAsCopy, group: "save" },
1148
+ share: { text: t.manageSharing, group: "share" },
1149
+ copyLink: { text: t.copyLink, group: "share" },
1150
+ embed: { text: t.embed, group: "share" },
1151
+ details: { text: t.itemDetails, group: "details", external: !0 }
1152
+ }, r = Qi(e), o = [];
1153
+ return r.forEach((s) => {
1154
+ if (!re(s)) {
1155
+ o.push(s);
1156
+ return;
1157
+ }
1158
+ const { text: c, external: d, group: m } = n[s.id];
1159
+ i[m].push({ text: c, external: d, ...s });
1160
+ }), o.forEach((s) => {
1161
+ const a = s.group || "custom";
1162
+ i[a].push(s);
1163
+ }), i;
1164
+ }
1165
+ function Yi({ navigate: e, portal: t, menuItem: i, messages: n, portalItem: r, openProjectTitleEdit: o, projectMenuClick: s }) {
1166
+ if (!t || !n || !i || i.id === "details" && !r)
1167
+ return null;
1168
+ const { external: a, id: c, text: d } = i, m = `${E(t)}item.html?id=${r?.id}`;
1169
+ return se(`${c}${d}`, l`<calcite-dropdown-item .iconEnd=${a ? "launch" : void 0} .href=${c === "details" ? m : i.href} .target=${a ? "_blank" : void 0} @calciteDropdownItemSelect=${(g) => {
1170
+ if (c === "rename") {
1171
+ o?.();
1172
+ return;
1173
+ }
1174
+ c === "details" && e({ event: g, href: m }), s?.({ type: c });
1175
+ }}>${d}${c === "save" && l`<calcite-icon icon=bullet-point-large class="project__indicator" scale=s></calcite-icon>` || ""}</calcite-dropdown-item>`);
1176
+ }
1177
+ function Zi({ navigate: e, portal: t, projectTitle: i, editedProjectTitle: n, handleProjectTitleSave: r, handleProjectTitleEdit: o, handleProjectTitleCancel: s, openProjectTitleEdit: a, portalItem: c, projectTitleEditing: d, projectTitleSaving: m, projectTitleErrorMessage: g, projectMenuIcon: p, projectMenuSaveIndicator: _, projectMenuClick: $, projectMenuOptions: w, projectTitleInputRef: I, projectButtonRef: P, messages: f }) {
1178
+ if (!t || !f || !w?.length && !i)
1179
+ return null;
1180
+ if (!w?.length)
1181
+ return l`<div class="project__title">${p && l`<calcite-icon .icon=${p} scale=s class="project__menu-icon"></calcite-icon>` || ""}<h1 class="project__title__header">${i}</h1>${_ && l`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}</div>`;
1182
+ const h = Xi(w, f), u = !!g;
1183
+ return d ? l`<form class="rename" @submit=${async (v) => {
1184
+ v.preventDefault(), await r?.(n);
1185
+ }} @keydown=${(v) => {
1186
+ v.key === "Escape" && s?.();
1187
+ }}><calcite-input id=project-title-input type=text scale=l class="rename__input" .label=${f.title} .value=${n} .status=${u ? "invalid" : "idle"} @calciteInputInput=${(v) => o?.(v.target.value)} ${W(I)}></calcite-input>${u && l`<calcite-popover open .label=${f.error} .referenceElement=${I?.value || "project-title-input"} pointer-disabled placement=bottom-start><calcite-notice kind=danger open><div slot=message>${g}</div></calcite-notice></calcite-popover>` || ""}<calcite-action .disabled=${m} icon=check scale=l .text=${f?.saveRename} active class="rename__action" type=submit .loading=${m}></calcite-action><calcite-action .disabled=${m} icon=x scale=l .text=${f?.cancelRename} class="rename__action" @click=${() => s?.()}></calcite-action></form>` : l`<calcite-dropdown width=m class="fade-in project__dropdown"><button slot=trigger class="project" ${W(P)}>${p && l`<calcite-icon scale=s .icon=${p} class="project__menu-icon"></calcite-icon>` || ""}<span class="project__text">${i}</span>${_ && l`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}<calcite-icon scale=s icon=chevron-down></calcite-icon></button>${U(Object.entries(h).filter(([v, N]) => N.length), ([v, N]) => v, ([v, N]) => l`<calcite-dropdown-group selection-mode=none>${N.map((y) => Yi({ menuItem: y, navigate: e, portal: t, messages: f, portalItem: c, openProjectTitleEdit: a, projectMenuClick: $ }))}</calcite-dropdown-group>`)}</calcite-dropdown>`;
1188
+ }
1189
+ function en(e) {
1190
+ return ["Location Platform", "Online", "Enterprise"].includes(e);
1191
+ }
1192
+ function Ge({
1193
+ portal: e,
1194
+ searchType: t,
1195
+ searchTerm: i
1196
+ }) {
1197
+ const r = e?.sourceJSON?.vectorSearchEnabled ? `&mode=${t}` : "";
1198
+ return `search.html?q=${i}${r}`;
1199
+ }
1200
+ function tn({ portal: e, item: t, messages: i, navigate: n }) {
1201
+ if (!t || !i)
1202
+ return null;
1203
+ const r = K(i.by, {
1204
+ itemType: Gt(t),
1205
+ owner: t.owner
1206
+ }), o = `item.html?id=${t.id}`, s = `${E(e)}${o}`;
1207
+ return se(t.id, l`<li class="list-item"><a class="list-item__link" href=${s ?? L} @click=${(a) => n({ event: a, href: s, relativePath: o })}>${l`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular list-item__title--large">${t.title}</span><span class="list-item__subtitle list-item__subtitle--large">${r}</span></span></span>`}</a></li>`);
1208
+ }
1209
+ function nn({ portal: e, suggestions: t, messages: i, navigate: n, searchType: r, searchTerm: o }) {
1210
+ if (!i || !e || !o)
1211
+ return null;
1212
+ if (!t)
1213
+ return l`<div><calcite-loader scale=l .label=${i.loadingResults}></calcite-loader></div>`;
1214
+ const s = Ge({ portal: e, searchType: r, searchTerm: o }), a = `/${s}`, c = `${E(e)}${s}`;
1215
+ return l`<ul class="list">${t.map((d) => tn({ messages: i, portal: e, item: d, navigate: n }))}</ul><div class="suggestions__footer"><calcite-button icon-end=arrow-right scale=l appearance=outline class="suggestions__footer__button" kind=neutral round .href=${c} @click=${(d) => {
1216
+ n({ href: c, event: d, relativePath: a });
1217
+ }}>${i.viewAll}</calcite-button></div>`;
1218
+ }
1219
+ function rn({ portal: e, messages: t, searchType: i, handleSearchTypeChange: n }) {
1220
+ if (!t || !e?.sourceJSON?.vectorSearchEnabled)
1221
+ return null;
1222
+ const r = i === "keyword", o = t.searchType;
1223
+ return l`<calcite-chip .label=${o.label} .icon=${r ? "text" : "effects"} id=search-type-toggle appearance=solid kind=neutral><span>${r ? o.keywordTitle : o.semanticTitle}</span><calcite-icon icon=chevron-down scale=s class="suggestions__search-type__icon" aria-hidden=true></calcite-icon></calcite-chip><calcite-popover pointer-disabled .label=${t.searchType.label} reference-element=search-type-toggle placement=bottom-end class="suggestions__search-type"><div class="esri-header-search-type-popover-contents"><calcite-list .label=${t.searchType.label} interaction-mode=interactive display-mode=flat scale=m selection-mode=none><calcite-list-item @calciteListItemSelect=${() => n("keyword")} icon-start=text value=keyword .label=${o.keywordTitle} .description=${o.keywordDescription}></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => n("vector")} icon-start=effects value=semantic .label=${o.semanticTitle} .description=${o.semanticDescription}></calcite-list-item></calcite-list></div></calcite-popover>`;
1224
+ }
1225
+ function on({ currentPathname: e, navigate: t, product: i, portal: n, messages: r, searchActive: o, searchType: s, searchTerm: a, suggestions: c, searchInputRef: d, searchActionRef: m, searchPopoverRef: g, handleSearch: p, handleToggleSearch: _, handleSearchTypeChange: $ }) {
1226
+ if (!en(i) || !r || !n || e?.includes("search.html"))
1227
+ return null;
1228
+ const w = Ge({ portal: n, searchType: s, searchTerm: a }), I = `/${w}`, P = `${E(n)}${w}`;
1229
+ return o ? l`<div class="search" id=search-reference-element><calcite-input type=search scale=l icon=search class="search__input" .ariaLabel=${r.label} .placeholder=${s === "vector" ? r.searchType.semanticPlaceholder : r.searchType.keywordPlaceholder} @calciteInputInput=${(f) => p(f.target.value)} @keydown=${(f) => {
1230
+ f.key === "Enter" && (t({ href: P, event: f, relativePath: I }), f.defaultPrevented || (window.location.href = P)), f.key === "Escape" && _(!1);
1231
+ }} ${W(d)}></calcite-input><calcite-action icon=x scale=l .text=${r?.close} active class="search__action" @click=${() => _(!1)}></calcite-action><calcite-popover .label=${r.suggestions} reference-element=search-reference-element .open=${o && !!a} pointer-disabled placement=bottom-start trigger-disabled .focusTrapOptions=${{ initialFocus: !1 }} ${W(g)}><div class="suggestions__header"><h3 class="suggestions__title">${r.topResults}</h3>${rn({ portal: n, messages: r, searchType: s, handleSearchTypeChange: $ })}</div><div class="suggestions__results">${nn({ portal: n, suggestions: c, navigate: t, messages: r, searchType: s, searchTerm: a })}</div></calcite-popover></div>` : l`<calcite-action icon=search scale=l text=search class="search__action fade-in" @click=${() => _(!0)} ${W(m)}></calcite-action>`;
1232
+ }
1233
+ function sn({ signIn: e, messages: t }) {
1234
+ return l`<calcite-menu slot=user .label=${t?.account || ""} class="border-start fade-in"><calcite-menu-item .label=${t?.signIn || ""} text-enabled .text=${t?.signIn || ""} @calciteMenuItemSelect=${() => e()}></calcite-menu-item></calcite-menu>`;
1235
+ }
1236
+ function an({ navigate: e, portal: t, product: i, links: n, messages: r, currentPathname: o, searchActive: s }) {
1237
+ return !i || !t || !r || !pe(i) || !n || s ? null : l`<calcite-menu slot=content-start .label=${r.label} class="site-nav fade-in">${U(n, ({ href: a }) => a, ({ label: a, href: c, relativePath: d, configName: m }) => l`<calcite-menu-item .text=${a} text-enabled .label=${a} .href=${c} .active=${Ri(c, o, m)} @click=${(g) => e({ event: g, href: c, relativePath: d })}></calcite-menu-item>`)}</calcite-menu>`;
1238
+ }
1239
+ function cn({ userLinks: e, messages: t, navigate: i, openAccountSwitcher: n, portal: r, signOut: o, textDisabled: s }) {
1240
+ const a = r?.user;
1241
+ return !a || !e || !t || e?.account?.options.length < 1 && e?.resources?.options.length < 1 ? null : l`<div class="user fade-in"><calcite-dropdown .width=${s ? "l" : "m"} class="user__dropdown"><calcite-button class="user__button" slot=trigger appearance=transparent kind=neutral><span class="user__button__contents"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__button__avatar"></arcgis-portal-user-avatar>${!s && l`<span class="user__button__text"><h2 class="user__button__full user__full">${a.fullName}</h2><p class="user__button__username user__username">${a.username}</p></span>` || ""}</span></calcite-button>${s && l`<div class="user__top"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__avatar"></arcgis-portal-user-avatar><div class="user__top__text"><h2 class="user__top__full user__full">${a.fullName}</h2><p class="user__top__username user__username">${a.username}</p></div></div>` || ""}${Object.values(e).filter((c) => c.options.length).map(({ title: c, options: d }) => l`<calcite-dropdown-group selection-mode=none .groupTitle=${c}>${d.map(({ icon: m, label: g, href: p, relativePath: _ }) => l`<calcite-dropdown-item .iconStart=${m} .href=${p} @keydown=${($) => {
1242
+ ($.key === "Enter" || $.key === " ") && i({ event: $, href: p, relativePath: _ });
1243
+ }} @click=${($) => {
1244
+ i({ event: $, href: p, relativePath: _ });
1245
+ }}>${g}</calcite-dropdown-item>`)}</calcite-dropdown-group>`)}<calcite-dropdown-group selection-mode=none>${n && l`<calcite-dropdown-item icon-start=users @calciteDropdownItemSelect=${(c) => {
1246
+ const d = Ft(c.target, "calcite-dropdown");
1247
+ d && (d.open = !1), n();
1248
+ }}>${t.switchAccounts}</calcite-dropdown-item>` || ""}<calcite-dropdown-item icon-start=sign-out @calciteDropdownItemSelect=${() => o()}>${t.signOut}</calcite-dropdown-item></calcite-dropdown-group></calcite-dropdown></div>`;
1249
+ }
1250
+ const Ue = {
1251
+ community: "https://community.esri.com/plugins/common/feature/oauth2sso_v2/sso_login_redirect?referer=https%3A%2F%2Fcommunity.esri.com%2F",
1252
+ myEsri: "https://my.esri.com"
1253
+ };
1254
+ function ln({
1255
+ messages: e,
1256
+ userLinks: t
1257
+ }) {
1258
+ const i = {
1259
+ account: { title: e.account, options: [] },
1260
+ resources: { title: e.resources, options: [] }
1261
+ };
1262
+ return t.forEach((n) => {
1263
+ i[n.group].options.push(n);
1264
+ }), i;
1265
+ }
1266
+ function un({
1267
+ portal: e,
1268
+ messages: t,
1269
+ clientId: i
1270
+ }) {
1271
+ if (!e?.user || !t)
1272
+ return {
1273
+ account: { title: t?.account, options: [] },
1274
+ resources: { title: t?.account, options: [] }
1275
+ };
1276
+ const n = hn(e), r = dn({ navLinkDictionary: n, messages: t, clientId: i });
1277
+ return ln({ userLinks: r, messages: t });
1278
+ }
1279
+ function dn({
1280
+ navLinkDictionary: e,
1281
+ messages: t,
1282
+ clientId: i
1283
+ }) {
1284
+ let n = [
1285
+ "myProfile",
1286
+ "mySettings",
1287
+ "myEsri",
1288
+ "training",
1289
+ "trialDownload",
1290
+ "communityForums",
1291
+ "arcgisBlog",
1292
+ "help"
1293
+ ];
1294
+ return (ue(i) || de(i)) && (n = ["mySettings", "arcgisBlog", "help"]), De(i) && (n = []), pn(n, t, e);
1295
+ }
1296
+ function pn(e, t, i) {
1297
+ const n = [];
1298
+ return e.forEach((r) => {
1299
+ const o = i[r];
1300
+ if (o && (!("show" in o) || o.show)) {
1301
+ const { href: s, newTab: a, icon: c, group: d, relativePath: m } = o;
1302
+ n.push({
1303
+ label: t[r],
1304
+ group: d,
1305
+ href: s,
1306
+ newTab: a,
1307
+ relativePath: m,
1308
+ icon: c
1309
+ });
1310
+ }
1311
+ }), n;
1312
+ }
1313
+ function hn(e) {
1314
+ const t = E(e), i = mn(e), n = `user.html${window.location.pathname.includes("home/user.html") ? "?nav=1" : ""}`;
1315
+ return {
1316
+ myProfile: {
1317
+ href: `${t}${n}`,
1318
+ relativePath: n,
1319
+ group: "account",
1320
+ icon: "user"
1321
+ },
1322
+ mySettings: {
1323
+ href: `${t}${n}#settings`,
1324
+ relativePath: `${n}#settings`,
1325
+ group: "account",
1326
+ icon: "gear"
1327
+ },
1328
+ help: {
1329
+ group: "resources",
1330
+ icon: "question",
1331
+ href: ae(e),
1332
+ newTab: !0
1333
+ },
1334
+ communityForums: {
1335
+ show: i,
1336
+ group: "resources",
1337
+ icon: "speech-bubbles",
1338
+ href: Ue.community,
1339
+ newTab: !0
1340
+ },
1341
+ myEsri: {
1342
+ show: i,
1343
+ group: "account",
1344
+ icon: "globe",
1345
+ href: gn(e),
1346
+ newTab: !0
1347
+ },
1348
+ arcgisBlog: {
1349
+ show: i,
1350
+ group: "resources",
1351
+ icon: "article",
1352
+ href: "https://www.esri.com/arcgis-blog/products/arcgis-online",
1353
+ newTab: !0
1354
+ },
1355
+ training: {
1356
+ show: i,
1357
+ group: "resources",
1358
+ icon: "education",
1359
+ href: fn(e),
1360
+ newTab: !0
1361
+ },
1362
+ trialDownload: {
1363
+ group: "resources",
1364
+ icon: "download-to",
1365
+ show: vn(e),
1366
+ href: `${t}/home/user.html${window.location.pathname.includes("home/user.html") ? "?nav=1&tab=licenses" : "?tab=licenses"}#settings`
1367
+ }
1368
+ };
1369
+ }
1370
+ function mn(e) {
1371
+ return !e.isPortal && e?.user?.sourceJSON?.userType === "both";
1372
+ }
1373
+ function fn(e) {
1374
+ return Be(
1375
+ e,
1376
+ `${window.location.protocol}//www.esri.com/training/arcgis-online-training`
1377
+ );
1378
+ }
1379
+ function gn(e) {
1380
+ return Be(e, Ue.myEsri);
1381
+ }
1382
+ function Be(e, t) {
1383
+ const i = ce(e), n = bn(e), r = `https://accounts${n ? n === "dev" ? "-dev" : "-stg" : ""}.esri.com/`, o = `&authBaseUrl=${q(i.replace("/sharing/rest/", ""), e)}`, s = `${r}LoginHandler/switchuser?`, a = `username=${e?.user?.username ?? ""}&redirect_uri=${t}${o}`;
1384
+ return `${s}${a}`;
1385
+ }
1386
+ function bn(e) {
1387
+ const t = e.portalHostname;
1388
+ return t?.includes("dev") ? "dev" : t?.includes("qa") ? "qa" : "";
1389
+ }
1390
+ function vn(e) {
1391
+ return !e?.isPortal && ["Trial", "Trial Press"].includes(e?.sourceJSON.subscriptionInfo?.type);
1392
+ }
1393
+ function Re(e) {
1394
+ switch (e) {
1395
+ case "360 VR":
1396
+ return {
1397
+ name: "360 VR",
1398
+ fileName: "arcgis-360-vr",
1399
+ icon: "arcgis-360-vr"
1400
+ };
1401
+ case "Business Analyst":
1402
+ return {
1403
+ name: "ArcGIS Business Analyst",
1404
+ fileName: "arcgis-business-analyst",
1405
+ icon: "business-analyst"
1406
+ };
1407
+ case "Dashboards":
1408
+ return {
1409
+ name: "ArcGIS Dashboards",
1410
+ fileName: "arcgis-dashboards",
1411
+ icon: "operations-dashboard"
1412
+ };
1413
+ case "Data Pipelines":
1414
+ return {
1415
+ name: "ArcGIS Data Pipelines",
1416
+ fileName: "arcgis-data-pipelines",
1417
+ icon: "data-pipelines"
1418
+ };
1419
+ case "Deep Learning Studio":
1420
+ return {
1421
+ name: "Deep Learning Studio",
1422
+ fileName: "arcgis-deep-learning-studio",
1423
+ icon: "deeplearningstudio"
1424
+ };
1425
+ case "Enterprise":
1426
+ return {
1427
+ name: "ArcGIS Enterprise",
1428
+ fileName: "arcgis-enterprise",
1429
+ icon: "arcgis-enterprise"
1430
+ };
1431
+ case "Excalibur":
1432
+ return {
1433
+ name: "ArcGIS Excalibur",
1434
+ fileName: "arcgis-excalibur",
1435
+ icon: "excalibur"
1436
+ };
1437
+ case "Experience Builder":
1438
+ return {
1439
+ name: "ArcGIS Experience Builder",
1440
+ fileName: "arcgis-experience-builder",
1441
+ icon: "arcgis-experience-builder"
1442
+ };
1443
+ case "Field Maps":
1444
+ return {
1445
+ name: "Field Maps Designer",
1446
+ fileName: "arcgis-field-maps",
1447
+ icon: "fieldmaps"
1448
+ };
1449
+ case "Field Maps Designer EA":
1450
+ return {
1451
+ name: "Field Maps Designer (EA)",
1452
+ fileName: "arcgis-field-maps-designer-ea",
1453
+ icon: "fieldmaps"
1454
+ };
1455
+ case "GeoAnalytics Engine":
1456
+ case "GeoAnalytics Fabric":
1457
+ return {
1458
+ name: e,
1459
+ fileName: "arcgis-geoanalytics-engine",
1460
+ icon: "arcgis-geoanalytics"
1461
+ };
1462
+ case "GeoBIM":
1463
+ return {
1464
+ name: "ArcGIS GeoBIM",
1465
+ fileName: "arcgis-geobim",
1466
+ icon: "geobim"
1467
+ };
1468
+ case "Hub":
1469
+ return {
1470
+ name: "ArcGIS Hub",
1471
+ fileName: "arcgis-hub",
1472
+ icon: "arcgis-hub"
1473
+ };
1474
+ case "Instant Apps":
1475
+ return {
1476
+ name: "Instant Apps",
1477
+ fileName: "arcgis-instant-apps",
1478
+ icon: "instant-apps"
1479
+ };
1480
+ case "Knowledge":
1481
+ return {
1482
+ name: "ArcGIS Knowledge Studio",
1483
+ fileName: "arcgis-knowledge",
1484
+ icon: "knowledge-studio"
1485
+ };
1486
+ case "Location Platform":
1487
+ return {
1488
+ name: "Location Platform",
1489
+ fileName: "arcgis-location-platform",
1490
+ icon: "location-platform"
1491
+ };
1492
+ case "Map Viewer":
1493
+ return {
1494
+ name: "Map Viewer",
1495
+ fileName: "map-viewer",
1496
+ icon: "map-viewer"
1497
+ };
1498
+ case "Mission":
1499
+ return {
1500
+ name: "ArcGIS Mission Manager",
1501
+ fileName: "arcgis-mission",
1502
+ icon: "mission"
1503
+ };
1504
+ case "Monitor":
1505
+ return {
1506
+ name: "ArcGIS Monitor",
1507
+ fileName: "arcgis-monitor",
1508
+ icon: "monitor"
1509
+ };
1510
+ case "Notebooks":
1511
+ return {
1512
+ name: "ArcGIS Notebooks",
1513
+ fileName: "arcgis-notebooks",
1514
+ icon: "notebook"
1515
+ };
1516
+ case "Online":
1517
+ return {
1518
+ name: "ArcGIS Online",
1519
+ fileName: "arcgis-online",
1520
+ icon: "arcgis-online"
1521
+ };
1522
+ case "Ortho Maker":
1523
+ return {
1524
+ name: "Ortho Maker",
1525
+ fileName: "arcgis-ortho-maker",
1526
+ icon: "ortho-maker"
1527
+ };
1528
+ case "QuickCapture":
1529
+ return {
1530
+ name: "ArcGIS QuickCapture",
1531
+ fileName: "arcgis-quickcapture",
1532
+ icon: "quick-capture"
1533
+ };
1534
+ case "Reality Studio":
1535
+ return {
1536
+ name: "ArcGIS Reality Studio",
1537
+ fileName: "arcgis-reality-studio",
1538
+ icon: "arcgis-reality-studio"
1539
+ };
1540
+ case "Scene Viewer":
1541
+ return {
1542
+ name: "Scene Viewer",
1543
+ fileName: "sceneviewer",
1544
+ icon: "scene-viewer"
1545
+ };
1546
+ case "Solutions":
1547
+ return {
1548
+ name: "ArcGIS Solutions",
1549
+ fileName: "arcgis-solutions",
1550
+ icon: "solutions"
1551
+ };
1552
+ case "StoryMaps":
1553
+ return {
1554
+ name: "ArcGIS StoryMaps",
1555
+ fileName: "arcgis-storymaps",
1556
+ icon: "story-maps"
1557
+ };
1558
+ case "Survey123":
1559
+ return {
1560
+ name: "ArcGIS Survey123",
1561
+ fileName: "arcgis-survey123",
1562
+ icon: "survey123"
1563
+ };
1564
+ case "Tracker":
1565
+ return {
1566
+ name: "Track Viewer",
1567
+ fileName: "arcgis-tracker",
1568
+ icon: "track-viewer"
1569
+ };
1570
+ case "Urban":
1571
+ return {
1572
+ name: "ArcGIS Urban",
1573
+ fileName: "arcgis-urban",
1574
+ icon: "arcgis-urban"
1575
+ };
1576
+ case "Vector Tile Style Editor":
1577
+ return {
1578
+ name: "Vector Tile Style Editor",
1579
+ fileName: "vector-tile-style-editor",
1580
+ icon: "vector-tile-style-editor"
1581
+ };
1582
+ case "Velocity":
1583
+ return {
1584
+ name: "ArcGIS Velocity",
1585
+ fileName: "arcgis-velocity",
1586
+ icon: "velocity"
1587
+ };
1588
+ case "Web Editor":
1589
+ return {
1590
+ name: "Web Editor",
1591
+ fileName: "arcgis-web-editor",
1592
+ icon: "web-editor"
1593
+ };
1594
+ case "Workflow Manager":
1595
+ return {
1596
+ name: "ArcGIS Workflow Manager",
1597
+ fileName: "arcgis-workflow-manager",
1598
+ icon: "workflow-manager"
1599
+ };
1600
+ case "Workforce":
1601
+ return {
1602
+ name: "ArcGIS Workforce",
1603
+ fileName: "arcgis-workforce",
1604
+ icon: "workforce"
1605
+ };
1606
+ default:
1607
+ return {
1608
+ name: "ArcGIS Online",
1609
+ fileName: "arcgis-online",
1610
+ icon: "arcgis-online"
1611
+ };
1612
+ }
1613
+ }
1614
+ function Fe({
1615
+ name: e,
1616
+ fileName: t,
1617
+ icon: i
1618
+ }) {
1619
+ return {
1620
+ name: e,
1621
+ glyph: ee(`assets/portal-navigation/product-logos/${t}-glyph-32.svg`),
1622
+ icon: ee(`assets/portal-navigation/apps/${i}.avif`)
1623
+ };
1624
+ }
1625
+ function We({ portal: e, clientId: t }) {
1626
+ return e?.sourceJSON?.subscriptionInfo?.options?.includes("Developer") ? "Location Platform" : de(t) ? "GeoAnalytics Fabric" : ue(t) ? "GeoAnalytics Engine" : e?.isPortal ? "Enterprise" : "Online";
1627
+ }
1628
+ function _n(e) {
1629
+ const t = We(e);
1630
+ return Fe(Re(t));
1631
+ }
1632
+ function Ae(e) {
1633
+ const t = e?.product === "Online" ? We(e) : e?.product;
1634
+ return Fe(Re(t));
1635
+ }
1636
+ function wn() {
1637
+ const e = Pt();
1638
+ ["item.html", "group.html"].some((t) => window.location.href.includes(t)) ? window.location.href = `./signin.html?locale=${e}&useLandingPage=false&returnUrl=${encodeURIComponent(
1639
+ window.location.href
1640
+ )}` : window.location.href = `./signin.html?locale=${e}&useLandingPage=true`;
1641
+ }
1642
+ function yn({ portal: e, clientId: t }) {
1643
+ const i = oe({ portal: e });
1644
+ if (e?.isPortal) {
1645
+ const n = e.access === "private" ? q("signin.html", e) : e.allSSL || window.location.protocol === "https:" ? q("./index.html", e) : `${i}/index.html`;
1646
+ An(e, n);
1647
+ } else
1648
+ window.location.href = `${i}/pages/Account/manage_accounts.html#client_id=${t}&signout=true`;
1649
+ }
1650
+ function $n() {
1651
+ ci(ye), li(ye);
1652
+ }
1653
+ function An(e, t = window.location.href) {
1654
+ const i = window.location.href.startsWith("http://"), n = Rt(e);
1655
+ Vt.destroyCredentials(), $n();
1656
+ const r = new URL(q(`${ce(e)}oauth2/signout`, e)), { searchParams: o } = r;
1657
+ o.append("client_id", "arcgisonline"), o.append("redirect_uri", t), n && i && (e.isPortal || e.user?.sourceJSON.provider === "enterprise") && o.append("token", n), window.location.href = r.href;
1658
+ }
1659
+ function z(e, t) {
1660
+ if (!e)
1661
+ return 0;
1662
+ const i = Wt({ text: e, font: `${t === "s" ? ".875rem" : "1rem"} 'Avenir Next'` });
1663
+ return Math.ceil(i);
1664
+ }
1665
+ function kn({
1666
+ portal: e,
1667
+ product: t,
1668
+ projectTitle: i,
1669
+ links: n,
1670
+ messages: r,
1671
+ productInfo: o
1672
+ }) {
1673
+ if (!t || !e)
1674
+ return;
1675
+ const s = e.user, c = pe(t) && n?.length ? 24 + n.reduce((g, p) => g + 16 + z(p.label) + 16, 0) : 0, d = 40 + z(i) + 32 + 16 + 16 + 12, m = s ? Math.max(z(s?.username, "s"), z(s?.fullName)) : z(r?.signIn);
1676
+ return {
1677
+ actions: 192,
1678
+ project: i ? Math.min(d, 400) : 0,
1679
+ product: 64 + Math.max(z(o?.name), z(e.name, "s")) + 16,
1680
+ nav: c,
1681
+ user: 64 + m + 16
1682
+ };
1683
+ }
1684
+ function xn({
1685
+ measurements: e,
1686
+ screenWidth: t
1687
+ }) {
1688
+ const { actions: i, nav: n, product: r, project: o, user: s } = e, a = 64, c = t - i - a > n, d = t - i - (c ? n : 0) - o - a > Math.min(r, 400), m = t - n - o - i - r < Math.min(s, 320);
1689
+ return {
1690
+ nav: c,
1691
+ product: d,
1692
+ user: m ? "avatar" : "full"
1693
+ };
1694
+ }
1695
+ const Ve = ' -type:"Code Attachment" -type:"Featured Items" -type:"Symbol Set" -type:"Color Set" -type:"Windows Viewer Add In" -type:"Windows Viewer Configuration" -type:"Map Area" -typekeywords:"MapAreaPackage" -type:"Indoors Map Configuration" -typekeywords:"SMX"';
1696
+ async function ke({
1697
+ portal: e,
1698
+ searchTerm: t
1699
+ }) {
1700
+ if (!e?.user)
1701
+ return [];
1702
+ try {
1703
+ return (await e.queryItems({
1704
+ ...t ? { query: t } : {},
1705
+ filter: `owner:${e.user.username}${Ve}`,
1706
+ num: 20,
1707
+ sortField: "modified",
1708
+ sortOrder: "desc"
1709
+ })).results;
1710
+ } catch {
1711
+ return [];
1712
+ }
1713
+ }
1714
+ async function Sn({
1715
+ portal: e,
1716
+ searchTerm: t
1717
+ }) {
1718
+ if (!e)
1719
+ return [];
1720
+ const i = qt((t || "").substring(0, 409)), n = `${e?.id ? `accountid:"${e.id}"` : ""}${Ve}`, r = `${ce(e)}search/suggest`;
1721
+ return (await B(r, { query: {
1722
+ suggest: i,
1723
+ filters: n,
1724
+ searchFields: "title",
1725
+ f: "json"
1726
+ } }))?.result?.results || [];
1727
+ }
1728
+ const In = St`:host{display:block;--arcgis-portal-navigation-logo-max-width: 260px;--arcgis-portal-navigation-logo-text-display: flex;--arcgis-portal-navigation-user-max-width: 260px;--arcgis-portal-navigation-user-text-display: block;--arcgis-portal-navigation-project-max-width: auto}.scrim{z-index:100;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out;--calcite-scrim-background: rgba(0, 0, 0, .85)}.scrim--active{opacity:1}.wrapper{background:var(--calcite-color-foreground-1);border-bottom:1px solid var(--calcite-color-border-3);position:relative;z-index:200}.navigation{width:100%;min-width:0;min-height:4rem;display:flex;align-items:stretch;max-width:var(--arcgis-portal-navigation-max-width);margin-inline:auto;overflow:hidden}.navigation--loading .fade-in{opacity:0}.fade-in{opacity:1;transition:opacity ease-in-out .15s}.content-end{margin-inline-start:auto;display:flex;align-items:center}.content-end[hidden]{display:none}.action{height:100%;--calcite-internal-action-spacing: 1.25rem}.border-start{border-inline-start:1px solid var(--calcite-color-border-3)}.platform{--calcite-sheet-width: 24rem}.platform__container{display:flex;flex-direction:column;max-height:100%}.platform__header{display:flex;align-items:center}.platform__header-image{width:48px;height:48px;margin-inline-end:1rem}.platform__header-text{flex:1 1 auto;line-height:1.375}.platform__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-medium)}.platform__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-2)}.platform__panel{border-inline-end:1px solid var(--calcite-color-border-3);--calcite-panel-background-color: var(--calcite-color-foreground-1)}.platform__tiles{margin:.75rem .75rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:.5rem}.platform__tabs{min-height:0;flex:1 1 auto;--calcite-tab-content-space-y: 0}.platform__tab{position:relative}.list{list-style:none;margin:0;padding:0}.list__container{position:relative}.list__header{display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--calcite-color-border-3);background-color:var(--calcite-color-foreground-1);position:sticky;top:0;z-index:701}.list__search{flex:1 1 auto;--calcite-color-border-input: var(--calcite-color-foreground-1)}.list-item__link{display:block;box-sizing:border-box;width:100%;padding-inline-start:.75rem;background-color:var(--calcite-color-foreground-1);outline-color:transparent;text-decoration:none;outline-offset:0;transition:color var(--calcite-animation-timing) ease-in-out,background-color var(--calcite-animation-timing) ease-in-out,outline-color var(--calcite-internal-animation-timing-fast) ease-in-out,outline-offset var(--calcite-internal-animation-timing-fast) ease-in-out}.list-item__link:hover{background-color:var(--calcite-color-transparent-hover)}.list-item__link:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus);outline-offset:-2px}.list-item:focus-within .list-item__container{border-bottom-color:transparent}.list-item__container{box-sizing:border-box;width:100%;padding-block:.5rem;padding-inline-start:0;padding-inline-end:.5rem;border-bottom:1px solid var(--calcite-color-border-3);display:flex;align-items:center;position:relative;pointer-events:none}.list-item__content{display:flex;flex-direction:column;justify-content:center;min-width:0}.list-item__logo{width:48px;height:48px;flex:0 0 auto;box-sizing:border-box;margin-inline-end:.5rem;justify-content:center;align-items:center;position:relative;display:flex}.list-item__logo-bg{position:absolute}.list-item__indicator{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--calcite-color-status-success);border:2px solid var(--calcite-color-foreground-1);z-index:50;top:.25rem;inset-inline-start:-.25rem}.list-item__abbr{color:#fff;font-weight:700;position:relative}.list-item__logo-empty{border:2px dashed var(--calcite-color-border-3);border-radius:8px}.list-item__logo--item-type{background-color:var(--calcite-color-background);display:flex;justify-content:center;align-items:center}.list-item__title{display:block;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1);font-weight:500;word-wrap:break-word}.list-item__title--regular{font-weight:400;padding-top:.25rem}.list-item__title--large{font-size:var(--calcite-font-size-0);line-height:1}.list-item__subtitle{display:block;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-3);font-weight:500;padding-top:.25rem;padding-bottom:.25rem}.list-item__subtitle--large{font-size:var(--calcite-font-size--1);font-weight:400;padding:0}.list-item__chip{margin-inline-start:auto;--calcite-chip-background-color: var(--calcite-color-foreground-current)}.app--hidden{--calcite-list-background-color: var(--calcite-color-background)}.app--hidden .list-item__logo{opacity:.4}.logo{border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-logo-max-width);display:flex;align-items:center}.logo--link{text-decoration:none}.logo--link:hover{background-color:var(--calcite-color-transparent-hover)}.logo--link:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.logo__glyph{width:32px;height:32px;padding-inline:1rem}.logo__text{display:var(--arcgis-portal-navigation-logo-text-display);flex-direction:column;overflow:hidden;white-space:nowrap;text-align:start;padding-inline:var(--calcite-internal-navigation-logo-padding-inline);padding-inline-end:1rem}.logo__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);line-height:1.25rem;text-overflow:ellipsis;overflow:hidden}.logo__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-2);font-size:.875rem;line-height:1rem;text-overflow:ellipsis;overflow:hidden}.site-nav{margin-inline-start:1.5rem}.project{min-width:0;outline:none;border:none;border-inline-end:1px solid var(--calcite-color-border-3);cursor:pointer;background-color:var(--calcite-color-foreground-1);box-sizing:border-box;display:flex;user-select:none;appearance:none;align-items:center;justify-content:center;text-align:center;font-family:inherit;font-weight:var(--calcite-font-weight-normal);text-decoration-line:none;outline-color:transparent;box-shadow:var(--calcite-button-shadow, var(--calcite-shadow-none));color:var(--calcite-color-text-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;inset-inline-end:.25rem;background:transparent;white-space:nowrap;padding:0 1.375rem;flex-grow:2}.project:hover{background-color:var(--calcite-color-transparent-hover)}.project:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.project__title{display:flex;justify-self:stretch;min-width:0;align-items:center;justify-content:center;padding:0 1.5rem;margin-inline-end:1.5rem;color:var(--calcite-color-text-1);border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-project-max-width, 60%)}.project__title__header{padding:0;margin:0;font-size:1rem;font-weight:400;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project__dropdown{max-width:var(--arcgis-portal-navigation-project-max-width, 60%);min-width:0;margin-inline-end:1.5rem}.project__indicator{margin-inline-end:.5rem;--calcite-ui-icon-color: var(--calcite-color-status-danger)}.project__menu-icon{margin-inline-end:.75rem}.project__text{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-inline-end:.75rem}.rename{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.rename__action{margin-inline-end:.5rem;display:flex;align-items:center}.rename__input{margin-inline-end:.5rem;display:block;width:100%}.search{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.search__action{margin-inline-end:.5rem;display:flex;align-items:center}.search__input{margin-inline-end:.5rem;display:block;width:100%}.suggestions__header{display:flex;align-items:center;width:var(--calcite-popover-max-size-x);box-sizing:border-box;padding:.75rem 1rem;border-bottom:1px solid var(--calcite-color-border-3)}.suggestions__title{padding:0;margin:0;font-weight:500;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-1);flex:1 1 0}.suggestions__search-type{--calcite-popover-max-size-x: 320px}.suggestions__search-type__icon{vertical-align:-.2rem}.suggestions__footer{display:flex;align-items:center;justify-content:center;padding:1rem}.notifications{width:min(24rem,80vw)}.notifications--full:after{content:"";display:block;border-top:1px solid var(--calcite-color-border-3);margin-left:1rem}.notifications__list{max-height:min(18rem,80vh);overflow:auto;box-sizing:border-box;width:100%}.notifications--empty{padding:2rem}.empty{padding:1rem;text-align:center;color:var(--calcite-color-text-3);--calcite-icon-color: var(--calcite-color-status-success-hover)}.empty__header{margin:0;padding:.75rem 0 0;color:var(--calcite-color-text-1);font-weight:500;font-size:var(--calcite-font-size-1)}.empty__text{margin:0;padding:0;color:var(--calcite-color-text-3);font-weight:400;font-size:var(--calcite-font-size-0)}.notification{display:flex;flex-direction:column;padding:.5rem}.notification__message{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);--calcite-color-brand-underline: transparent}.notification__date{color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-0)}.notifications__dismiss{margin-inline-start:auto;margin-inline-end:1rem;margin-block:.5rem}.user{display:flex;max-width:var(--arcgis-portal-navigation-user-max-width);--calcite-dropdown-item-text-color: var(--calcite-color-text-3);--calcite-dropdown-group-title-text-color: var(--calcite-color-text-2)}.user__dropdown{max-width:100%}.user__button{max-width:100%;--calcite-spacing-base: -2px}.user__button__contents{display:flex;text-align:start}.user__button__text{display:var(--arcgis-portal-navigation-user-text-display);flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375;overflow:hidden}.user__button__avatar{flex:0 0 auto}.user__button__full,.user__button__username{max-width:100%;overflow:hidden;text-overflow:ellipsis}.user__top{display:flex;padding:.75rem;border-bottom:1px solid var(--calcite-color-border-3)}.user__top__avatar{flex:0 0 auto}.user__top__text{box-sizing:border-box;word-wrap:break-word;flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375}.user__full{font-size:1rem;font-weight:medium;color:var(--calcite-colot-text-1);line-height:1.25;padding:0;margin:0}.user__username{font-size:.875rem;line-height:1.25;color:var(--calcite-colot-text-2);padding:0;margin:0}`;
1729
+ function Pn({ messages: e, portal: t, showNav: i, openPlatformMenu: n, handleToggleSearch: r }) {
1730
+ return !e || i && !t?.user ? null : l`<calcite-action .label=${e.applicationMenu} text="app switcher" icon=app-launcher scale=l class="action" @click=${n} @focusin=${() => r(!1, !0)}></calcite-action>`;
1731
+ }
1732
+ class Nn extends At {
1733
+ constructor() {
1734
+ super(...arguments), this.messages = kt({ blocking: !0 }), this.originalRecentContent = [], this.refreshNotifications = async () => {
1735
+ const { portal: t, messages: i } = this;
1736
+ this.notifications = await be({ portal: t, locale: i._t9nLocale, t9n: i.notifications });
1737
+ }, this.deleteNotifications = async (t) => {
1738
+ const { portal: i } = this;
1739
+ if (t?.length < 20)
1740
+ await Zt(i, t);
1741
+ else {
1742
+ let n = 0;
1743
+ for await (const r of t)
1744
+ await Me({ id: r, portal: i }), this.notificationDeleteProgress = Math.ceil(n++ / t.length * 100);
1745
+ }
1746
+ this.notificationDeleteProgress = void 0, this.refreshNotifications();
1747
+ }, this.navigate = (t) => {
1748
+ this.arcgisNavigate.emit(t), this.platformMenuOpen = !1, this.notificationsActive = !1, this.searchActive = !1;
1749
+ }, this.openPlatformMenu = () => {
1750
+ this.platformMenuOpen = !0, this.searchActive = !1;
1751
+ }, this.projectMenuClick = (t) => {
1752
+ this.arcgisNavigationProjectMenuClick.emit(t);
1753
+ }, this.openProjectTitleEdit = () => {
1754
+ this.projectTitleEditing = !0, this.editedProjectTitle = this.projectTitle, requestAnimationFrame(() => {
1755
+ this.projectTitleInputRef?.value?.setFocus();
1756
+ });
1757
+ }, this.closeProjectTitleEdit = () => {
1758
+ this.projectTitleEditing = !1, this.projectTitleErrorMessage = void 0, requestAnimationFrame(() => {
1759
+ this.projectButtonRef?.value?.focus();
1760
+ });
1761
+ }, this.handleProjectTitleSave = async (t) => {
1762
+ this.projectTitleSaving = !0;
1763
+ const n = await (this.projectTitleSave || Ki)(t);
1764
+ if (this.projectTitleSaving = !1, n.status === "success") {
1765
+ this.closeProjectTitleEdit();
1766
+ return;
1767
+ }
1768
+ n.message && (this.projectTitleErrorMessage = n.message);
1769
+ }, this.handleProjectTitleEdit = (t) => {
1770
+ this.editedProjectTitle = t;
1771
+ }, this.handleProjectTitleCancel = () => {
1772
+ this.editedProjectTitle = this.projectTitle, this.closeProjectTitleEdit();
1773
+ }, this.signOut = () => {
1774
+ const { portal: t, clientId: i } = this;
1775
+ yn({ portal: t, clientId: i }), this.arcgisNavigationSignOut.emit();
1776
+ }, this.signIn = () => {
1777
+ this.arcgisNavigationSignIn.emit(), wn();
1778
+ }, this.openAccountSwitcher = () => {
1779
+ this.accountSwitcherOpen = !0;
1780
+ }, this.handlePlatformClose = () => {
1781
+ this.platformMenuOpen = !1, this.handleAppCancel(), this.appsSearchTerm = "", this.recentContent = this.originalRecentContent, this.recentContentSearchTerm = "";
1782
+ }, this.handleAppSave = async () => {
1783
+ const { hiddenApps: t, sortedApps: i, userProperties: n, portal: r } = this;
1784
+ this.apps = [...i], this.editingApplications = !1, this.appsLoading = !0;
1785
+ const { result: o } = await Ei({ apps: i, hiddenApps: t, userProperties: n, portal: r });
1786
+ o?.success && (this.previousAppState = {
1787
+ apps: i,
1788
+ hiddenApps: t
1789
+ }), await Ht(1e3), this.appsLoading = !1;
1790
+ }, this.handleAppDelete = async (t) => {
1791
+ t && (this.apps = this.sortedApps.filter((i) => i.itemId !== t), this.sortedApps = this.sortedApps.filter((i) => i.itemId !== t));
1792
+ }, this.handleAppCancel = () => {
1793
+ this.previousAppState && (this.apps = this.previousAppState.apps, this.hiddenApps = this.previousAppState.hiddenApps), this.editingApplications = !1;
1794
+ }, this.handleAppHide = ({ app: t, hidden: i }) => {
1795
+ !this.hiddenApps || !t || (this.hiddenApps = { ...this.hiddenApps || {}, [t]: i });
1796
+ }, this.handleAppReorder = ({ oldIndex: t, newIndex: i }) => {
1797
+ const n = [...this.sortedApps], r = n[t];
1798
+ n.splice(t, 1), n.splice(i, 0, r), this.sortedApps = n;
1799
+ }, this.handleItemSearch = (t) => {
1800
+ this.recentContentLoading = !0, this.recentContentSearchTerm = t, this.debouncedItemSearch(t);
1801
+ }, this.debouncedItemSearch = fe(async (t) => {
1802
+ this.recentContent = await ke({ portal: this.portal, searchTerm: t }), this.recentContentLoading = !1, t || (this.originalRecentContent = [...this.recentContent]);
1803
+ }, 1e3), this.debouncedSuggest = fe(async (t) => {
1804
+ this.suggestions = await Sn({ portal: this.portal, searchTerm: t });
1805
+ }, 1e3), this.handleSearch = (t) => {
1806
+ this.searchTerm = t, this.suggestions = void 0, this.debouncedSuggest(t);
1807
+ }, this.sizeSearchPopover = () => {
1808
+ const t = this.searchInput?.value, i = this.searchPopover?.value;
1809
+ if (!t || !i)
1810
+ return;
1811
+ const n = t.offsetWidth > 480 ? `${t.offsetWidth}px` : "80vw";
1812
+ i.style?.setProperty?.("--calcite-popover-max-size-x", n);
1813
+ }, this.handleToggleNotifications = (t) => {
1814
+ this.notificationsActive = t;
1815
+ }, this.handleToggleSearch = (t, i) => {
1816
+ this.searchActive = t, this.searchTerm = "", this.suggestions = void 0, document.documentElement.style.overflow = t ? "hidden" : this.initialDocumentOverflowStyle, !i && requestAnimationFrame(() => {
1817
+ if (t) {
1818
+ this.searchInput?.value?.setFocus(), this.sizeSearchPopover();
1819
+ return;
1820
+ }
1821
+ this.searchAction?.value?.setFocus();
1822
+ });
1823
+ }, this.handleSearchTypeChange = (t) => {
1824
+ this.searchType = t;
1825
+ }, this.searchInput = F(), this.searchAction = F(), this.searchPopover = F(), this.projectTitleInputRef = F(), this.projectButtonRef = F(), this.initialDocumentOverflowStyle = document.documentElement.style.overflow, this.links = [], this.notifications = [], this.notificationsActive = !1, this.apps = [], this.hiddenApps = {}, this.sortedApps = [], this.appsSearchTerm = "", this.appsLoading = !0, this.editingApplications = !1, this.recentContent = [], this.recentContentSearchTerm = "", this.recentContentLoading = !0, this.platformMenuOpen = !1, this.accountSwitcherOpen = !1, this.projectTitleEditing = !1, this.projectTitleSaving = !1, this.screenWidth = window.innerWidth, this.searchActive = !1, this.searchTerm = "", this.searchType = "keyword", this.projectMenuOptions = [], this.currentPathname = window.location.pathname, this.arcgisNavigate = H(), this.arcgisNavigationProjectMenuClick = H(), this.arcgisNavigationSignIn = H(), this.arcgisNavigationSignOut = H();
1826
+ }
1827
+ static {
1828
+ this.properties = { infoBanner: 16, links: 16, userLinks: 16, notifications: 16, notificationsActive: 16, apps: 16, hiddenApps: 16, sortedApps: 16, previousAppState: 16, appsSearchTerm: 16, appsLoading: 16, editingApplications: 16, recentContent: 16, recentContentSearchTerm: 16, recentContentLoading: 16, platformMenuOpen: 16, accountSwitcherOpen: 16, editedProjectTitle: 16, projectTitleEditing: 16, projectTitleSaving: 16, projectTitleErrorMessage: 16, productInfo: 16, platformInfo: 16, notificationDeleteProgress: 16, measurements: 16, screenWidth: 16, showProduct: 16, showNav: 16, showUser: 16, searchActive: 16, searchTerm: 16, suggestions: 16, searchType: 16, portal: 0, portalItem: 0, product: 1, productHref: 1, projectTitle: 1, projectTitleSave: 0, projectMenuIcon: 1, projectMenuSaveIndicator: 5, projectMenuOptions: 0, disableTrackViewer: 5, disableNotebookServer: 5, clientId: 1, currentPathname: 1, maxWidth: 9 };
1829
+ }
1830
+ static {
1831
+ this.styles = In;
1832
+ }
1833
+ #e;
1834
+ connectedCallback() {
1835
+ super.connectedCallback(), this.initialDocumentOverflowStyle = document.documentElement.style.overflow, !(typeof ResizeObserver > "u") && (this.#e = new ResizeObserver(() => {
1836
+ requestAnimationFrame(() => {
1837
+ this.screenWidth = window.innerWidth, this.updateBreakpoints(), this.sizeSearchPopover();
1838
+ });
1839
+ }));
1840
+ }
1841
+ willUpdate(t) {
1842
+ (t.has("product") || t.has("clientId")) && this.hasUpdated && (this.productInfo = Ae({ product: this.product, clientId: this.clientId, portal: this.portal }));
1843
+ }
1844
+ firstUpdated() {
1845
+ this.el && this.#e && (this.#e.observe(this.el), this.screenWidth = window.innerWidth);
1846
+ }
1847
+ async loaded() {
1848
+ const { portal: t, messages: i, clientId: n, product: r } = this;
1849
+ this.calculateMeasurements(), this.productInfo = Ae({ product: r, clientId: n, portal: t }), this.platformInfo = _n({ clientId: n, portal: t }), this.userLinks = un({ portal: t, messages: i.user, clientId: n }), this.notifications = await be({ portal: t, locale: i._t9nLocale, t9n: i.notifications }), this.recentContent = await ke({ portal: t }), this.originalRecentContent = [...this.recentContent], this.recentContentLoading = !1;
1850
+ const { apps: o, hiddenApps: s, signInSettings: a, licenses: c, userProperties: d } = await Oi({
1851
+ portal: t,
1852
+ trackViewerEnabled: !this.disableTrackViewer,
1853
+ notebookServerEnabled: !this.disableNotebookServer
1854
+ }), m = await Et(t);
1855
+ this.infoBanner = m?.informationalBanner, this.userProperties = d, this.apps = o, this.hiddenApps = s, this.sortedApps = o, this.previousAppState = { apps: o, hiddenApps: s }, this.appsLoading = !1, this.links = Gi({
1856
+ portal: t,
1857
+ messages: i.links,
1858
+ licenses: c,
1859
+ clientId: n,
1860
+ signInSettings: a
1861
+ }), this.calculateMeasurements();
1862
+ }
1863
+ disconnectedCallback() {
1864
+ this.#e?.disconnect(), this.#e = void 0, document.documentElement.style.overflow = this.initialDocumentOverflowStyle, super.disconnectedCallback();
1865
+ }
1866
+ calculateMeasurements() {
1867
+ const { links: t, messages: i, portal: n, product: r, productInfo: o, projectTitle: s } = this;
1868
+ if (n) {
1869
+ const a = kn({
1870
+ portal: n,
1871
+ product: r,
1872
+ productInfo: o,
1873
+ links: t,
1874
+ messages: i.user,
1875
+ projectTitle: s
1876
+ });
1877
+ this.measurements = a, this.updateBreakpoints();
1878
+ }
1879
+ }
1880
+ updateBreakpoints() {
1881
+ const { measurements: t, maxWidth: i } = this;
1882
+ if (t) {
1883
+ const n = i ? Math.min(this.screenWidth, i) : this.screenWidth, r = xn({ measurements: t, screenWidth: n });
1884
+ this.showProduct = r.product, this.showNav = r.nav, this.showUser = r.user;
1885
+ }
1886
+ }
1887
+ render() {
1888
+ const { accountSwitcherOpen: t, apps: i, appsLoading: n, appsSearchTerm: r, currentPathname: o, handleAppCancel: s, handleAppDelete: a, handleAppHide: c, handleAppReorder: d, handleAppSave: m, handleItemSearch: g, handlePlatformClose: p, handleSearch: _, handleToggleSearch: $, handleSearchTypeChange: w, hiddenApps: I, infoBanner: P, links: f, messages: h, navigate: u, notifications: v, notificationsActive: N, notificationDeleteProgress: y, openAccountSwitcher: b, platformInfo: A, portal: k, portalItem: C, product: O, productInfo: x, productHref: j, projectTitle: D, editedProjectTitle: He, handleProjectTitleSave: qe, handleProjectTitleEdit: Je, handleProjectTitleCancel: Ke, handleToggleNotifications: he, openProjectTitleEdit: Qe, openPlatformMenu: Xe, platformMenuOpen: Ye, projectTitleEditing: Q, projectTitleSaving: Ze, projectTitleErrorMessage: et, projectMenuIcon: tt, projectMenuSaveIndicator: it, projectMenuClick: nt, projectMenuOptions: rt, projectTitleInputRef: ot, projectButtonRef: st, recentContent: at, recentContentSearchTerm: ct, recentContentLoading: lt, userLinks: ut, searchActive: R, searchTerm: dt, searchType: pt, searchInput: ht, searchAction: mt, searchPopover: ft, showNav: X, showProduct: gt, showUser: bt, suggestions: vt } = this, _t = k?.user, wt = pe(O) && !f?.length || !this.measurements;
1889
+ return l`<calcite-scrim class=${te({ scrim: !0, "scrim--active": R })}></calcite-scrim><div class="wrapper" style=${xe({ "--arcgis-portal-navigation-max-width": this.maxWidth ? `${this.maxWidth}px` : "100%" })}><arcgis-portal-info-banner .config=${P}></arcgis-portal-info-banner>${k?.isPortal && C?.loaded && l`<arcgis-portal-classification-banner .portalItem=${C}></arcgis-portal-classification-banner>` || ""}<header class=${te({ navigation: !0, "navigation--loading": wt })}>${Pn({ messages: h?.platform, portal: k, showNav: X, openPlatformMenu: Xe, handleToggleSearch: $ })}${gt && Jt({ navigate: u, portal: k, product: O, productInfo: x, productHref: j, messages: h?.logo, showNav: X, searchActive: R, projectTitleEditing: Q }) || ""}${Zi({ navigate: u, portal: k, portalItem: C, messages: h?.project, projectTitle: D, editedProjectTitle: He, handleProjectTitleSave: qe, handleProjectTitleEdit: Je, openProjectTitleEdit: Qe, projectTitleErrorMessage: et, handleProjectTitleCancel: Ke, projectTitleEditing: Q, projectTitleSaving: Ze, projectMenuIcon: tt, projectMenuSaveIndicator: it, projectMenuClick: nt, projectMenuOptions: rt, projectTitleInputRef: ot, projectButtonRef: st })}${X && an({ searchActive: R, navigate: u, portal: k, product: O, messages: h?.links, links: f, currentPathname: o }) || ""}<div slot=content-end class="content-end fade-in" .hidden=${Q || R}><slot name=content-end></slot></div>${on({ currentPathname: o, navigate: u, portal: k, product: O, messages: h?.search, searchActive: R, searchType: pt, searchTerm: dt, suggestions: vt, handleSearch: _, handleToggleSearch: $, handleSearchTypeChange: w, searchInputRef: ht, searchActionRef: mt, searchPopoverRef: ft })}${_t ? l`<div class="border-start fade-in">${ni({ notifications: v, notificationsActive: N, messages: h?.notifications, handleToggleNotifications: he, handleToggleSearch: $ })}${ri({ notificationsActive: N, notifications: v, navigate: u, portal: k, deleteNotifications: this.deleteNotifications, handleToggleNotifications: he, messages: h?.notifications, notificationDeleteProgress: y })}</div>${cn({ portal: k, userLinks: ut, openAccountSwitcher: k?.isPortal ? void 0 : b, signOut: this.signOut, messages: h?.user, textDisabled: bt === "avatar", navigate: u })}` : sn({ messages: h.user, signIn: this.signIn })}</header>${Ji({ locale: h._t9nLocale, navigate: u, portal: k, product: O, platformInfo: A, messages: h?.platform, apps: i, appsLoading: n, hiddenApps: I, appsSearchTerm: r, editingApplications: this.editingApplications, open: Ye, links: f, recentContent: at, recentContentSearchTerm: ct, recentContentLoading: lt, handlePlatformClose: p, handleAppReorder: d, handleAppEdit: () => this.editingApplications = !0, handleAppDelete: a, handleAppsSearch: (yt) => this.appsSearchTerm = yt, handleAppSave: m, handleAppCancel: s, handleAppHide: c, handleItemSearch: g })}${t && l`<arcgis-portal-account-switcher .portal=${k} @arcgisClose=${() => {
1890
+ this.accountSwitcherOpen = !1;
1891
+ }}></arcgis-portal-account-switcher>` || ""}</div>`;
1892
+ }
1893
+ }
1894
+ $t("arcgis-portal-navigation", Nn);
1895
+ export {
1896
+ Nn as ArcGISPortalNavigation
1897
+ };