@arcgis/portal-components 5.2.0-next.47 → 5.2.0-next.49
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.
- package/dist/cdn/{KM5XGRXL.js → 2EJG4DOC.js} +1 -1
- package/dist/cdn/2JCFEF3J.js +2 -0
- package/dist/cdn/2VLAJOZX.js +2 -0
- package/dist/cdn/3MIY7CNH.js +2 -0
- package/dist/cdn/3PWVEX4V.js +2 -0
- package/dist/cdn/6D3PU4ZT.js +2 -0
- package/dist/cdn/75N65DHR.js +2 -0
- package/dist/cdn/7QXIBQV7.js +2 -0
- package/dist/cdn/AWIVXH7M.js +2 -0
- package/dist/cdn/BJTJP57C.js +2 -0
- package/dist/cdn/{IBP5XPD5.js → BUKOHPY6.js} +1 -1
- package/dist/cdn/{6RK4FBHZ.js → BZRM2V6V.js} +1 -1
- package/dist/cdn/{7E5GJIZV.js → CF7ZMRAH.js} +1 -1
- package/dist/cdn/CSH3WCYD.js +2 -0
- package/dist/cdn/{ZVFNCDG5.js → CU34VHCE.js} +1 -1
- package/dist/cdn/DALGPO36.js +2 -0
- package/dist/cdn/{GJTJLK6T.js → DHMH2XFA.js} +1 -1
- package/dist/cdn/DNMB343K.js +2 -0
- package/dist/cdn/{JZKBUYPV.js → EJZ55DVU.js} +1 -1
- package/dist/cdn/F3G5N2UU.js +2 -0
- package/dist/cdn/{GQMPPCEL.js → FDQ3EJUR.js} +1 -1
- package/dist/cdn/{JOUSVRID.js → GKBK32VH.js} +1 -1
- package/dist/cdn/GYFQDPCN.js +2 -0
- package/dist/cdn/IF2LNWBA.js +2 -0
- package/dist/cdn/IFYHXRHA.js +2 -0
- package/dist/cdn/{RKNDXSVK.js → ILBX6R25.js} +1 -1
- package/dist/cdn/{NJ2WDAJM.js → IOVOCADO.js} +1 -1
- package/dist/cdn/{L4DRNGOL.js → IZTK4QQL.js} +1 -1
- package/dist/cdn/{TJAX7J4T.js → J46I5HEQ.js} +1 -1
- package/dist/cdn/JJ7P5JJ3.js +2 -0
- package/dist/cdn/{WO23VQK3.js → JZ2ZI5WO.js} +1 -1
- package/dist/cdn/{WGZZB2DJ.js → K7NCYRPX.js} +1 -1
- package/dist/cdn/LDCSQHZX.js +2 -0
- package/dist/cdn/{CGT2DH3Z.js → LTQA5JRV.js} +1 -1
- package/dist/cdn/{BYXDMWEZ.js → M5MGOBU3.js} +1 -1
- package/dist/cdn/{HZ5W3DBR.js → M6X5KCWL.js} +1 -1
- package/dist/cdn/{JYIPREIH.js → O6QBY4ST.js} +1 -1
- package/dist/cdn/OBBYT2AV.js +2 -0
- package/dist/cdn/OBVMQ64S.js +2 -0
- package/dist/cdn/{AXM6XCZD.js → OFDH6CTA.js} +1 -1
- package/dist/cdn/{3KR5RIDQ.js → OGC5YU6V.js} +1 -1
- package/dist/cdn/OUN473QW.js +2 -0
- package/dist/cdn/{GKOXTQHB.js → P6P7SKFX.js} +1 -1
- package/dist/cdn/{IXVR3KMC.js → PBH3JZCG.js} +1 -1
- package/dist/cdn/QPFPNUHH.js +2 -0
- package/dist/cdn/{WSWHK6LB.js → R3VY2KZV.js} +1 -1
- package/dist/cdn/R6SSAPLB.js +3 -0
- package/dist/cdn/{3Z3ZPFGJ.js → SJDQS32I.js} +1 -1
- package/dist/cdn/SQVFNATF.js +2 -0
- package/dist/cdn/{JV23HJTE.js → STZRXY35.js} +1 -1
- package/dist/cdn/{SXZRHHXC.js → U2QZZSPC.js} +1 -1
- package/dist/cdn/{ZPIXIG3Z.js → UCCRV44E.js} +1 -1
- package/dist/cdn/{FXIP4QXJ.js → UQWELJR5.js} +1 -1
- package/dist/cdn/{JS45DWQ3.js → VMNR4TQZ.js} +1 -1
- package/dist/cdn/{WX65MRDH.js → X6N7Y4IA.js} +1 -1
- package/dist/cdn/{D76KMXZD.js → XQJNAQVO.js} +1 -1
- package/dist/cdn/{IBU3M4KD.js → XVFCF4AX.js} +2 -2
- package/dist/cdn/{AL57LV4E.js → Y4YNN6DS.js} +1 -1
- package/dist/cdn/Y5CRBUVL.js +2 -0
- package/dist/cdn/YR5FO6PO.js +2 -0
- package/dist/cdn/YVKSTDL6.js +2 -0
- package/dist/cdn/{WZYBNC3M.js → ZR7DM7HF.js} +3 -3
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-navigation/apps/api-for-python.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/appstudio.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcade.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-360-vr.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-earth.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-enterprise.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-experience-builder.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-geoanalytics.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-hub.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-online.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-pro.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-reality-studio.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/arcgis-urban.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/blank.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/business-analyst.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/city-engine.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/collector.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/community-analyst.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/configurable-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/dashboards-beta.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/dashboards-classic.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/data-pipelines.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/deeplearningstudio.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/demographics.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/drone2map.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/esri-events.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/essential-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/excalibur.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/explorer.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/field-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/fieldmaps-beta.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/fieldmaps-ea.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/fieldmaps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/generic-app.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/geobim.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/geoplanner.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/grid-view-9.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/indoor.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/indoors.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/insights.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/instant-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/ips.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/knowledge-studio.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/living-atlas.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/location-platform.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/map-maker.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/map-viewer-beta.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/map-viewer-classic.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/map-viewer.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/maps-adobe-cloud.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/maps-for-office.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/maps-for-power-bi.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/maps-for-sharepoint.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/marketplace.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/mission.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/monitor.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/navigator.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/notebook.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/office-apps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/open-data.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/operations-dashboard.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/ortho-maker.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/pro-extension.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/quick-capture.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/redistricting.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/runtime.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/scene-viewer.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/sites.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/solutions.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/story-maps.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/streetmap-premium.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/survey123.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/svg-app-circle.svg +1 -0
- package/dist/cdn/assets/portal-navigation/apps/svg-app-icon.svg +1 -0
- package/dist/cdn/assets/portal-navigation/apps/track-viewer.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/user-type-extension-online.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/user-type-extension.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/vector-tile-style-editor.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/velocity.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/web-app-builder.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/web-editor.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/web-mapping.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/workflow-manager-beta.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/workflow-manager.avif +0 -0
- package/dist/cdn/assets/portal-navigation/apps/workforce.avif +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/advanced-editing-user-type-extension-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arc-hydro-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-360-vr-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-api-for-python-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-appstudio-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-arcade-expression-language-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-business-analyst-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-cityengine-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-collector-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-community-analyst-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-connectors-for-power-automate-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-dashboards-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-data-interoperability-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-data-pipelines-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-data-reviewer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-deep-learning-studio-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-drone2map-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-earth-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-enterprise-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-excalibur-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-excalibur-gray-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-experience-builder-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-explorer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-field-maps-designer-ea-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-field-maps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-flight-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-autocad-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-autodesk-forma-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-developers-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-excel-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-microsoft-365-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-power-apps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-teams-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-geoanalytics-engine-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-geobim-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-geoplanner-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-hub-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-image-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-indoors-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-insights-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-instant-apps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-knowledge-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-living-atlas-of-the-world-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-location-platform-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-logo-glyph-32.svg +76 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-for-adobe-creative-cloud-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-for-power-bi-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-for-sharepoint-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-sdk-for-javascript-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-sdks-for-game-engines-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maps-sdks-for-native-apps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-maritime-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-marketplace-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-mission-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-monitor-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-monitor-white-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-navigator-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-notebooks-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-online-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-open-data-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-open-source-apps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-ortho-maker-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-parcel-fabric-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pipeline-referencing-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pro-for-intelligence-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pro-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-quickcapture-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-reality-studio-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-roads-and-highways-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-sites-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-solutions-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-storymaps-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-streetmap-premium-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-survey123-connect-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-survey123-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-tracker-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-urban-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-utility-network-management-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-velocity-glyph-32.svg +6 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-web-appbuilder-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-web-editor-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-workflow-manager-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-workforce-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-world-geocoder-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/calcite-design-system-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-community-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-demographics-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-events-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-offline-documentation-center--glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-redistricting-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-reports-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-support-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/map-viewer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/sceneviewer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/site-scan-for-arcgis-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/site-scan-for-arcgis-le-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/vector-tile-style-editor-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/product-logos/xr-viewer-glyph-32.svg +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.en.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/dom.js +18 -13
- package/dist/chunks/fieldAddDelete.js +1 -1
- package/dist/chunks/groups2.js +64 -0
- package/dist/chunks/icons.js +11 -0
- package/dist/chunks/item.js +29 -123
- package/dist/chunks/item2.js +119 -77
- package/dist/chunks/loadClassificationData.js +19 -19
- package/dist/chunks/portal-account-switcher.js +6 -0
- package/dist/chunks/portal.js +58 -23
- package/dist/chunks/portal2.js +33 -0
- package/dist/chunks/requests.js +92 -44
- package/dist/chunks/string.js +31 -0
- package/dist/chunks/user.js +16 -4
- package/dist/chunks/user2.js +146 -75
- package/dist/chunks/utils.js +645 -0
- package/dist/components/arcgis-portal-account-switcher/customElement.d.ts +98 -0
- package/dist/components/arcgis-portal-account-switcher/customElement.js +364 -0
- package/dist/components/arcgis-portal-account-switcher/index.d.ts +1 -0
- package/dist/components/arcgis-portal-account-switcher/index.js +11 -0
- package/dist/components/arcgis-portal-account-switcher-accounts/customElement.d.ts +100 -0
- package/dist/components/arcgis-portal-account-switcher-accounts/customElement.js +31 -0
- package/dist/components/arcgis-portal-account-switcher-accounts/index.d.ts +1 -0
- package/dist/components/arcgis-portal-account-switcher-accounts/index.js +5 -0
- package/dist/components/arcgis-portal-account-switcher-list/customElement.d.ts +104 -0
- package/dist/components/arcgis-portal-account-switcher-list/customElement.js +51 -0
- package/dist/components/arcgis-portal-account-switcher-list/index.d.ts +1 -0
- package/dist/components/arcgis-portal-account-switcher-list/index.js +7 -0
- package/dist/components/arcgis-portal-ai-assistant/customElement.js +45 -44
- package/dist/components/arcgis-portal-classification-config/customElement.js +1 -1
- package/dist/components/arcgis-portal-classification-favorite/customElement.js +1 -1
- package/dist/components/arcgis-portal-info-banner/customElement.d.ts +14 -0
- package/dist/components/arcgis-portal-info-banner/customElement.js +31 -0
- package/dist/components/arcgis-portal-info-banner/index.d.ts +1 -0
- package/dist/components/arcgis-portal-info-banner/index.js +1 -0
- package/dist/components/arcgis-portal-item-type/customElement.d.ts +1 -1
- package/dist/components/arcgis-portal-item-type/customElement.js +22 -659
- package/dist/components/arcgis-portal-mentionable-text-area/customElement.js +3 -2
- package/dist/components/arcgis-portal-navigation/customElement.d.ts +516 -0
- package/dist/components/arcgis-portal-navigation/customElement.js +1813 -0
- package/dist/components/arcgis-portal-navigation/index.d.ts +1 -0
- package/dist/components/arcgis-portal-navigation/index.js +32 -0
- package/dist/components/arcgis-portal-navigation/types.d.ts +43 -0
- package/dist/components/arcgis-portal-replacement-item-redirect/customElement.js +12 -27
- package/dist/components/arcgis-portal-user-popup/customElement.js +83 -102
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +44 -0
- package/dist/loader.js +7 -2
- package/dist/types/app-switcher.d.ts +71 -0
- package/dist/types/item.d.ts +2 -2
- package/dist/types/lumina.d.ts +34 -0
- package/dist/types/portal.d.ts +6 -0
- package/dist/types/preact.d.ts +39 -0
- package/dist/types/react.d.ts +44 -0
- package/dist/types/search.d.ts +4 -1
- package/dist/types/stencil.d.ts +34 -0
- package/dist/types/user.d.ts +14 -1
- package/package.json +4 -4
- package/dist/cdn/2C475EKD.js +0 -2
- package/dist/cdn/35SKVD6F.js +0 -2
- package/dist/cdn/3J46PXFF.js +0 -3
- package/dist/cdn/6W2IHKCA.js +0 -2
- package/dist/cdn/BUJPYZSX.js +0 -2
- package/dist/cdn/EI6BAXCQ.js +0 -2
- package/dist/cdn/GE75KDIM.js +0 -2
- package/dist/cdn/GXJU3U7U.js +0 -2
- package/dist/cdn/HMBSJR37.js +0 -2
- package/dist/cdn/IC65R4QE.js +0 -2
- package/dist/cdn/IHSJ4MKS.js +0 -2
- package/dist/cdn/O3KBWLGU.js +0 -2
- package/dist/cdn/SUPKZF5M.js +0 -2
- package/dist/cdn/U3FVMN32.js +0 -2
- package/dist/cdn/WSNLUGEP.js +0 -2
- package/dist/cdn/XBIV54LX.js +0 -2
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/// <reference path="../../index.d.ts" />
|
|
2
|
+
import type Portal from "@arcgis/core/portal/Portal.js";
|
|
3
|
+
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
4
|
+
import type { LinkedAccount } from "../../types/user.js";
|
|
5
|
+
import type { T9nMeta } from "@arcgis/lumina/controllers";
|
|
6
|
+
|
|
7
|
+
/** Renders an account selection dialog and emits an account switching event. */
|
|
8
|
+
export abstract class ArcgisPortalAccountSwitcher extends LitElement {
|
|
9
|
+
/** @default "" */
|
|
10
|
+
accessor baseUrl: string;
|
|
11
|
+
/** @internal */
|
|
12
|
+
protected messages: {
|
|
13
|
+
switchAccounts: string;
|
|
14
|
+
chooseAccount: string;
|
|
15
|
+
currentAccount: string;
|
|
16
|
+
currentAccountLabel: string;
|
|
17
|
+
usersList: string;
|
|
18
|
+
linkedAccountSignedIn: string;
|
|
19
|
+
signedIn: string;
|
|
20
|
+
emptyListTitle: string;
|
|
21
|
+
emptyList: string;
|
|
22
|
+
maxAccounts: string;
|
|
23
|
+
unlinkAccount: string;
|
|
24
|
+
linkAccount: string;
|
|
25
|
+
switchTo: string;
|
|
26
|
+
unlink: string;
|
|
27
|
+
unlinkTitle: string;
|
|
28
|
+
unlinkWarning: string;
|
|
29
|
+
linkTitle: string;
|
|
30
|
+
linkWarning: string;
|
|
31
|
+
linkAll: string;
|
|
32
|
+
alertLabel: string;
|
|
33
|
+
cancel: string;
|
|
34
|
+
errors: {
|
|
35
|
+
linkAccount: string;
|
|
36
|
+
accessAccount: string;
|
|
37
|
+
selfLink: string;
|
|
38
|
+
alreadyLinked: string;
|
|
39
|
+
signout: string;
|
|
40
|
+
signin: string;
|
|
41
|
+
unlinkAccount: string;
|
|
42
|
+
unlinkTitle: string;
|
|
43
|
+
noAccountSelected: string;
|
|
44
|
+
};
|
|
45
|
+
success: {
|
|
46
|
+
linkAccount: string;
|
|
47
|
+
linkAccountMultiple: string;
|
|
48
|
+
unlinkAccount: string;
|
|
49
|
+
unlinkTitle: string;
|
|
50
|
+
};
|
|
51
|
+
} & T9nMeta<{
|
|
52
|
+
switchAccounts: string;
|
|
53
|
+
chooseAccount: string;
|
|
54
|
+
currentAccount: string;
|
|
55
|
+
currentAccountLabel: string;
|
|
56
|
+
usersList: string;
|
|
57
|
+
linkedAccountSignedIn: string;
|
|
58
|
+
signedIn: string;
|
|
59
|
+
emptyListTitle: string;
|
|
60
|
+
emptyList: string;
|
|
61
|
+
maxAccounts: string;
|
|
62
|
+
unlinkAccount: string;
|
|
63
|
+
linkAccount: string;
|
|
64
|
+
switchTo: string;
|
|
65
|
+
unlink: string;
|
|
66
|
+
unlinkTitle: string;
|
|
67
|
+
unlinkWarning: string;
|
|
68
|
+
linkTitle: string;
|
|
69
|
+
linkWarning: string;
|
|
70
|
+
linkAll: string;
|
|
71
|
+
alertLabel: string;
|
|
72
|
+
cancel: string;
|
|
73
|
+
errors: {
|
|
74
|
+
linkAccount: string;
|
|
75
|
+
accessAccount: string;
|
|
76
|
+
selfLink: string;
|
|
77
|
+
alreadyLinked: string;
|
|
78
|
+
signout: string;
|
|
79
|
+
signin: string;
|
|
80
|
+
unlinkAccount: string;
|
|
81
|
+
unlinkTitle: string;
|
|
82
|
+
noAccountSelected: string;
|
|
83
|
+
};
|
|
84
|
+
success: {
|
|
85
|
+
linkAccount: string;
|
|
86
|
+
linkAccountMultiple: string;
|
|
87
|
+
unlinkAccount: string;
|
|
88
|
+
unlinkTitle: string;
|
|
89
|
+
};
|
|
90
|
+
}>;
|
|
91
|
+
/** Portal object */
|
|
92
|
+
accessor portal: Portal;
|
|
93
|
+
/** Emitted when the user chooses a different account. */
|
|
94
|
+
readonly arcgisAccountSwitch: import("@arcgis/lumina").TargetedEvent<this, { account: LinkedAccount; }>;
|
|
95
|
+
readonly "@eventTypes": {
|
|
96
|
+
arcgisAccountSwitch: ArcgisPortalAccountSwitcher["arcgisAccountSwitch"]["detail"];
|
|
97
|
+
};
|
|
98
|
+
}
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { c as y } from "../../chunks/runtime.js";
|
|
3
|
+
import { LitElement as S, createEvent as b, nothing as L } from "@arcgis/lumina";
|
|
4
|
+
import { html as d, svg as _ } from "lit";
|
|
5
|
+
import { s as O } from "../../chunks/portal-account-switcher.js";
|
|
6
|
+
import { g as x, a as I, l as v, u as C } from "../../chunks/user2.js";
|
|
7
|
+
import p from "@arcgis/core/identity/IdentityManager.js";
|
|
8
|
+
import { t as E } from "../../chunks/functionalities.js";
|
|
9
|
+
import { u as M } from "../../chunks/useT9n.js";
|
|
10
|
+
import { m as T } from "../../chunks/icons.js";
|
|
11
|
+
import { substitute as g } from "@arcgis/core/intl.js";
|
|
12
|
+
function $(i, t = "_blank", e = 582, s = 670) {
|
|
13
|
+
const n = window.screenLeft ?? 0, r = window.screenTop ?? 0, o = window.innerWidth || document.documentElement.clientWidth || window.screen.width, a = window.innerHeight || document.documentElement.clientHeight || window.screen.height, c = o / 2 - e / 2 + n, l = a / 2 - s / 2 + r, u = window.open(i, t, `scrollbars=no, width=${e}, height=${s}, top=${l}, left=${c}`);
|
|
14
|
+
return u?.focus(), u;
|
|
15
|
+
}
|
|
16
|
+
function K(i) {
|
|
17
|
+
const e = (i || window.location.origin).split(".")[1].replace("maps", "");
|
|
18
|
+
return `https://${e ? `${e}${e === "qa" ? "ext" : ""}.` : ""}arcgis.com/sharing/rest/`;
|
|
19
|
+
}
|
|
20
|
+
function P(i, t) {
|
|
21
|
+
const e = p.findOAuthInfo(i.url), {
|
|
22
|
+
/* appId = "arcgisonline", */
|
|
23
|
+
locale: s = "en",
|
|
24
|
+
expiration: n = 3600 * 1e3
|
|
25
|
+
} = e, r = new URLSearchParams({
|
|
26
|
+
locale: s,
|
|
27
|
+
client_id: "arcgisonline",
|
|
28
|
+
//appId!,
|
|
29
|
+
response_type: "token",
|
|
30
|
+
expiration: `${n}`,
|
|
31
|
+
linkUserRequest: "true",
|
|
32
|
+
showSocialLogins: "true",
|
|
33
|
+
hideEnterpriseLogins: "false",
|
|
34
|
+
force_login: "true",
|
|
35
|
+
parent: window.location.origin,
|
|
36
|
+
redirect_uri: `https://${i.portalHostname}/home/pages/Account/link_account_callback.html`,
|
|
37
|
+
state: JSON.stringify({ useMessage: !0 })
|
|
38
|
+
}), o = `${K(t)}oauth2/authorize?${r.toString()}`;
|
|
39
|
+
$(o);
|
|
40
|
+
}
|
|
41
|
+
function W(i) {
|
|
42
|
+
const {
|
|
43
|
+
config: t,
|
|
44
|
+
credential: e,
|
|
45
|
+
clientId: s = "arcgisonline",
|
|
46
|
+
redirectToClientUri: n = !1,
|
|
47
|
+
displaySignoutComplete: r = !1
|
|
48
|
+
} = i, o = new URLSearchParams({
|
|
49
|
+
display: "iframe",
|
|
50
|
+
client_id: s,
|
|
51
|
+
...e.token && { token: e.token },
|
|
52
|
+
parent: window.location.origin,
|
|
53
|
+
redirect_uri: `${t.baseUrl}pages/Account/signout_callback.html`,
|
|
54
|
+
state: JSON.stringify({
|
|
55
|
+
signout: !0,
|
|
56
|
+
origin: window.location.origin,
|
|
57
|
+
redirectToClientUri: n,
|
|
58
|
+
displaySignoutComplete: r
|
|
59
|
+
})
|
|
60
|
+
}), a = `${t.restBaseUrl}oauth2/signout?${o.toString()}`, c = document.createElement("iframe");
|
|
61
|
+
c.src = a, c.style.display = "none", document.body.appendChild(c);
|
|
62
|
+
}
|
|
63
|
+
function N(i, t) {
|
|
64
|
+
const e = h(i.orgUrlKey, t), s = p.findOAuthInfo(e);
|
|
65
|
+
let { appId: n, locale: r, expiration: o } = s;
|
|
66
|
+
n = n || "arcgisonline", r = r || "en", o = o || 3600 * 1e3;
|
|
67
|
+
const a = k(i.provider), c = new URLSearchParams({
|
|
68
|
+
locale: r,
|
|
69
|
+
client_id: "arcgisonline",
|
|
70
|
+
//appId,
|
|
71
|
+
response_type: "token",
|
|
72
|
+
expiration: `${o}`,
|
|
73
|
+
parent: window.location.origin,
|
|
74
|
+
...a === "social" && { socialLoginProviderName: i.provider },
|
|
75
|
+
...a === "default" && { prepopulatedusername: i.username },
|
|
76
|
+
force_login: "true",
|
|
77
|
+
redirect_uri: `${e}/home/pages/Account/signin_account_callback.html`,
|
|
78
|
+
state: JSON.stringify({
|
|
79
|
+
user: i.username,
|
|
80
|
+
server: e,
|
|
81
|
+
portalUrl: e,
|
|
82
|
+
origin: window.location.origin
|
|
83
|
+
})
|
|
84
|
+
}), l = `${w(i, t)}?${c.toString()}`;
|
|
85
|
+
$(l);
|
|
86
|
+
}
|
|
87
|
+
function R({
|
|
88
|
+
account: i,
|
|
89
|
+
credential: t,
|
|
90
|
+
//client_id,
|
|
91
|
+
portal: e
|
|
92
|
+
}) {
|
|
93
|
+
const s = k(i.provider), n = w(i, e), r = A(i, e), o = new URLSearchParams({
|
|
94
|
+
client_id: "arcgisonline",
|
|
95
|
+
redirect_uri: r,
|
|
96
|
+
parent: window.location.origin,
|
|
97
|
+
response_type: "token",
|
|
98
|
+
prepopulatedusername: t.userId,
|
|
99
|
+
force_login: "false",
|
|
100
|
+
...s === "social" && { socialLoginProviderName: i.provider },
|
|
101
|
+
expiration: `${(t?.expires ?? Date.now() + 60 * 1e3) - Date.now()}`
|
|
102
|
+
});
|
|
103
|
+
return `${n}?${o.toString()}`;
|
|
104
|
+
}
|
|
105
|
+
function k(i) {
|
|
106
|
+
return B(i) ? "social" : i === "enterprise" ? "enterprise" : i.includes("oidc") ? "oidc" : "default";
|
|
107
|
+
}
|
|
108
|
+
function B(i) {
|
|
109
|
+
return ["apple", "facebook", "github", "google"].includes(i);
|
|
110
|
+
}
|
|
111
|
+
function w(i, t) {
|
|
112
|
+
const e = h(i.orgUrlKey, t).toLowerCase(), s = k(i.provider);
|
|
113
|
+
let n = "";
|
|
114
|
+
switch (s) {
|
|
115
|
+
case "social":
|
|
116
|
+
n = "social/";
|
|
117
|
+
break;
|
|
118
|
+
case "enterprise":
|
|
119
|
+
n = "saml/";
|
|
120
|
+
break;
|
|
121
|
+
case "oidc":
|
|
122
|
+
n = `oidc/${i.provider.split("_")[1]}/`;
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
return `${e}/sharing/rest/oauth2/${n}authorize`;
|
|
126
|
+
}
|
|
127
|
+
function h(i, t) {
|
|
128
|
+
return i?.startsWith("https://") ? i : i && t.customBaseUrl ? `https://${i}.${t.customBaseUrl}` : `https://${t.portalHostname}`;
|
|
129
|
+
}
|
|
130
|
+
function A(i, t) {
|
|
131
|
+
return `${h(i.orgUrlKey, t)}/home/accountswitcher-callback.html`;
|
|
132
|
+
}
|
|
133
|
+
function H({
|
|
134
|
+
origin: i,
|
|
135
|
+
redirectToClientUri: t,
|
|
136
|
+
displaySignoutComplete: e
|
|
137
|
+
}) {
|
|
138
|
+
console.log("Signout complete", i, t, e);
|
|
139
|
+
}
|
|
140
|
+
function J(i, t) {
|
|
141
|
+
return p.findCredential(h(i.orgUrlKey, t), i.username);
|
|
142
|
+
}
|
|
143
|
+
function q(i, t) {
|
|
144
|
+
const e = J(i, t);
|
|
145
|
+
if (e)
|
|
146
|
+
return e;
|
|
147
|
+
const s = h(i.orgUrlKey, t), n = `${s}/home/check_sign_in_status.html#state=${JSON.stringify({
|
|
148
|
+
origin: window.location.origin,
|
|
149
|
+
server: s,
|
|
150
|
+
orgKey: s
|
|
151
|
+
})}`;
|
|
152
|
+
D(n, `iframe__for-${s}`);
|
|
153
|
+
}
|
|
154
|
+
function D(i, t) {
|
|
155
|
+
const e = document.createElement("iframe");
|
|
156
|
+
e.src = i, e.id = t, e.style.display = "none", document.body.appendChild(e);
|
|
157
|
+
}
|
|
158
|
+
const f = 100;
|
|
159
|
+
class z extends S {
|
|
160
|
+
constructor() {
|
|
161
|
+
super(), this.messages = M({ blocking: !0 }), this.clientId = "arcgisonline", this.targetUser = "", this.linkedAccounts = [], this.loading = !1, this.signedInStatus = {}, this.showAssociatedAccountsWarning = !1, this.baseUrl = "", this.arcgisAccountSwitch = b(), this.listenOn(window, "message", this.handleMessageEvent);
|
|
162
|
+
}
|
|
163
|
+
static {
|
|
164
|
+
this.properties = { linkedAccounts: 16, userAccounts: 16, user: 16, credential: 16, alertOptions: 16, loading: 16, signedInStatus: 16, showAssociatedAccountsWarning: 16, portal: 0, baseUrl: 1 };
|
|
165
|
+
}
|
|
166
|
+
static {
|
|
167
|
+
this.styles = O;
|
|
168
|
+
}
|
|
169
|
+
willUpdate(t) {
|
|
170
|
+
t.has("portal") && (this.user = this.portal?.user), (t.has("portal") || t.has("user")) && this.portal && this.user && this.findLinkedUsers();
|
|
171
|
+
}
|
|
172
|
+
handleMessageEvent(t) {
|
|
173
|
+
if (new URL(t.origin).hostname !== "localhost" && (t.origin.endsWith(".arcgis.com") || t.origin === window.location.origin)) {
|
|
174
|
+
if (typeof t.data == "string") {
|
|
175
|
+
JSON.parse(t.data).type === "token_exchange" && this.handleExchangeTokenMessage(t);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if ("type" in t.data)
|
|
179
|
+
switch (t.data.type) {
|
|
180
|
+
case "signin":
|
|
181
|
+
this.handleSigninMessage(t);
|
|
182
|
+
return;
|
|
183
|
+
case "signout":
|
|
184
|
+
this.handleSignoutMessage(t);
|
|
185
|
+
return;
|
|
186
|
+
case "linkUser":
|
|
187
|
+
this.handleLinkUserMessage(t);
|
|
188
|
+
return;
|
|
189
|
+
case "token_exchange":
|
|
190
|
+
this.handleExchangeTokenMessage(t);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
if ("credential" in t.data) {
|
|
194
|
+
this.handleSigninMessage(t);
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
this.handleCheckSignInStatusMessage(t);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
handleSignoutMessage(t) {
|
|
201
|
+
const { error: e, signout: s, accountOrigin: n, redirectToClientUri: r, displaySignoutComplete: o } = t.data;
|
|
202
|
+
if (e && e !== "unknown") {
|
|
203
|
+
console.error(e), reportError(this.messages.errors.signout);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
s && (this.user = void 0, this.credential = void 0, H({ origin: n, redirectToClientUri: r, displaySignoutComplete: o }));
|
|
207
|
+
}
|
|
208
|
+
handleSigninMessage(t) {
|
|
209
|
+
const { messages: e } = this, { error: s, status: n, credential: r } = t.data;
|
|
210
|
+
if (s) {
|
|
211
|
+
console.error(s), reportError(e.errors.signin);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
if (n === "success") {
|
|
215
|
+
const {
|
|
216
|
+
portal: o,
|
|
217
|
+
user: a
|
|
218
|
+
/* , clientId */
|
|
219
|
+
} = this, c = this.linkedAccounts.find((m) => m.username === r.userId);
|
|
220
|
+
c?.orgUrlKey === this.portal.urlKey && p.findCredential(`https://${o.portalHostname}`, a?.username)?.destroy(), p.registerToken(r);
|
|
221
|
+
const l = R({
|
|
222
|
+
account: c,
|
|
223
|
+
credential: r,
|
|
224
|
+
/* client_id: clientId, */
|
|
225
|
+
portal: o
|
|
226
|
+
});
|
|
227
|
+
window.self !== window.top ? window.top?.postMessage({ type: "navigate", url: l }) : window.location.href = l;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
handleCheckSignInStatusMessage(t) {
|
|
231
|
+
const { success: e, orgKey: s, server: n, userId: r, token: o, expires: a, ssl: c } = t.data;
|
|
232
|
+
s && n && e && r && o && a && c !== void 0 && (this.signedInStatus[r] = { token: o, expires: a, ssl: c });
|
|
233
|
+
}
|
|
234
|
+
async handleLinkUserMessage(t) {
|
|
235
|
+
const { error: e, username: s, access_token: n } = t.data, { portal: r, user: o, linkedAccounts: a, messages: c } = this;
|
|
236
|
+
if (e) {
|
|
237
|
+
if (e.toString().toLowerCase().includes("user denied your request"))
|
|
238
|
+
return;
|
|
239
|
+
reportError(c.errors.accessAccount);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (s === o?.username) {
|
|
243
|
+
reportError(c.errors.selfLink);
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
if (a.find((u) => u.username === s)) {
|
|
247
|
+
reportError(g(c.errors.alreadyLinked, { username: s }));
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
const l = await x(r, s, n);
|
|
251
|
+
if (l?.length) {
|
|
252
|
+
this.userAccounts = l, this.targetUser = s ?? "", this.showAssociatedAccountsWarning = !0;
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
this.linkAccount(s, n);
|
|
256
|
+
}
|
|
257
|
+
handleExchangeTokenMessage(t) {
|
|
258
|
+
const e = typeof t.data == "string" ? JSON.parse(t.data) : t.data;
|
|
259
|
+
if (!(e.type && e.type !== "token_exchange")) {
|
|
260
|
+
if (e.error)
|
|
261
|
+
console.error(e);
|
|
262
|
+
else if (e.status === "success" && this.targetUser) {
|
|
263
|
+
const { portal: s, linkedAccounts: n, targetUser: r, clientId: o } = this, a = n.find((U) => U.username === r);
|
|
264
|
+
if (!a)
|
|
265
|
+
return;
|
|
266
|
+
const c = A(a, s), l = h(a.orgUrlKey, s), u = new URLSearchParams({
|
|
267
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
268
|
+
response_type: "token",
|
|
269
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
270
|
+
client_id: o,
|
|
271
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
272
|
+
redirect_uri: c,
|
|
273
|
+
state: JSON.stringify({ user: a.username, portalUrl: l })
|
|
274
|
+
}), m = `${w(a, s)}?${u.toString()}`;
|
|
275
|
+
window.opener ? (window.opener.location.href = m, window.close()) : window.location.href = m;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
async findLinkedUsers() {
|
|
280
|
+
if (!this.portal || !this.user) {
|
|
281
|
+
this.linkedAccounts = [];
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
this.loading = !0, this.linkedAccounts = await I(this.portal, this.user), this.linkedAccounts.length && (this.signedInStatus = this.linkedAccounts.filter((t) => t.orgUrlKey !== this.portal.urlKey).reduce((t, e) => (t[e.username] = q(e, this.portal) ?? null, t), {})), this.loading = !1;
|
|
285
|
+
}
|
|
286
|
+
async linkAccount(t, e) {
|
|
287
|
+
const { portal: s, user: n } = this;
|
|
288
|
+
if (!s || !n)
|
|
289
|
+
return;
|
|
290
|
+
const r = await v({ portal: s, user: n, targetUser: t, targetToken: e }), { messages: o } = this;
|
|
291
|
+
if (r.error) {
|
|
292
|
+
this.reportError(g(o.errors.linkAccount, { username: t })), this.targetUser = "", this.userAccounts = [];
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
const a = this.userAccounts?.length ? o.success.linkAccountMultiple : o.success.linkAccount;
|
|
296
|
+
this.reportSuccess(g(a, { username: t })), this.targetUser = "", this.userAccounts = [], await E(350), this.findLinkedUsers();
|
|
297
|
+
}
|
|
298
|
+
async unlinkAccount(t) {
|
|
299
|
+
if (!this.portal || !this.user)
|
|
300
|
+
return;
|
|
301
|
+
const { messages: e, portal: s, user: n } = this, { success: r } = await C({ portal: s, user: n, linkedUsername: t.username });
|
|
302
|
+
r ? this.reportSuccess(g(e.success.unlinkAccount, { username: t.username })) : this.reportError(g(e.errors.unlinkAccount, { username: t.username })), await this.findLinkedUsers();
|
|
303
|
+
}
|
|
304
|
+
startAccountLink() {
|
|
305
|
+
P(this.portal, this.baseUrl);
|
|
306
|
+
}
|
|
307
|
+
switchAccount(t) {
|
|
308
|
+
const { portal: e, user: s, clientId: n } = this;
|
|
309
|
+
if (!e || !s || !t)
|
|
310
|
+
return;
|
|
311
|
+
const r = h(s.sourceJSON.orgUrlKey ?? "", e), o = p.findCredential(r, s.id || s.username);
|
|
312
|
+
o && W({ config: { baseUrl: r, restBaseUrl: `${r}/sharing/rest` }, credential: o, clientId: n }), N(t, e);
|
|
313
|
+
}
|
|
314
|
+
reportError(t, e, s = !1) {
|
|
315
|
+
this.alertOptions = {
|
|
316
|
+
kind: s ? "warning" : "danger",
|
|
317
|
+
title: e,
|
|
318
|
+
message: t
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
reportSuccess(t, e) {
|
|
322
|
+
this.alertOptions = {
|
|
323
|
+
kind: "success",
|
|
324
|
+
title: e,
|
|
325
|
+
message: t
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
showUnlinkConfirmation(t) {
|
|
329
|
+
const { messages: e } = this;
|
|
330
|
+
this.alertOptions = {
|
|
331
|
+
kind: "danger",
|
|
332
|
+
icon: "exclamation-mark-triangle-f",
|
|
333
|
+
title: e.unlinkTitle,
|
|
334
|
+
message: e.unlinkWarning,
|
|
335
|
+
actions: [
|
|
336
|
+
{
|
|
337
|
+
text: e.unlink,
|
|
338
|
+
kind: "danger",
|
|
339
|
+
clickHandler: () => {
|
|
340
|
+
this.alertOptions = void 0, this.unlinkAccount(t);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
]
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
render() {
|
|
347
|
+
const { linkedAccounts: t, user: e, portal: s, messages: n } = this;
|
|
348
|
+
return !s || !e ? null : d`<calcite-dialog .heading=${n.switchAccounts} scale=m width=s open .loading=${this.loading} outside-close-disabled><calcite-block .heading=${n.currentAccount} expanded class="current-account-block"><calcite-list .label=${g(n.currentAccountLabel, { username: e.username })} interaction-mode=static selection-mode=none class="current-account-list"><calcite-list-item><arcgis-portal-user-avatar .user=${e} .portal=${s} show-name .heading=${e.username} .description=${s.name || ""} slot=content-start></arcgis-portal-user-avatar></calcite-list-item></calcite-list></calcite-block>${t.length > 0 ? d`<calcite-block .heading=${n.chooseAccount} expanded class="linked-accounts-block"><calcite-button slot=content-end icon-start=plus class="link-account-button" @click=${() => this.startAccountLink()} .disabled=${t.length >= f}>${n.linkAccount}</calcite-button><arcgis-portal-account-switcher-list .portal=${s} .linkedAccounts=${t} .signedInUsers=${Object.keys(this.signedInStatus).filter((r) => this.signedInStatus[r] !== null)} .label=${n.usersList} interactive @arcgisAccountSwitch=${(r) => {
|
|
349
|
+
this.switchAccount(r.detail.account);
|
|
350
|
+
}} @arcgisAccountUnlink=${(r) => {
|
|
351
|
+
this.showUnlinkConfirmation(r.detail.account);
|
|
352
|
+
}}></arcgis-portal-account-switcher-list></calcite-block>` : d`<calcite-block .heading=${n.chooseAccount} expanded class="empty-accounts-block"><div class="empty-accounts-info"><svg class="empty-accounts-icon" width=48 height=48 viewBox="0 0 48 48" fill=none xmlns=http://www.w3.org/2000/svg>${_`<path d=${T.couple ?? L} fill=currentColor />`}</svg><h4>${n.emptyListTitle}</h4><p>${n.emptyList}</p><calcite-button icon-start=plus class="link-account-button" @click=${() => this.startAccountLink()} .disabled=${t.length >= f}>${n.linkAccount}</calcite-button></div></calcite-block>`}<calcite-notice kind=info .open=${t.length >= f}><div slot=message>${n.maxAccounts}</div></calcite-notice><calcite-alert .label=${n.alertLabel} slot=alerts .autoClose=${this.alertOptions?.kind !== "danger"} auto-close-duration=fast placement=bottom .kind=${this.alertOptions?.kind} .icon=${this.alertOptions?.icon} .open=${!!this.alertOptions} @calciteAlertClose=${() => {
|
|
353
|
+
this.alertOptions = void 0;
|
|
354
|
+
}}>${this.alertOptions?.title && d`<h4 slot=title class="alert-title">${this.alertOptions.title}</h4>` || ""}${this.alertOptions?.message && d`<p slot=message class="alert-message">${this.alertOptions.message}</p>` || ""}${this.alertOptions?.actions?.map((r) => d`<calcite-button slot=actions-end .kind=${r.kind} .appearance=${r.appearance} @click=${r.clickHandler}>${r.text}</calcite-button>`)}</calcite-alert></calcite-dialog>${this.showAssociatedAccountsWarning && d`<arcgis-portal-account-switcher-accounts .portal=${s} .targetUser=${this.targetUser} .accounts=${this.userAccounts ?? []} @arcgisLinkAll=${() => {
|
|
355
|
+
this.linkAccount(this.targetUser, "");
|
|
356
|
+
}} @arcgisCloseDialog=${() => {
|
|
357
|
+
this.showAssociatedAccountsWarning = !1;
|
|
358
|
+
}}></arcgis-portal-account-switcher-accounts>` || ""}`;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
y("arcgis-portal-account-switcher", z);
|
|
362
|
+
export {
|
|
363
|
+
z as ArcgisPortalAccountSwitcher
|
|
364
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import "@esri/calcite-components/components/calcite-dialog";
|
|
2
|
+
import "@esri/calcite-components/components/calcite-block";
|
|
3
|
+
import "@esri/calcite-components/components/calcite-list";
|
|
4
|
+
import "@esri/calcite-components/components/calcite-list-item";
|
|
5
|
+
import "../arcgis-portal-user-avatar/index.js";
|
|
6
|
+
import "@esri/calcite-components/components/calcite-button";
|
|
7
|
+
import "../arcgis-portal-account-switcher-list/index.js";
|
|
8
|
+
import "@esri/calcite-components/components/calcite-notice";
|
|
9
|
+
import "@esri/calcite-components/components/calcite-alert";
|
|
10
|
+
import "../arcgis-portal-account-switcher-accounts/index.js";
|
|
11
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/// <reference path="../../index.d.ts" />
|
|
2
|
+
import type Portal from "@arcgis/core/portal/Portal.js";
|
|
3
|
+
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
4
|
+
import type { LinkedAccount } from "../../types/user.js";
|
|
5
|
+
import type { T9nMeta } from "@arcgis/lumina/controllers";
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
export abstract class ArcgisPortalAccountSwitcherAccounts extends LitElement {
|
|
9
|
+
accessor accounts: LinkedAccount[];
|
|
10
|
+
/** @internal */
|
|
11
|
+
protected messages: {
|
|
12
|
+
switchAccounts: string;
|
|
13
|
+
chooseAccount: string;
|
|
14
|
+
currentAccount: string;
|
|
15
|
+
currentAccountLabel: string;
|
|
16
|
+
usersList: string;
|
|
17
|
+
linkedAccountSignedIn: string;
|
|
18
|
+
signedIn: string;
|
|
19
|
+
emptyListTitle: string;
|
|
20
|
+
emptyList: string;
|
|
21
|
+
maxAccounts: string;
|
|
22
|
+
unlinkAccount: string;
|
|
23
|
+
linkAccount: string;
|
|
24
|
+
switchTo: string;
|
|
25
|
+
unlink: string;
|
|
26
|
+
unlinkTitle: string;
|
|
27
|
+
unlinkWarning: string;
|
|
28
|
+
linkTitle: string;
|
|
29
|
+
linkWarning: string;
|
|
30
|
+
linkAll: string;
|
|
31
|
+
alertLabel: string;
|
|
32
|
+
cancel: string;
|
|
33
|
+
errors: {
|
|
34
|
+
linkAccount: string;
|
|
35
|
+
accessAccount: string;
|
|
36
|
+
selfLink: string;
|
|
37
|
+
alreadyLinked: string;
|
|
38
|
+
signout: string;
|
|
39
|
+
signin: string;
|
|
40
|
+
unlinkAccount: string;
|
|
41
|
+
unlinkTitle: string;
|
|
42
|
+
noAccountSelected: string;
|
|
43
|
+
};
|
|
44
|
+
success: {
|
|
45
|
+
linkAccount: string;
|
|
46
|
+
linkAccountMultiple: string;
|
|
47
|
+
unlinkAccount: string;
|
|
48
|
+
unlinkTitle: string;
|
|
49
|
+
};
|
|
50
|
+
} & T9nMeta<{
|
|
51
|
+
switchAccounts: string;
|
|
52
|
+
chooseAccount: string;
|
|
53
|
+
currentAccount: string;
|
|
54
|
+
currentAccountLabel: string;
|
|
55
|
+
usersList: string;
|
|
56
|
+
linkedAccountSignedIn: string;
|
|
57
|
+
signedIn: string;
|
|
58
|
+
emptyListTitle: string;
|
|
59
|
+
emptyList: string;
|
|
60
|
+
maxAccounts: string;
|
|
61
|
+
unlinkAccount: string;
|
|
62
|
+
linkAccount: string;
|
|
63
|
+
switchTo: string;
|
|
64
|
+
unlink: string;
|
|
65
|
+
unlinkTitle: string;
|
|
66
|
+
unlinkWarning: string;
|
|
67
|
+
linkTitle: string;
|
|
68
|
+
linkWarning: string;
|
|
69
|
+
linkAll: string;
|
|
70
|
+
alertLabel: string;
|
|
71
|
+
cancel: string;
|
|
72
|
+
errors: {
|
|
73
|
+
linkAccount: string;
|
|
74
|
+
accessAccount: string;
|
|
75
|
+
selfLink: string;
|
|
76
|
+
alreadyLinked: string;
|
|
77
|
+
signout: string;
|
|
78
|
+
signin: string;
|
|
79
|
+
unlinkAccount: string;
|
|
80
|
+
unlinkTitle: string;
|
|
81
|
+
noAccountSelected: string;
|
|
82
|
+
};
|
|
83
|
+
success: {
|
|
84
|
+
linkAccount: string;
|
|
85
|
+
linkAccountMultiple: string;
|
|
86
|
+
unlinkAccount: string;
|
|
87
|
+
unlinkTitle: string;
|
|
88
|
+
};
|
|
89
|
+
}>;
|
|
90
|
+
accessor portal: Portal;
|
|
91
|
+
accessor targetUser: string;
|
|
92
|
+
/** @internal */
|
|
93
|
+
readonly arcgisCloseDialog: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
94
|
+
/** @internal */
|
|
95
|
+
readonly arcgisLinkAll: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
96
|
+
readonly "@eventTypes": {
|
|
97
|
+
arcgisCloseDialog: ArcgisPortalAccountSwitcherAccounts["arcgisCloseDialog"]["detail"];
|
|
98
|
+
arcgisLinkAll: ArcgisPortalAccountSwitcherAccounts["arcgisLinkAll"]["detail"];
|
|
99
|
+
};
|
|
100
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { c as a } from "../../chunks/runtime.js";
|
|
3
|
+
import { html as o } from "lit";
|
|
4
|
+
import { LitElement as l, createEvent as e } from "@arcgis/lumina";
|
|
5
|
+
import { createRef as r, ref as n } from "lit/directives/ref.js";
|
|
6
|
+
import { u } from "../../chunks/useT9n.js";
|
|
7
|
+
import { s as g } from "../../chunks/portal-account-switcher.js";
|
|
8
|
+
import { substitute as m } from "@arcgis/core/intl.js";
|
|
9
|
+
class p extends l {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments), this.messages = u({ blocking: !0, name: "portal-account-switcher" }), this.dialogRef = r(), this.accounts = [], this.arcgisLinkAll = e(), this.arcgisCloseDialog = e();
|
|
12
|
+
}
|
|
13
|
+
static {
|
|
14
|
+
this.properties = { portal: 0, targetUser: 1, accounts: 0 };
|
|
15
|
+
}
|
|
16
|
+
static {
|
|
17
|
+
this.styles = g;
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
const { messages: t, portal: i, accounts: s, targetUser: c } = this;
|
|
21
|
+
return o`<calcite-dialog open modal width=s .heading=${t.linkTitle} outside-close-disabled @calciteDialogClose=${() => this.arcgisCloseDialog.emit()} ${n(this.dialogRef)}><calcite-block .heading=${m(t.linkWarning, { targetUser: c })} expanded class="linked-accounts-block"><arcgis-portal-account-switcher-list .portal=${i} .linkedAccounts=${s} .label=${t.usersList}></arcgis-portal-account-switcher-list></calcite-block><calcite-button slot=footer-end appearance=outline @click=${() => {
|
|
22
|
+
this.dialogRef.value.open = !1;
|
|
23
|
+
}}>${t.cancel}</calcite-button><calcite-button slot=footer-end kind=brand @click=${() => {
|
|
24
|
+
this.arcgisLinkAll.emit(), this.dialogRef.value.open = !1;
|
|
25
|
+
}}>${t.linkAll}</calcite-button></calcite-dialog>`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
a("arcgis-portal-account-switcher-accounts", p);
|
|
29
|
+
export {
|
|
30
|
+
p as ArcgisPortalAccountSwitcherAccounts
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import "@esri/calcite-components/components/calcite-dialog";
|
|
2
|
+
import "@esri/calcite-components/components/calcite-block";
|
|
3
|
+
import "../arcgis-portal-account-switcher-list/index.js";
|
|
4
|
+
import "@esri/calcite-components/components/calcite-button";
|
|
5
|
+
export * from "./customElement.js";
|