{"version":3,"sources":["webpack:///application.js","webpack:///webpack/bootstrap 83b5182227f20a10426e","webpack:///./src/Component.ts","webpack:///./src/mainApp/MinimalGallery/_actions/index.ts","webpack:///external \"dojo/io-query\"","webpack:///./src/mainApp/MinimalGallery/_actions/base.ts","webpack:///./src/mainApp/MinimalGallery/_utilities/supportedItemTypes.ts","webpack:///./src/mainApp/MinimalGallery/Gallery/Panel/_actions/index.ts","webpack:///external \"esri/core/promiseUtils\"","webpack:///external \"esri/identity/IdentityManager\"","webpack:///external \"esri/portal/Portal\"","webpack:///external \"dojo/promise/all\"","webpack:///./src/mainApp/MinimalGallery/Viewer/View/ViewBase/index.tsx","webpack:///./src/mainApp/index.ts","webpack:///./src/applicationBase/ApplicationBase.js","webpack:///external \"esri/identity/OAuthInfo\"","webpack:///external \"dojo/_base/kernel\"","webpack:///external \"esri/config\"","webpack:///external \"esri/portal/PortalItem\"","webpack:///external \"esri/portal/PortalQueryParams\"","webpack:///./src/applicationBase/declareDecorator.js","webpack:///external \"dojo/_base/declare\"","webpack:///./src/mainApp/Widget.tsx","webpack:///external \"esri/core/accessorSupport/decorators\"","webpack:///external \"esri/widgets/Widget\"","webpack:///./src/mainApp/MinimalGallery/index.tsx","webpack:///external \"esri/widgets/support/widget\"","webpack:///external \"dojo/Deferred\"","webpack:///external \"dojo/cookie\"","webpack:///./src/mainApp/MinimalGallery/_actions/items.ts","webpack:///./src/mainApp/MinimalGallery/_actions/router.ts","webpack:///./src/mainApp/MinimalGallery/Header.tsx","webpack:///./src/mainApp/MinimalGallery/Gallery/index.tsx","webpack:///./src/mainApp/MinimalGallery/Gallery/Panel/index.tsx","webpack:///./src/mainApp/MinimalGallery/Gallery/Panel/Caption.tsx","webpack:///./src/mainApp/MinimalGallery/Gallery/Panel/_reducers/index.ts","webpack:///./src/mainApp/MinimalGallery/Viewer/index.tsx","webpack:///./src/mainApp/MinimalGallery/Viewer/View/index.tsx","webpack:///./src/mainApp/MinimalGallery/Viewer/View/MapView.tsx","webpack:///./src/mainApp/MinimalGallery/Viewer/View/ViewBase/_reducers/index.ts","webpack:///external \"esri/core/requireUtils\"","webpack:///./src/mainApp/MinimalGallery/Viewer/View/AppView.tsx","webpack:///./src/mainApp/MinimalGallery/Viewer/View/SceneView.tsx","webpack:///./src/mainApp/MinimalGallery/_utilities/convertHex.ts","webpack:///./src/mainApp/MinimalGallery/Pager.tsx","webpack:///./src/mainApp/MinimalGallery/_reducers/index.ts","webpack:///./src/mainApp/MinimalGallery/_reducers/base.ts","webpack:///./src/mainApp/MinimalGallery/_reducers/items.ts","webpack:///./src/mainApp/MinimalGallery/_reducers/router.ts","webpack:///./src/mainApp/MinimalGallery/_reducers/filter.ts","webpack:///./src/mainApp/MinimalGallery/_reducers/page.ts","webpack:///./src/mainApp/MinimalGallery/_reducers/viewer.ts","webpack:///./src/mainApp/MinimalGallery/_utilities/router.ts"],"names":["define","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_6__","__WEBPACK_EXTERNAL_MODULE_7__","__WEBPACK_EXTERNAL_MODULE_8__","__WEBPACK_EXTERNAL_MODULE_9__","__WEBPACK_EXTERNAL_MODULE_14__","__WEBPACK_EXTERNAL_MODULE_15__","__WEBPACK_EXTERNAL_MODULE_16__","__WEBPACK_EXTERNAL_MODULE_17__","__WEBPACK_EXTERNAL_MODULE_18__","__WEBPACK_EXTERNAL_MODULE_20__","__WEBPACK_EXTERNAL_MODULE_22__","__WEBPACK_EXTERNAL_MODULE_23__","__WEBPACK_EXTERNAL_MODULE_25__","__WEBPACK_EXTERNAL_MODULE_26__","__WEBPACK_EXTERNAL_MODULE_27__","__WEBPACK_EXTERNAL_MODULE_39__","modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","newStore","storeParams","middlewares","applyMiddleware","apply","createStore","reducers","parentWidget","initialState","combineReducers","finalReducers","pick","val","state","action","mapValues","reducer","key","subscribers","store","dispatch","forEach","handler","scheduleRender","subscribe","push","index","indexOf","splice","getState","type","_i","arguments","length","next","chain","map","middleware","compose","__assign","funcs","arg","reduceRight","composed","f","obj","fn","keys","reduce","result","this","assign","t","value","widget_1","Component","childComponents","dirty","props","tsx","bind","updateProps","element","properties","children","child","renderResult","render","Error","componentWillReceiveProps","nextProps","shouldComponentUpdate","setState","newState","default","thunk","params","debug","console","log","addListener","listener","base_1","SAVE_APP_BASE_RESULT","LOAD_APP_FAIL","LOAD_APP_PROGRESS","LOAD_APP_SUCCESS","loadApplicationBase","items_1","UPDATE_ITEMS","FILTER_ITEMS","filterItems","updateItems","router_1","PUSH","HASH_CHANGE","hashChange","AUTHENTICATION_FAILED","all","Deferred","IdentityManager","Portal","cookie","_1","supportedItemTypes_1","base","applicationBase","load","then","queryGroupItems","err","loadAppNoAuth","loadAppFail","progress","loadAppProgress","updateApplicationBase","applicationBaseResult","payload","saveAppBaseResult","config","customCSS","customStyle","document","createElement","innerHTML","body","appendChild","fetchAllGroupItems","response","promises","results","item","items","router","hash","filter","window","location","slice","loadAppSuccess","fetchAllGroupItemsById","groupId","dfd","num","sortField","sortOrder","start","total","mappableArr","Array","Math","floor","responses","allItems","concat","resolve","reject","isArray","group","signIn","portal","url","authMode","signOut","destroyCredentials","undefined","path","domain","expires","user","status","fileTypes","360 VR Experience","App Builder Extension","ArcGIS Pro Add In","ArcGIS Pro Configuration","ArcPad Package","CAD Drawing","CSV","CSV Collection","CityEngine Web Scene","Code Sample","Dashboard","Desktop Add In","Desktop Application","Desktop Application Template","Desktop Style","Document Link","Explorer Add In","Explorer Layer","Explorer Map","Feature Collection","Feature Service","File Geodatabase","GeoJson","Geocoding Service","Geodata Service","Geometry Service","Geoprocessing Package","Geoprocessing Sample","Geoprocessing Service","Globe Document","Globe Service","Image","Image Collection","Image Service","Insights Workbook","KML","KML Collection","Layer","Layer Package","Layout","Locator Package","Map Document","Map Package","Map Service","Map Template","Microsoft Excel","Microsoft Powerpoint","Microsoft Word","Mobile Application","Mobile Basemap Package","Mobile Map Package","Network Analysis Service","Operations Dashboard Add In","Operations Dashboard Extension","PDF","Pro Map","Project Package","Project Template","Published Map","Raster function template","Rule Package","Scene Document","Scene Package","Scene Service","Service Definition","Shapefile","Stream Service","Task File","Visio Document","WFS","WMS","WMTS","Windows Mobile Package","Windows Viewer Add In","Workflow Manager Service","iWork Keynote","iWork Numbers","iWork Pages","Form","Workforce Project","Web Map","Web Mapping Application","Web Scene","Application","SHOW_IN_VIEWER","SHOW_FULLSCREEN","MOUSE_OVER","MOUSE_OUT","VIEWER_CHANGE","showInViewer","showFullscreen","mouseOver","mouseOut","__extends","extendStatics","setPrototypeOf","__proto__","b","__","constructor","create","Component_1","_reducers_1","promiseUtils","requireUtils","widgetKey","compassWidget","homeWidget","legendWidget","locateWidget","searchWidget","ViewBase","_super","_this","loadText","loadScripts","loadMap","loadWidgets","class","i18n","viewLoading","failed","when","webModule","viewModule","_a","WebConstructor","ViewConstructor","view","portalItem","id","basemap","allLayers","layer","toArray","layers","container","containerId","otherwise","positions","bottom-left","bottom-right","top-left","top-right","widgets","position","constructors","Constructor","widget","activeLayerInfos","watch","ui","add","ApplicationBase","Widget_1","applicationConfigJSON","boilerplateConfigJSON","JSON","parse","settings","boilerplate","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","__decorate","decorators","target","desc","r","getOwnPropertyDescriptor","Reflect","decorate","require","kernel","esriConfig","OAuthInfo","PortalItem","PortalQueryParams","declareDecorator_1","defaultConfig","portalUrl","helperServices","geometry","printTask","elevationSync","geocode","defaultSettings","environment","localStorage","rightToLeftLocales","urlParams","webMap","webScene","options","direction","locale","units","applicationConfig","applicationBaseSettings","configMixin","settingsMixin","_mixinSettingsDefaults","itemParams","defaultGroup","_getDefaultId","paramOptions","query","queryItems","environmentSettings","groupSettings","localStorageSettings","portalSettings","webMapSettings","websceneSettings","urlParamsSettings","isEsri","_getUrlParamValues","_mixinAllConfigs","esriPortalUrl","_getEsriEnvironmentPortalUrl","proxyUrl","_getEsriEnvironmentProxyUrl","oauthappid","appid","_setPortalUrl","_setProxyUrl","rtlLocales","_getLanguageDirection","_registerOauthInfos","sharingUrl","loadApplicationItem","_loadItem","checkAppAccess","always","fetchApplicationData","itemInfo","fetchData","loadPortal","fetch","eachAlways","applicationArgs","applicationItemResponse","applicationDataResponse","portalResponse","checkAppAccessResponse","applicationItem","applicationData","_getLocalConfig","appAccess","access","error","values","_getUnits","local","application","_setGeometryService","webmap","webscene","webMapPromises","webScenePromises","groupInfoPromises","groupItemsPromises","isWebMapEnabled","isWebSceneEnabled","isGroupInfoEnabled","fetchInfo","isGroupItemsEnabled","fetchItems","defaultWebMap","defaultWebScene","fetchMultipleWebmaps","fetchMultiple","fetchMultipleWebscenes","fetchMultipleGroups","webMaps","_getPropertyArray","_limitItemSize","webMapId","webScenes","webSceneId","groups","_queryGroupInfo","groupInfo","groupItems","itemArgs","webMapResponses","webSceneResponses","groupInfoResponses","groupItemsResponses","_overwriteItemsExtent","webMapItems","webSceneItems","groupInfos","userEnvironmentSettings","userLocalStorageSettings","userGroupSettings","userPortalSettings","userWebmapSettings","userWebsceneSettings","webTierSecurity","allowMultiple","firstItem","split","pathname","esriAppsPathIndex","esriHomePathIndex","isEsriAppsPath","isEsriHomePath","appLocationIndex","portalInstance","substr","host","userRegion","region","userUnits","responseUnits","responseRegion","ipCountryCode","ipCntryCode","isEnglishUnits","queryGroups","lsItemId","lsItem","getItem","_overwriteItemExtent","applicationExtent","extent","defaultId","trimmedId","trim","some","language","appConfig","localConfig","urlConfig","configHelperServices","anyPortal","portalHelperServices","configGeometryUrl","portalGeometryUrl","geometryServiceUrl","request","appId","info","popup","registerOAuthInfos","urlObject","_urlToObject","formattedUrlObject","param","urlParamValue","_formatUrlParamValue","search","urlRE","replace","match","_stripStringTags","decodeURIComponent","lowerCaseValue","toLowerCase","tagsRE","declare","default_1","mixins","decorators_1","Widget","MinimalGallery_1","MainApp","minimalGallery","loadMessage","startHistoryListener","subclass","declared","_actions_1","Header_1","Gallery_1","Viewer_1","Pager_1","MinimalGallery","appLoading","showHeader","style","notLicensed","noauth","LOCATION_CHANGE","appendProtocol","Header","searchTerm","handleSearch","handleSearchChange","handleSignIn","handleSignOut","headSearch","headerSearch","role","title","onsubmit","searchPlaceholder","placeholder","oninput","tabletHeadSearch","headImage","headerImage","src","headerImageLocation","alt","headerText","agolLink","showAgolLink","href","agolLinkLocation","headerTextColor","agolLinkText","signInLink","showSignInBtn","onclick","xmlns","width","height","viewBox","header","username","headColor","headerTextURL","e","preventDefault","splitToPages","perPage","ioQuery","Panel_1","_actions_2","Gallery","itemsPerPage","itemPages","filteredItems","mapItemsToChildren","handleChildUpdate","viewer","fullscreen","bgColor","displayKey","currentViewer","queryToObject","nextViewer","displayItems","page","itemType","childState","itemId","hashParams","objectToQuery","Caption_1","Panel","panelType","getPanelType","handleMouseOver","handleMouseOut","handleItemKeyPress","handleItemClick","handleMaxClick","registerItemLink","tooltipSnippet","author","showAuthor","owner","showSummaryTooltip","snippet","tooltipTruncLength","cardSnippet","summaryElement","showItemSummary","summaryTruncLength","itemPageLink","showItemPageLink","aria-label","itemExtTip","buttonBgColor","tabindex","openItemDetailsSeparateTab","maxLink","alwaysOpenFullscreen","origin","openFullscreenSeparateTab","mainTip","galleryTip","pdfTip","openDocumentLinksDirectly","documentTip","showItemTitle","linkColor","onkeypress","cardColor","afterCreate","onmouseover","onmouseout","thumbnailUrl","fontColor","activeViewer","itemLink","focus","open","itemUrl","token","convertHex","hex","opacity","parseInt","substring","Caption","captionBelowOpacity","captionOpacity","captionTransform","showItemType","itemTypeBelowThumbnail","captionTextColor","displayName","hovering","recognizedTypes","View_1","convertHex_1","Viewer","containerClasses","animate-fade-in","animate-fade-out","scrollY","handleExitKeyPress","handleExitClick","closeViewer","viewerItem","visible","viewType","MapView","SceneView","AppView","classes","close","el","setTimeout","MapView_1","AppView_1","SceneView_1","ViewBase_1","iframe","Pager","handleNext","handlePrevious","handlePageButton","handlePage","pages","ceil","prevButtonClasses","btn","btn-disabled","btn-transparent","nextButtonClasses","btn-arrow","pageButtons","v","isActive","buttonTextColor","text","filter_1","page_1","viewer_1","isNaN","allowedItemTypes","tags","tag","description","itemTypes","hashParams_1","random","toString","onhashchange","event"],"mappings":"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","file":"application.js","sourcesContent":["define([\"dojo/io-query\",\"esri/core/promiseUtils\",\"esri/identity/IdentityManager\",\"esri/portal/Portal\",\"dojo/promise/all\",\"esri/identity/OAuthInfo\",\"dojo/_base/kernel\",\"esri/config\",\"esri/portal/PortalItem\",\"esri/portal/PortalQueryParams\",\"dojo/_base/declare\",\"esri/core/accessorSupport/decorators\",\"esri/widgets/Widget\",\"esri/widgets/support/widget\",\"dojo/Deferred\",\"dojo/cookie\",\"esri/core/requireUtils\"], function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_7__, __WEBPACK_EXTERNAL_MODULE_8__, __WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_14__, __WEBPACK_EXTERNAL_MODULE_15__, __WEBPACK_EXTERNAL_MODULE_16__, __WEBPACK_EXTERNAL_MODULE_17__, __WEBPACK_EXTERNAL_MODULE_18__, __WEBPACK_EXTERNAL_MODULE_20__, __WEBPACK_EXTERNAL_MODULE_22__, __WEBPACK_EXTERNAL_MODULE_23__, __WEBPACK_EXTERNAL_MODULE_25__, __WEBPACK_EXTERNAL_MODULE_26__, __WEBPACK_EXTERNAL_MODULE_27__, __WEBPACK_EXTERNAL_MODULE_39__) { return /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar widget_1 = __webpack_require__(25);\r\nvar Component = /** @class */ (function () {\r\n    function Component(store) {\r\n        /** Child components defined in this component's render function */\r\n        this.childComponents = {};\r\n        /** Indicates whether a component needs to re-render, or can simply return precalculated vdom */\r\n        this.dirty = true;\r\n        this.store = store;\r\n        this.props = store.getState();\r\n        this.tsx = this.tsx.bind(this);\r\n        this.updateProps = this.updateProps.bind(this);\r\n        store.subscribe(this.updateProps);\r\n    }\r\n    /** tsx function required to render child components */\r\n    Component.prototype.tsx = function (element, properties, children) {\r\n        if (typeof element === \"string\") {\r\n            return widget_1.tsx.apply(this, arguments);\r\n        }\r\n        else {\r\n            if (properties && properties.key) {\r\n                var child = this.childComponents[properties.key];\r\n                if (child) {\r\n                    if (child.dirty) {\r\n                        child.renderResult = child.render();\r\n                    }\r\n                    return child.renderResult;\r\n                }\r\n                else {\r\n                    this.childComponents[properties.key] = new element(properties.store ? newStore(__assign({}, properties.store, { parentWidget: this.store.parentWidget })) :\r\n                        this.store, properties.key);\r\n                    this.childComponents[properties.key].renderResult = this.childComponents[properties.key].render();\r\n                    return this.childComponents[properties.key].renderResult;\r\n                }\r\n            }\r\n            else {\r\n                throw new Error(\"Custom components must each have a unique key property.\");\r\n            }\r\n        }\r\n    };\r\n    /** Returns a VNode, needs to be implemented by component creator */\r\n    Component.prototype.render = function () { };\r\n    /** Called before a component's props are updated. */\r\n    Component.prototype.componentWillReceiveProps = function (nextProps) { };\r\n    /** Returns true by default. If false returned component will not re-render */\r\n    Component.prototype.shouldComponentUpdate = function (nextProps) {\r\n        return true;\r\n    };\r\n    /** Updates the private state of the component */\r\n    Component.prototype.setState = function (newState) {\r\n        this.state = __assign({}, this.state, newState);\r\n        this.store.parentWidget.scheduleRender();\r\n    };\r\n    /** Dispatches an action to the component's store */\r\n    Component.prototype.dispatch = function (action) {\r\n        this.store.dispatch(action);\r\n    };\r\n    /** Used behind the scenes to sync a component's props with the current application state */\r\n    Component.prototype.updateProps = function (nextProps) {\r\n        this.componentWillReceiveProps(nextProps);\r\n        this.dirty = this.shouldComponentUpdate(nextProps);\r\n        this.props = nextProps;\r\n    };\r\n    return Component;\r\n}());\r\nexports.default = Component;\r\n/** Creates a new store of application state */\r\nfunction newStore(storeParams) {\r\n    if (storeParams.middlewares) {\r\n        return applyMiddleware.apply(void 0, storeParams.middlewares)(createStore)(storeParams.reducers, storeParams.parentWidget, storeParams.initialState);\r\n    }\r\n    return createStore(storeParams.reducers, storeParams.parentWidget, storeParams.initialState);\r\n}\r\nexports.newStore = newStore;\r\n/** Combines reducers to allow composition */\r\nfunction combineReducers(reducers) {\r\n    var finalReducers = pick(reducers, function (val) { return typeof val === 'function'; });\r\n    return function (state, action) {\r\n        if (state === void 0) { state = {}; }\r\n        return mapValues(finalReducers, function (reducer, key) { return reducer(state[key], action); });\r\n    };\r\n}\r\nexports.combineReducers = combineReducers;\r\nfunction createStore(reducers, parentWidget, initialState) {\r\n    var state;\r\n    if (initialState) {\r\n        state = initialState;\r\n    }\r\n    var subscribers = [];\r\n    var store = {\r\n        parentWidget: parentWidget,\r\n        dispatch: function (action) {\r\n            state = reducers(state, action);\r\n            subscribers.forEach(function (handler) { return handler(state); });\r\n            parentWidget.scheduleRender();\r\n        },\r\n        subscribe: function (handler) {\r\n            subscribers.push(handler);\r\n            return function unsubscribe() {\r\n                var index = subscribers.indexOf(handler);\r\n                subscribers.splice(index, 1);\r\n            };\r\n        },\r\n        getState: function () {\r\n            return state;\r\n        }\r\n    };\r\n    store.dispatch({ type: \"INITIALIZE\" });\r\n    return store;\r\n}\r\nfunction applyMiddleware() {\r\n    var middlewares = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        middlewares[_i] = arguments[_i];\r\n    }\r\n    return function (next) { return function (reducer, parentWidget, initialState) {\r\n        var store = next(reducer, parentWidget, initialState);\r\n        var dispatch = store.dispatch;\r\n        var chain = [];\r\n        chain = middlewares.map(function (middleware) { return middleware({\r\n            getState: store.getState,\r\n            dispatch: function (action) { return dispatch(action); }\r\n        }); });\r\n        dispatch = compose.apply(void 0, chain)(store.dispatch);\r\n        return __assign({}, store, { dispatch: dispatch });\r\n    }; };\r\n}\r\nfunction compose() {\r\n    var funcs = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        funcs[_i] = arguments[_i];\r\n    }\r\n    return function (arg) { return funcs.reduceRight(function (composed, f) { return f(composed); }, arg); };\r\n}\r\nfunction mapValues(obj, fn) {\r\n    return Object.keys(obj).reduce(function (result, key) {\r\n        result[key] = fn(obj[key], key);\r\n        return result;\r\n    }, {});\r\n}\r\nfunction pick(obj, fn) {\r\n    return Object.keys(obj).reduce(function (result, key) {\r\n        if (fn(obj[key])) {\r\n            result[key] = obj[key];\r\n        }\r\n        return result;\r\n    }, {});\r\n}\r\n/** Available Redux middlewares */\r\nexports.middlewares = {\r\n    /** Asynchronous control flow using thunks */\r\n    thunk: function (params) { return function (next) { return function (action) {\r\n        if (typeof action === \"function\") {\r\n            return action(params.dispatch, params.getState);\r\n        }\r\n        return next(action);\r\n    }; }; },\r\n    /** Log dispatch and next state to the console */\r\n    debug: function (params) { return function (next) { return function (action) {\r\n        console.log(action.type, action);\r\n        var result = next(action);\r\n        console.log('next state', params.getState());\r\n        return result;\r\n    }; }; },\r\n    /** Send actions and resulting state to a listener */\r\n    addListener: function (listener) {\r\n        return function (params) { return function (next) { return function (action) {\r\n            var result = next(action);\r\n            listener(action, params.getState());\r\n            return result;\r\n        }; }; };\r\n    }\r\n};\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar base_1 = __webpack_require__(3);\r\nexports.SAVE_APP_BASE_RESULT = base_1.SAVE_APP_BASE_RESULT;\r\nexports.LOAD_APP_FAIL = base_1.LOAD_APP_FAIL;\r\nexports.LOAD_APP_PROGRESS = base_1.LOAD_APP_PROGRESS;\r\nexports.LOAD_APP_SUCCESS = base_1.LOAD_APP_SUCCESS;\r\nexports.loadApplicationBase = base_1.loadApplicationBase;\r\nvar items_1 = __webpack_require__(28);\r\nexports.UPDATE_ITEMS = items_1.UPDATE_ITEMS;\r\nexports.FILTER_ITEMS = items_1.FILTER_ITEMS;\r\nexports.filterItems = items_1.filterItems;\r\nexports.updateItems = items_1.updateItems;\r\nvar router_1 = __webpack_require__(29);\r\nexports.PUSH = router_1.PUSH;\r\nexports.HASH_CHANGE = router_1.HASH_CHANGE;\r\nexports.push = router_1.push;\r\nexports.hashChange = router_1.hashChange;\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SAVE_APP_BASE_RESULT = \"SAVE_APP_BASE_RESULT\";\r\nexports.LOAD_APP_FAIL = \"LOAD_APP_FAIL\";\r\nexports.LOAD_APP_PROGRESS = \"LOAD_APP_PROGRESS\";\r\nexports.LOAD_APP_SUCCESS = \"LOAD_APP_FINISH\";\r\nexports.AUTHENTICATION_FAILED = \"AUTHENTICATION_FAILED\";\r\nvar all = __webpack_require__(9);\r\nvar Deferred = __webpack_require__(26);\r\nvar IdentityManager = __webpack_require__(7);\r\nvar Portal = __webpack_require__(8);\r\nvar cookie = __webpack_require__(27);\r\nvar _1 = __webpack_require__(1);\r\nvar supportedItemTypes_1 = __webpack_require__(4);\r\nexports.loadApplicationBase = function () { return function (dispatch, getState) {\r\n    var base = getState().base;\r\n    base.applicationBase.load().then(function (result) { return dispatch(exports.queryGroupItems(result)); }, function (err) {\r\n        if (err === \"identity-manager:not-authorized\") {\r\n            dispatch(loadAppNoAuth(err));\r\n        }\r\n        else {\r\n            dispatch(loadAppFail(err));\r\n        }\r\n    }, function (progress) { return dispatch(loadAppProgress(progress)); });\r\n}; };\r\nexports.updateApplicationBase = function (applicationBaseResult) {\r\n    return function (dispatch) {\r\n        dispatch({ type: exports.SAVE_APP_BASE_RESULT, payload: applicationBaseResult });\r\n        dispatch(exports.queryGroupItems(applicationBaseResult));\r\n    };\r\n};\r\nexports.queryGroupItems = function (applicationBaseResult) {\r\n    return function (dispatch, getState) {\r\n        // Boilerplate loaded properly so save it\r\n        dispatch(saveAppBaseResult(applicationBaseResult));\r\n        var state = getState();\r\n        var applicationBase = state.base.applicationBase;\r\n        var config = applicationBaseResult.config;\r\n        // Inject custom stylesheet if provided\r\n        if (config.customCSS && config.customCSS !== \"\") {\r\n            var customStyle = document.createElement(\"style\");\r\n            customStyle.innerHTML = config.customCSS;\r\n            document.body.appendChild(customStyle);\r\n        }\r\n        fetchAllGroupItems(applicationBase, config).then(function (response) {\r\n            var promises = response.results.map(function (item) { return item.load(); });\r\n            all(promises).then(function (items) {\r\n                var hash = state.router.hash;\r\n                dispatch(_1.updateItems(items.filter(function (item) { return supportedItemTypes_1.default[item.type]; })));\r\n                dispatch(_1.hashChange(window.location.hash.slice(1)));\r\n                dispatch(loadAppSuccess());\r\n            }, function (err) { return dispatch(loadAppFail(err)); });\r\n        }, function (err) { return dispatch(loadAppFail(err)); });\r\n    };\r\n};\r\nvar fetchAllGroupItemsById = function (applicationBase, config, groupId) {\r\n    var dfd = new Deferred;\r\n    applicationBase.queryGroupItems(groupId, {\r\n        num: 100,\r\n        sortField: (config.sortField ? config.sortField : \"numviews\"),\r\n        sortOrder: (config.sortOrder ? config.sortOrder : \"desc\"),\r\n        start: 0\r\n    }).then(function (response) {\r\n        if (response.total > response.results.length) {\r\n            var mappableArr = Array.apply(null, { length: Math.floor(response.total / 100) });\r\n            var promises = mappableArr.map(function (c, i) { return (applicationBase.queryGroupItems(groupId, {\r\n                num: 100,\r\n                sortField: (config.sortField ? config.sortField : \"numviews\"),\r\n                sortOrder: (config.sortOrder ? config.sortOrder : \"desc\"),\r\n                start: 100 + (i * 100)\r\n            })); });\r\n            all(promises).then(function (responses) {\r\n                var allItems = responses.reduce(function (p, c) {\r\n                    p.results = p.results.concat(c.results);\r\n                    return p;\r\n                }, { results: response.results });\r\n                dfd.resolve(allItems);\r\n            }, function (err) {\r\n                dfd.reject(err);\r\n            });\r\n        }\r\n        else {\r\n            dfd.resolve(response);\r\n        }\r\n    }, function (err) {\r\n        dfd.reject(err);\r\n    });\r\n    return dfd;\r\n};\r\nvar fetchAllGroupItems = function (applicationBase, config) {\r\n    var dfd = new Deferred;\r\n    if (!Array.isArray(config.group)) {\r\n        /* group is string */\r\n        return fetchAllGroupItemsById(applicationBase, config, config.group);\r\n    }\r\n    /* group is array */\r\n    var promises = config.group.map(function (group) { return (fetchAllGroupItemsById(applicationBase, config, group)); });\r\n    all(promises).then(function (responses) {\r\n        var allItems = responses.reduce(function (p, c) {\r\n            p.results = p.results.concat(c.results);\r\n            return p;\r\n        });\r\n        dfd.resolve(allItems);\r\n    }, function (err) {\r\n        dfd.reject(err);\r\n    });\r\n    return dfd;\r\n};\r\nexports.signIn = function () { return function (dispatch, getState) {\r\n    var state = getState();\r\n    var portal = new Portal({ url: state.base.applicationBase.portal.url });\r\n    portal.authMode = \"immediate\";\r\n    portal.load().then(function () {\r\n        dispatch(exports.updateApplicationBase(__assign({}, state.base.applicationBaseResult, { portal: portal })));\r\n    });\r\n}; };\r\nexports.signOut = function () { return function (dispatch, getState) {\r\n    IdentityManager.destroyCredentials();\r\n    cookie(\"esri_auth\", undefined, {\r\n        path: \"/\",\r\n        domain: \".arcgis.com\",\r\n        expires: -1\r\n    });\r\n    cookie(\"esri_auth\", undefined, {\r\n        path: \"/\",\r\n        domain: \".\" + document.domain,\r\n        expires: -1\r\n    });\r\n    var state = getState();\r\n    var portal = new Portal({ url: state.base.applicationBase.portal.url });\r\n    portal.authMode = \"auto\";\r\n    portal.load().then(function () {\r\n        portal.user = null;\r\n        dispatch(exports.updateApplicationBase(__assign({}, state.base.applicationBaseResult, { portal: portal })));\r\n    });\r\n}; };\r\nvar saveAppBaseResult = function (applicationBaseResult) { return ({\r\n    type: exports.SAVE_APP_BASE_RESULT,\r\n    payload: applicationBaseResult\r\n}); };\r\nvar loadAppFail = function (err) { return ({\r\n    type: exports.LOAD_APP_FAIL,\r\n    payload: err\r\n}); };\r\nvar loadAppNoAuth = function (err) { return ({\r\n    type: exports.AUTHENTICATION_FAILED,\r\n    payload: err\r\n}); };\r\nvar loadAppProgress = function (progress) { return ({\r\n    type: exports.LOAD_APP_PROGRESS,\r\n    payload: progress.status\r\n}); };\r\nvar loadAppSuccess = function () { return ({\r\n    type: exports.LOAD_APP_SUCCESS\r\n}); };\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar fileTypes = {\r\n    \"360 VR Experience\": \"file\",\r\n    \"App Builder Extension\": \"file\",\r\n    \"ArcGIS Pro Add In\": \"file\",\r\n    \"ArcGIS Pro Configuration\": \"file\",\r\n    \"ArcPad Package\": \"file\",\r\n    \"CAD Drawing\": \"file\",\r\n    \"CSV\": \"file\",\r\n    \"CSV Collection\": \"file\",\r\n    \"CityEngine Web Scene\": \"file\",\r\n    \"Code Sample\": \"file\",\r\n    \"Dashboard\": \"file\",\r\n    \"Desktop Add In\": \"file\",\r\n    \"Desktop Application\": \"file\",\r\n    \"Desktop Application Template\": \"file\",\r\n    \"Desktop Style\": \"file\",\r\n    \"Document Link\": \"file\",\r\n    \"Explorer Add In\": \"file\",\r\n    \"Explorer Layer\": \"file\",\r\n    \"Explorer Map\": \"file\",\r\n    \"Feature Collection\": \"file\",\r\n    \"Feature Service\": \"file\",\r\n    \"File Geodatabase\": \"file\",\r\n    \"GeoJson\": \"file\",\r\n    \"Geocoding Service\": \"file\",\r\n    \"Geodata Service\": \"file\",\r\n    \"Geometry Service\": \"file\",\r\n    \"Geoprocessing Package\": \"file\",\r\n    \"Geoprocessing Sample\": \"file\",\r\n    \"Geoprocessing Service\": \"file\",\r\n    \"Globe Document\": \"file\",\r\n    \"Globe Service\": \"file\",\r\n    \"Image\": \"file\",\r\n    \"Image Collection\": \"file\",\r\n    \"Image Service\": \"file\",\r\n    \"Insights Workbook\": \"file\",\r\n    \"KML\": \"file\",\r\n    \"KML Collection\": \"file\",\r\n    \"Layer\": \"file\",\r\n    \"Layer Package\": \"file\",\r\n    \"Layout\": \"file\",\r\n    \"Locator Package\": \"file\",\r\n    \"Map Document\": \"file\",\r\n    \"Map Package\": \"file\",\r\n    \"Map Service\": \"file\",\r\n    \"Map Template\": \"file\",\r\n    \"Microsoft Excel\": \"file\",\r\n    \"Microsoft Powerpoint\": \"file\",\r\n    \"Microsoft Word\": \"file\",\r\n    \"Mobile Application\": \"file\",\r\n    \"Mobile Basemap Package\": \"file\",\r\n    \"Mobile Map Package\": \"file\",\r\n    \"Network Analysis Service\": \"file\",\r\n    \"Operations Dashboard Add In\": \"file\",\r\n    \"Operations Dashboard Extension\": \"file\",\r\n    \"PDF\": \"file\",\r\n    \"Pro Map\": \"file\",\r\n    \"Project Package\": \"file\",\r\n    \"Project Template\": \"file\",\r\n    \"Published Map\": \"file\",\r\n    \"Raster function template\": \"file\",\r\n    \"Rule Package\": \"file\",\r\n    \"Scene Document\": \"file\",\r\n    \"Scene Package\": \"file\",\r\n    \"Scene Service\": \"file\",\r\n    \"Service Definition\": \"file\",\r\n    \"Shapefile\": \"file\",\r\n    \"Stream Service\": \"file\",\r\n    \"Task File\": \"file\",\r\n    \"Visio Document\": \"file\",\r\n    \"WFS\": \"file\",\r\n    \"WMS\": \"file\",\r\n    \"WMTS\": \"file\",\r\n    \"Windows Mobile Package\": \"file\",\r\n    \"Windows Viewer Add In\": \"file\",\r\n    \"Workflow Manager Service\": \"file\",\r\n    \"iWork Keynote\": \"file\",\r\n    \"iWork Numbers\": \"file\",\r\n    \"iWork Pages\": \"file\",\r\n    \"Form\": \"file\",\r\n    \"Workforce Project\": \"file\"\r\n};\r\nexports.default = __assign({}, fileTypes, { \"Web Map\": \"webmap\", \"Web Mapping Application\": \"webapp\", \"Web Scene\": \"webscene\", \"Dashboard\": \"webapp\", \"Application\": \"webapp\" });\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SHOW_IN_VIEWER = \"SHOW_IN_VIEWER\";\r\nexports.SHOW_FULLSCREEN = \"SHOW_FULLSCREEN\";\r\nexports.MOUSE_OVER = \"MOUSE_OVER\";\r\nexports.MOUSE_OUT = \"MOUSE_OUT\";\r\nexports.VIEWER_CHANGE = \"VIEWER_CHANGE\";\r\nexports.showInViewer = function () { return ({\r\n    type: exports.SHOW_IN_VIEWER\r\n}); };\r\nexports.showFullscreen = function () { return ({\r\n    type: exports.SHOW_FULLSCREEN\r\n}); };\r\nexports.mouseOver = function () { return ({\r\n    type: exports.MOUSE_OVER\r\n}); };\r\nexports.mouseOut = function () { return ({\r\n    type: exports.MOUSE_OUT\r\n}); };\r\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_6__;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_9__;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar _reducers_1 = __webpack_require__(38);\r\nexports.reducers = _reducers_1.reducers;\r\nvar all = __webpack_require__(9);\r\nvar promiseUtils = __webpack_require__(6);\r\nvar requireUtils = __webpack_require__(39);\r\nvar widgetKey = {\r\n    compassWidget: \"esri/widgets/Compass\",\r\n    homeWidget: \"esri/widgets/Home\",\r\n    legendWidget: \"esri/widgets/Legend\",\r\n    locateWidget: \"esri/widgets/Locate\",\r\n    searchWidget: \"esri/widgets/Search\"\r\n};\r\nvar ViewBase = /** @class */ (function (_super) {\r\n    __extends(ViewBase, _super);\r\n    function ViewBase(store) {\r\n        var _this = _super.call(this, store) || this;\r\n        _this.state = {\r\n            status: \"loading\",\r\n            loadText: \"scripts\"\r\n        };\r\n        _this.loadScripts = _this.loadScripts.bind(_this);\r\n        _this.loadMap = _this.loadMap.bind(_this);\r\n        _this.loadWidgets = _this.loadWidgets.bind(_this);\r\n        _this.loadScripts.bind(_this)();\r\n        return _this;\r\n    }\r\n    ViewBase.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        if (this.state.status === \"loaded\") {\r\n            return tsx(\"div\", null);\r\n        }\r\n        else if (this.state.status === \"loading\") {\r\n            return (tsx(\"div\", null,\r\n                tsx(\"div\", { class: \"loader is-active padding-leader-3 padding-trailer-3 center-style\" },\r\n                    tsx(\"div\", { class: \"loader-bars\" }),\r\n                    tsx(\"div\", { class: \"loader-text\" }, this.props.i18n.viewLoading[this.state.loadText]))));\r\n        }\r\n        return (tsx(\"div\", null,\r\n            tsx(\"h3\", { class: \"center-style\" }, this.props.i18n.viewLoading.failed)));\r\n    };\r\n    ViewBase.prototype.loadScripts = function () {\r\n        var _this = this;\r\n        requireUtils.when(window[\"require\"], [this.props.webModule, this.props.viewModule])\r\n            .then(function (_a) {\r\n            var WebConstructor = _a[0], ViewConstructor = _a[1];\r\n            _this.setState({ loadText: \"map\" });\r\n            _this.loadMap(WebConstructor, ViewConstructor);\r\n        }, function (err) {\r\n            _this.setState({ status: \"failed\" });\r\n        });\r\n    };\r\n    ViewBase.prototype.loadMap = function (WebConstructor, ViewConstructor) {\r\n        var _this = this;\r\n        var view;\r\n        var map = new WebConstructor({\r\n            portalItem: {\r\n                id: this.props.id\r\n            }\r\n        });\r\n        map.load().then(function () {\r\n            _this.setState({ loadText: \"basemap\" });\r\n            return map.basemap.load();\r\n        }).then(function () {\r\n            _this.setState({ loadText: \"layers\" });\r\n            var allLayers = map.allLayers;\r\n            var promises = allLayers.map(function (layer) { return layer.load(); });\r\n            return all(promises.toArray());\r\n        }).then(function (layers) {\r\n            _this.setState({ loadText: \"widgets\" });\r\n            view = new ViewConstructor({\r\n                container: _this.props.containerId,\r\n                map: map\r\n            });\r\n            return _this.loadWidgets(view);\r\n        }).then(function () {\r\n            view.container = _this.props.containerId;\r\n            _this.setState({ status: \"loaded\" });\r\n        }).otherwise(function (err) {\r\n            _this.setState({ status: \"failed\" });\r\n        });\r\n    };\r\n    ViewBase.prototype.loadWidgets = function (view) {\r\n        var _this = this;\r\n        var positions = {\r\n            \"bottom-left\": true,\r\n            \"bottom-right\": true,\r\n            \"top-left\": true,\r\n            \"top-right\": true\r\n        };\r\n        var modules = Object.keys(this.props.widgets).reduce(function (p, c, i) {\r\n            if (positions[_this.props.widgets[c]]) {\r\n                p.push({\r\n                    module: widgetKey[c],\r\n                    position: _this.props.widgets[c]\r\n                }); // typescript is weird\r\n            }\r\n            return p;\r\n        }, []);\r\n        return requireUtils.when(window[\"require\"], modules.map(function (item) { return item[\"module\"]; }))\r\n            .then(function (constructors) {\r\n            constructors.forEach(function (Constructor, i) {\r\n                var widget = new Constructor({ view: view });\r\n                if (widget.activeLayerInfos) {\r\n                    widget.watch(\"activeLayerInfos.length\", function () {\r\n                        view.ui.add(widget, modules[i][\"position\"]);\r\n                    });\r\n                    return;\r\n                }\r\n                view.ui.add(widget, modules[i][\"position\"]);\r\n            });\r\n            return promiseUtils.resolve();\r\n        });\r\n    };\r\n    return ViewBase;\r\n}(Component_1.default));\r\nexports.default = ViewBase;\r\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(12);\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ApplicationBase = __webpack_require__(13);\r\nvar Widget_1 = __webpack_require__(21);\r\nmodule.exports = function (applicationConfigJSON, boilerplateConfigJSON, i18n) {\r\n    var config = JSON.parse(applicationConfigJSON);\r\n    var settings = JSON.parse(boilerplateConfigJSON);\r\n    var boilerplate = new ApplicationBase({ config: config, settings: settings });\r\n    var MainComponent = new Widget_1.default({ boilerplate: boilerplate, i18n: i18n });\r\n    MainComponent.container = \"viewDiv\";\r\n};\r\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*\n  Copyright 2017 Esri\n\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n\n  you may not use this file except in compliance with the License.\n\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\n  See the License for the specific language governing permissions and\n\n  limitations under the License.​\n*/\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\n        s = arguments[i];\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n            t[p] = s[p];\n    }\n    return t;\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(15), __webpack_require__(16), __webpack_require__(6), __webpack_require__(7), __webpack_require__(14), __webpack_require__(8), __webpack_require__(17), __webpack_require__(18), __webpack_require__(19)], __WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, kernel, esriConfig, promiseUtils, IdentityManager, OAuthInfo, Portal, PortalItem, PortalQueryParams, declareDecorator_1) {\n    \"use strict\";\n    var defaultConfig = {\n        portalUrl: \"https://www.arcgis.com\",\n        helperServices: {\n            geometry: {},\n            printTask: {},\n            elevationSync: {},\n            geocode: []\n        }\n    };\n    var defaultSettings = {\n        environment: {},\n        group: {},\n        localStorage: {},\n        portal: {},\n        rightToLeftLocales: [\"ar\", \"he\"],\n        urlParams: [],\n        webMap: {},\n        webScene: {}\n    };\n    var ApplicationBase = /** @class */ (function () {\n        //--------------------------------------------------------------------------\n        //\n        //  Lifecycle\n        //\n        //--------------------------------------------------------------------------\n        function ApplicationBase(options) {\n            //--------------------------------------------------------------------------\n            //\n            //  Properties\n            //\n            //--------------------------------------------------------------------------\n            //----------------------------------\n            //  settings\n            //----------------------------------\n            this.settings = defaultSettings;\n            //----------------------------------\n            //  config\n            //----------------------------------\n            this.config = defaultConfig;\n            //----------------------------------\n            //  results\n            //----------------------------------\n            this.results = {};\n            //----------------------------------\n            //  portal\n            //----------------------------------\n            this.portal = null;\n            //----------------------------------\n            //  direction\n            //----------------------------------\n            this.direction = null;\n            //----------------------------------\n            //  locale\n            //----------------------------------\n            this.locale = kernel.locale;\n            //----------------------------------\n            //  units\n            //----------------------------------\n            this.units = null;\n            var config = options.config, settings = options.settings;\n            var applicationConfig = typeof config === \"string\"\n                ? JSON.parse(config)\n                : config;\n            var applicationBaseSettings = typeof settings === \"string\"\n                ? JSON.parse(settings)\n                : settings;\n            var configMixin = __assign({}, defaultConfig, applicationConfig);\n            var settingsMixin = __assign({}, defaultSettings, applicationBaseSettings);\n            this._mixinSettingsDefaults(settingsMixin);\n            this.config = configMixin;\n            this.settings = settingsMixin;\n        }\n        //--------------------------------------------------------------------------\n        //\n        //  Public Methods\n        //\n        //--------------------------------------------------------------------------\n        ApplicationBase.prototype.queryGroupItems = function (groupId, itemParams, portal) {\n            if (!portal || !groupId) {\n                portal = this.portal;\n            }\n            var defaultGroup = this.settings.group.default;\n            groupId = this._getDefaultId(groupId, defaultGroup);\n            var paramOptions = __assign({ query: \"group:\\\"\" + groupId + \"\\\" AND -type:\\\"Code Attachment\\\"\", sortField: \"modified\", sortOrder: \"desc\", num: 9, start: 1 }, itemParams);\n            var params = new PortalQueryParams(paramOptions);\n            return portal.queryItems(params);\n        };\n        ApplicationBase.prototype.load = function () {\n            var _this = this;\n            var settings = this.settings;\n            var environmentSettings = settings.environment, groupSettings = settings.group, localStorageSettings = settings.localStorage, portalSettings = settings.portal, webMapSettings = settings.webMap, websceneSettings = settings.webScene, urlParamsSettings = settings.urlParams;\n            var isEsri = environmentSettings.isEsri;\n            var urlParams = this._getUrlParamValues(urlParamsSettings);\n            this.results.urlParams = urlParams;\n            this.config = this._mixinAllConfigs({\n                config: this.config,\n                url: urlParams\n            });\n            if (isEsri) {\n                var esriPortalUrl = this._getEsriEnvironmentPortalUrl();\n                this.config.portalUrl = esriPortalUrl;\n                this.config.proxyUrl = this._getEsriEnvironmentProxyUrl(esriPortalUrl);\n            }\n            var _a = this.config, portalUrl = _a.portalUrl, proxyUrl = _a.proxyUrl, oauthappid = _a.oauthappid, appid = _a.appid;\n            this._setPortalUrl(portalUrl);\n            this._setProxyUrl(proxyUrl);\n            var rtlLocales = this.settings.rightToLeftLocales;\n            this.direction = this._getLanguageDirection(rtlLocales);\n            this._registerOauthInfos(oauthappid, portalUrl);\n            var sharingUrl = portalUrl + \"/sharing\";\n            var loadApplicationItem = appid\n                ? this._loadItem(appid)\n                : promiseUtils.resolve();\n            var checkAppAccess = IdentityManager.checkAppAccess(sharingUrl, oauthappid).always(function (response) { return response; });\n            var fetchApplicationData = appid\n                ? loadApplicationItem.then(function (itemInfo) {\n                    return itemInfo instanceof PortalItem\n                        ? itemInfo.fetchData()\n                        : undefined;\n                })\n                : promiseUtils.resolve();\n            var loadPortal = portalSettings.fetch\n                ? new Portal().load()\n                : promiseUtils.resolve();\n            return promiseUtils\n                .eachAlways([loadApplicationItem, fetchApplicationData, loadPortal, checkAppAccess])\n                .always(function (applicationArgs) {\n                var applicationItemResponse = applicationArgs[0], applicationDataResponse = applicationArgs[1], portalResponse = applicationArgs[2], checkAppAccessResponse = applicationArgs[3];\n                var applicationItem = applicationItemResponse\n                    ? applicationItemResponse.value\n                    : null;\n                var applicationData = applicationDataResponse\n                    ? applicationDataResponse.value\n                    : null;\n                var localStorage = localStorageSettings.fetch\n                    ? _this._getLocalConfig(appid)\n                    : null;\n                var appAccess = checkAppAccessResponse ? checkAppAccessResponse.value : null;\n                if (applicationItem && applicationItem.access && applicationItem.access !== \"public\") {\n                    // do we have permission to access app\n                    if (appAccess && appAccess.name && appAccess.name === \"identity-manager:not-authorized\") {\n                        //identity-manager:not-authorized, identity-manager:not-authenticated, identity-manager:invalid-request\n                        return promiseUtils.reject(appAccess.name);\n                    }\n                }\n                else if (applicationItemResponse.error) {\n                    return promiseUtils.reject(applicationItemResponse.error);\n                }\n                _this.results.localStorage = localStorage;\n                _this.results.applicationItem = applicationItemResponse;\n                _this.results.applicationData = applicationDataResponse;\n                var applicationConfig = applicationData\n                    ? applicationData.values\n                    : null;\n                var portal = portalResponse ? portalResponse.value : null;\n                _this.portal = portal;\n                _this.units = _this._getUnits(portal);\n                _this.config = _this._mixinAllConfigs({\n                    config: _this.config,\n                    url: urlParams,\n                    local: localStorage,\n                    application: applicationConfig\n                });\n                _this._setGeometryService(_this.config, portal);\n                var _a = _this.config, webmap = _a.webmap, webscene = _a.webscene, group = _a.group;\n                var webMapPromises = [];\n                var webScenePromises = [];\n                var groupInfoPromises = [];\n                var groupItemsPromises = [];\n                var isWebMapEnabled = webMapSettings.fetch && webmap;\n                var isWebSceneEnabled = websceneSettings.fetch && webscene;\n                var isGroupInfoEnabled = groupSettings.fetchInfo && group;\n                var isGroupItemsEnabled = groupSettings.fetchItems && group;\n                var itemParams = groupSettings.itemParams;\n                var defaultWebMap = webMapSettings.default;\n                var defaultWebScene = websceneSettings.default;\n                var defaultGroup = groupSettings.default;\n                var fetchMultipleWebmaps = webMapSettings.fetchMultiple;\n                var fetchMultipleWebscenes = websceneSettings.fetchMultiple;\n                var fetchMultipleGroups = groupSettings.fetchMultiple;\n                if (isWebMapEnabled) {\n                    var webMaps = _this._getPropertyArray(webmap);\n                    var allowedWebmaps = _this._limitItemSize(webMaps, fetchMultipleWebmaps);\n                    allowedWebmaps.forEach(function (id) {\n                        var webMapId = _this._getDefaultId(id, defaultWebMap);\n                        webMapPromises.push(_this._loadItem(webMapId));\n                    });\n                }\n                if (isWebSceneEnabled) {\n                    var webScenes = _this._getPropertyArray(webscene);\n                    var allowedWebsenes = _this._limitItemSize(webScenes, fetchMultipleWebscenes);\n                    allowedWebsenes.forEach(function (id) {\n                        var webSceneId = _this._getDefaultId(id, defaultWebScene);\n                        webScenePromises.push(_this._loadItem(webSceneId));\n                    });\n                }\n                if (isGroupInfoEnabled) {\n                    var groups = _this._getPropertyArray(group);\n                    var allowedGroups = _this._limitItemSize(groups, fetchMultipleGroups);\n                    allowedGroups.forEach(function (id) {\n                        var groupId = _this._getDefaultId(id, defaultGroup);\n                        groupInfoPromises.push(_this._queryGroupInfo(groupId, portal));\n                    });\n                }\n                if (isGroupItemsEnabled) {\n                    var groups = _this._getPropertyArray(group);\n                    groups.forEach(function (id) {\n                        groupItemsPromises.push(_this.queryGroupItems(id, itemParams, portal));\n                    });\n                }\n                var promises = {\n                    webMap: webMapPromises\n                        ? promiseUtils.eachAlways(webMapPromises)\n                        : promiseUtils.resolve(),\n                    webScene: webScenePromises\n                        ? promiseUtils.eachAlways(webScenePromises)\n                        : promiseUtils.resolve(),\n                    groupInfo: groupInfoPromises\n                        ? promiseUtils.eachAlways(groupInfoPromises)\n                        : promiseUtils.resolve(),\n                    groupItems: groupItemsPromises\n                        ? promiseUtils.eachAlways(groupItemsPromises)\n                        : promiseUtils.resolve()\n                };\n                return promiseUtils.eachAlways(promises).always(function (itemArgs) {\n                    var webMapResponses = itemArgs.webMap.value;\n                    var webSceneResponses = itemArgs.webScene.value;\n                    var groupInfoResponses = itemArgs.groupInfo.value;\n                    var groupItemsResponses = itemArgs.groupItems.value;\n                    var itemInfo = applicationItem ? applicationItem.itemInfo : null;\n                    _this._overwriteItemsExtent(webMapResponses, itemInfo);\n                    _this._overwriteItemsExtent(webSceneResponses, itemInfo);\n                    _this.results.webMapItems = webMapResponses;\n                    _this.results.webSceneItems = webSceneResponses;\n                    _this.results.groupInfos = groupInfoResponses;\n                    _this.results.groupItems = groupItemsResponses;\n                    return _this;\n                });\n            });\n        };\n        //--------------------------------------------------------------------------\n        //\n        //  Private Methods\n        //\n        //--------------------------------------------------------------------------\n        ApplicationBase.prototype._mixinSettingsDefaults = function (settings) {\n            var userEnvironmentSettings = settings.environment;\n            var userLocalStorageSettings = settings.localStorage;\n            var userGroupSettings = settings.group;\n            var userPortalSettings = settings.portal;\n            var userWebmapSettings = settings.webMap;\n            var userWebsceneSettings = settings.webScene;\n            settings.environment = __assign({ isEsri: false, webTierSecurity: false }, userEnvironmentSettings);\n            settings.localStorage = __assign({ fetch: true }, userLocalStorageSettings);\n            var itemParams = {\n                sortField: \"modified\",\n                sortOrder: \"desc\",\n                num: 9,\n                start: 0\n            };\n            settings.group = __assign({ default: \"908dd46e749d4565a17d2b646ace7b1a\", fetchInfo: true, fetchItems: true, fetchMultiple: true, itemParams: itemParams }, userGroupSettings);\n            settings.portal = __assign({ fetch: true }, userPortalSettings);\n            settings.webMap = __assign({ default: \"1970c1995b8f44749f4b9b6e81b5ba45\", fetch: true, fetchMultiple: true }, userWebmapSettings);\n            settings.webScene = __assign({ default: \"e8f078ba0c1546b6a6e0727f877742a5\", fetch: true, fetchMultiple: true }, userWebsceneSettings);\n        };\n        ApplicationBase.prototype._limitItemSize = function (items, allowMultiple) {\n            var firstItem = items[0];\n            return allowMultiple ? items : firstItem ? [firstItem] : [];\n        };\n        ApplicationBase.prototype._getPropertyArray = function (property) {\n            if (typeof property === \"string\") {\n                return property.split(\",\");\n            }\n            if (Array.isArray(property)) {\n                return property;\n            }\n            return [];\n        };\n        ApplicationBase.prototype._getEsriEnvironmentPortalUrl = function () {\n            var pathname = location.pathname;\n            var esriAppsPath = \"/apps/\";\n            var esriHomePath = \"/home/\";\n            var esriAppsPathIndex = pathname.indexOf(esriAppsPath);\n            var esriHomePathIndex = pathname.indexOf(esriHomePath);\n            var isEsriAppsPath = esriAppsPathIndex !== -1;\n            var isEsriHomePath = esriHomePathIndex !== -1;\n            var appLocationIndex = isEsriAppsPath\n                ? esriAppsPathIndex\n                : isEsriHomePath\n                    ? esriHomePathIndex\n                    : undefined;\n            if (appLocationIndex === undefined) {\n                return;\n            }\n            var portalInstance = pathname.substr(0, appLocationIndex);\n            var host = location.host;\n            return \"https://\" + host + portalInstance;\n        };\n        ApplicationBase.prototype._getEsriEnvironmentProxyUrl = function (portalUrl) {\n            if (!portalUrl) {\n                return;\n            }\n            return portalUrl + \"/sharing/proxy\";\n        };\n        ApplicationBase.prototype._getUnits = function (portal) {\n            var USRegion = \"US\";\n            var USLocale = \"en-us\";\n            var user = portal.user;\n            var userRegion = user && user.region;\n            var userUnits = user && user.units;\n            var responseUnits = portal.units;\n            var responseRegion = portal.region;\n            var ipCountryCode = portal.ipCntryCode;\n            var isEnglishUnits = userRegion === USRegion ||\n                (userRegion && responseRegion === USRegion) ||\n                (userRegion && !responseRegion) ||\n                (!user && ipCountryCode === USRegion) ||\n                (!user && !ipCountryCode && kernel.locale === USLocale);\n            var units = userUnits\n                ? userUnits\n                : responseUnits\n                    ? responseUnits\n                    : isEnglishUnits\n                        ? \"english\"\n                        : \"metric\";\n            return units;\n        };\n        ApplicationBase.prototype._queryGroupInfo = function (groupId, portal) {\n            var params = new PortalQueryParams({\n                query: \"id:\\\"\" + groupId + \"\\\"\"\n            });\n            return portal.queryGroups(params);\n        };\n        ApplicationBase.prototype._loadItem = function (id) {\n            var item = new PortalItem({\n                id: id\n            });\n            return item.load();\n        };\n        ApplicationBase.prototype._getLocalConfig = function (appid) {\n            if (!window.localStorage || !appid) {\n                return;\n            }\n            var lsItemId = \"application_base_config_\" + appid;\n            var lsItem = localStorage.getItem(lsItemId);\n            var localConfig = lsItem && JSON.parse(lsItem);\n            return localConfig;\n        };\n        ApplicationBase.prototype._overwriteItemsExtent = function (responses, applicationItem) {\n            var _this = this;\n            if (!responses) {\n                return;\n            }\n            responses.forEach(function (response) {\n                var value = response.value;\n                if (value) {\n                    _this._overwriteItemExtent(value, applicationItem);\n                }\n            });\n        };\n        ApplicationBase.prototype._overwriteItemExtent = function (item, applicationItem) {\n            if (!item || !applicationItem) {\n                return;\n            }\n            var applicationExtent = applicationItem.extent;\n            item.extent = applicationExtent ? applicationExtent : item.extent;\n        };\n        ApplicationBase.prototype._getDefaultId = function (id, defaultId) {\n            var defaultUrlParam = \"default\";\n            var trimmedId = id ? id.trim() : \"\";\n            var useDefaultId = (!trimmedId || trimmedId === defaultUrlParam) && defaultId;\n            return useDefaultId ? defaultId : id;\n        };\n        ApplicationBase.prototype._getLanguageDirection = function (rtlLocales) {\n            if (rtlLocales === void 0) { rtlLocales = [\"ar\", \"he\"]; }\n            var isRTL = rtlLocales.some(function (language) {\n                return kernel.locale.indexOf(language) !== -1;\n            });\n            return isRTL ? \"rtl\" : \"ltr\";\n        };\n        ApplicationBase.prototype._mixinAllConfigs = function (params) {\n            var config = params.config || null;\n            var appConfig = params.application || null;\n            var localConfig = params.local || null;\n            var urlConfig = params.url || null;\n            return __assign({}, config, appConfig, localConfig, urlConfig);\n        };\n        ApplicationBase.prototype._setGeometryService = function (config, portal) {\n            var configHelperServices = config.helperServices;\n            var anyPortal = portal;\n            var portalHelperServices = anyPortal && anyPortal.helperServices;\n            var configGeometryUrl = configHelperServices &&\n                configHelperServices.geometry &&\n                configHelperServices.geometry.url;\n            var portalGeometryUrl = portalHelperServices &&\n                portalHelperServices.geometry &&\n                portalHelperServices.geometry.url;\n            var geometryServiceUrl = portalGeometryUrl || configGeometryUrl;\n            if (!geometryServiceUrl) {\n                return;\n            }\n            esriConfig.geometryServiceUrl = geometryServiceUrl;\n        };\n        ApplicationBase.prototype._setPortalUrl = function (portalUrl) {\n            if (!portalUrl) {\n                return;\n            }\n            esriConfig.portalUrl = portalUrl;\n        };\n        ApplicationBase.prototype._setProxyUrl = function (proxyUrl) {\n            if (!proxyUrl) {\n                return;\n            }\n            esriConfig.request.proxyUrl = proxyUrl;\n        };\n        ApplicationBase.prototype._registerOauthInfos = function (appId, portalUrl) {\n            if (!appId) {\n                return;\n            }\n            var info = new OAuthInfo({\n                appId: appId,\n                portalUrl: portalUrl,\n                popup: true\n            });\n            if (!info) {\n                return;\n            }\n            IdentityManager.registerOAuthInfos([info]);\n        };\n        ApplicationBase.prototype._getUrlParamValues = function (urlParams) {\n            var _this = this;\n            var urlObject = this._urlToObject();\n            var formattedUrlObject = {};\n            if (!urlObject || !urlParams || !urlParams.length) {\n                return;\n            }\n            urlParams.forEach(function (param) {\n                var urlParamValue = urlObject[param];\n                if (urlParamValue) {\n                    formattedUrlObject[param] = _this._formatUrlParamValue(urlParamValue);\n                }\n            });\n            return formattedUrlObject;\n        };\n        ApplicationBase.prototype._urlToObject = function () {\n            var _this = this;\n            var query = (window.location.search || \"?\").substr(1), map = {};\n            var urlRE = /([^&=]+)=?([^&]*)(?:&+|$)/g;\n            query.replace(urlRE, function (match, key, value) {\n                map[key] = _this._stripStringTags(decodeURIComponent(value));\n                return \"\";\n            });\n            return map;\n        };\n        ApplicationBase.prototype._formatUrlParamValue = function (urlParamValue) {\n            if (typeof urlParamValue !== \"string\") {\n                return urlParamValue;\n            }\n            var lowerCaseValue = urlParamValue.toLowerCase();\n            if (lowerCaseValue === \"true\") {\n                return true;\n            }\n            if (lowerCaseValue === \"false\") {\n                return false;\n            }\n            return urlParamValue;\n        };\n        ApplicationBase.prototype._stripStringTags = function (value) {\n            var tagsRE = /<\\/?[^>]+>/g;\n            return value.replace(tagsRE, \"\");\n        };\n        ApplicationBase = __decorate([\n            declareDecorator_1.default()\n        ], ApplicationBase);\n        return ApplicationBase;\n    }());\n    return ApplicationBase;\n}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n//# sourceMappingURL=ApplicationBase.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_14__;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_15__;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_16__;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_17__;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_18__;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(20)], __WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, declare) {\n    \"use strict\";\n    Object.defineProperty(exports, \"__esModule\", { value: true });\n    /**\n     * A decorator that converts a TypeScript class into a declare constructor.\n     * This allows declare constructors to be defined as classes, which nicely\n     * hides away the `declare([], {})` boilerplate.\n     */\n    function default_1() {\n        var mixins = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            mixins[_i] = arguments[_i];\n        }\n        return function (target) {\n            return declare(mixins, target.prototype);\n        };\n    }\n    exports.default = default_1;\n}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n//# sourceMappingURL=declareDecorator.js.map\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_20__;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/// <amd-dependency path=\"esri/core/tsSupport/declareExtendsHelper\" name=\"__extends\" />\r\n/// <amd-dependency path=\"esri/core/tsSupport/decorateHelper\" name=\"__decorate\" />\r\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar decorators_1 = __webpack_require__(22);\r\nvar Widget = __webpack_require__(23);\r\nvar MinimalGallery_1 = __webpack_require__(24);\r\nvar router_1 = __webpack_require__(51);\r\nvar Component_1 = __webpack_require__(0);\r\nvar thunk = Component_1.middlewares.thunk, debug = Component_1.middlewares.debug;\r\nvar MainApp = /** @class */ (function (_super) {\r\n    __extends(MainApp, _super);\r\n    function MainApp(props) {\r\n        var _this = _super.call(this) || this;\r\n        _this.minimalGallery = new MinimalGallery_1.default(Component_1.newStore({\r\n            reducers: MinimalGallery_1.reducers,\r\n            parentWidget: _this,\r\n            initialState: {\r\n                base: {\r\n                    applicationBase: props.boilerplate,\r\n                    applicationBaseResult: null,\r\n                    i18n: props.i18n,\r\n                    status: \"loading\",\r\n                    loadMessage: \"init\"\r\n                }\r\n            },\r\n            middlewares: [thunk, router_1.router]\r\n        }));\r\n        router_1.startHistoryListener(_this.minimalGallery.store);\r\n        return _this;\r\n    }\r\n    MainApp.prototype.render = function () {\r\n        return this.minimalGallery.render();\r\n    };\r\n    MainApp = __decorate([\r\n        decorators_1.subclass(\"esri.widgets.MinimalGallery\")\r\n    ], MainApp);\r\n    return MainApp;\r\n}(decorators_1.declared(Widget)));\r\nexports.default = MainApp;\r\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_22__;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_23__;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar _actions_1 = __webpack_require__(1);\r\nvar Header_1 = __webpack_require__(30);\r\nvar Gallery_1 = __webpack_require__(31);\r\nvar Viewer_1 = __webpack_require__(35);\r\nvar Pager_1 = __webpack_require__(43);\r\nvar _reducers_1 = __webpack_require__(44);\r\nexports.reducers = _reducers_1.reducers;\r\nvar MinimalGallery = /** @class */ (function (_super) {\r\n    __extends(MinimalGallery, _super);\r\n    function MinimalGallery(store) {\r\n        var _this = _super.call(this, store) || this;\r\n        _this.state = {\r\n            status: \"loading\",\r\n            loadMessage: \"init\"\r\n        };\r\n        _this.dispatch(_actions_1.loadApplicationBase());\r\n        return _this;\r\n    }\r\n    MinimalGallery.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        var i18n = this.props.base.i18n;\r\n        var status = this.props.base.status;\r\n        if (status === \"loading\") {\r\n            return (tsx(\"div\", null,\r\n                tsx(\"div\", { class: \"loader is-active padding-leader-3 padding-trailer-3 center-style\", key: \"loader\" },\r\n                    tsx(\"div\", { class: \"loader-bars\" }),\r\n                    tsx(\"div\", { bind: this, class: \"loader-text\" }, i18n.appLoading[this.state.loadMessage]))));\r\n        }\r\n        else if (status === \"success\") {\r\n            return (tsx(\"div\", null,\r\n                this.props.base.applicationBaseResult.config.showHeader ?\r\n                    tsx(Header_1.default, { key: \"minimal-gallery-header\" }) :\r\n                    null,\r\n                tsx(Gallery_1.default, { key: \"minimal-gallery\" }),\r\n                tsx(Viewer_1.default, { key: \"minimal-gallery-viewer\" }),\r\n                tsx(Pager_1.default, { key: \"minimal-gallery-pager\" })));\r\n        }\r\n        else if (status === \"noauth\") {\r\n            return (tsx(\"div\", null,\r\n                tsx(\"div\", { key: \"no-auth-container\", class: \"center-style\", style: \"padding: 1rem;\" },\r\n                    tsx(\"h3\", { key: \"no-license\" }, i18n.appLoading.notLicensed),\r\n                    tsx(\"p\", { key: \"no-auth\" }, i18n.appLoading.noauth))));\r\n        }\r\n        return (tsx(\"div\", null,\r\n            tsx(\"h3\", { class: \"center-style\" }, i18n.appLoading.failed)));\r\n    };\r\n    return MinimalGallery;\r\n}(Component_1.default));\r\nexports.default = MinimalGallery;\r\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_25__;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_26__;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_27__;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.UPDATE_ITEMS = \"UPDATE_ITEMS\";\r\nexports.FILTER_ITEMS = \"FILTER_ITEMS\";\r\nexports.updateItems = function (items) { return ({\r\n    type: exports.UPDATE_ITEMS,\r\n    payload: items\r\n}); };\r\nexports.filterItems = function (filter) { return ({\r\n    type: exports.FILTER_ITEMS,\r\n    payload: filter\r\n}); };\r\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.PUSH = \"ROUTER/PUSH\";\r\nexports.LOCATION_CHANGE = \"ROUTER/LOCATION_CHANGE\";\r\nexports.HASH_CHANGE = \"ROUTER/HASH_CHANGE\";\r\nexports.push = function (hash) { return ({\r\n    type: exports.PUSH,\r\n    payload: hash,\r\n}); };\r\nexports.hashChange = function (hash) { return ({\r\n    type: exports.HASH_CHANGE,\r\n    payload: hash\r\n}); };\r\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar _actions_1 = __webpack_require__(1);\r\nvar base_1 = __webpack_require__(3);\r\nvar Header = /** @class */ (function (_super) {\r\n    __extends(Header, _super);\r\n    function Header(store) {\r\n        var _this = _super.call(this, store) || this;\r\n        _this.state = {\r\n            searchTerm: _this.props.filter\r\n        };\r\n        _this.handleSearch = _this.handleSearch.bind(_this);\r\n        _this.handleSearchChange = _this.handleSearchChange.bind(_this);\r\n        _this.handleSignIn = _this.handleSignIn.bind(_this);\r\n        _this.handleSignOut = _this.handleSignOut.bind(_this);\r\n        return _this;\r\n    }\r\n    Header.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        var config = this.props.base.applicationBaseResult.config;\r\n        var headSearch = config.headerSearch ? (tsx(\"nav\", { class: \"class-top-nav-list right\", role: \"navigation\", title: \"usernav\" },\r\n            tsx(\"form\", { class: \"inline-block padding-leader-half\", role: \"search\", onsubmit: this.handleSearch },\r\n                tsx(\"input\", { title: config.searchPlaceholder, type: \"search\", placeholder: config.searchPlaceholder, name: \"q\", value: this.state.searchTerm, style: \"margin-top: -1px;\", oninput: this.handleSearchChange }),\r\n                tsx(\"button\", { type: \"submit\", class: \"hide\" }, config.searchPlaceholder)))) : null;\r\n        var tabletHeadSearch = config.headerSearch ? (tsx(\"nav\", { class: \"class-top-nav-list right\", role: \"navigation\", title: \"usernav\" },\r\n            tsx(\"form\", { class: \"inline-block padding-leader-half\", role: \"search\", onsubmit: this.handleSearch },\r\n                tsx(\"input\", { title: config.searchPlaceholder, type: \"search\", placeholder: config.searchPlaceholder, name: \"q\", value: this.state.searchTerm, style: \"margin-top: -1px;\", oninput: this.handleSearchChange }),\r\n                tsx(\"button\", { type: \"submit\", class: \"hide\" }, config.searchPlaceholder)))) : null;\r\n        var headImage = config.headerImage ? (tsx(\"img\", { src: config.headerImageLocation, class: \"header-image\", alt: config.headerText })) : null;\r\n        var agolLink = config.showAgolLink ? (tsx(\"a\", { class: \"top-nav-link\", href: appendProtocol(config.agolLinkLocation.replace(\"${GROUP_ID}\", config.group)), style: \"color: \" + config.headerTextColor, title: config.agolLinkText, target: \"_blank\" }, config.agolLinkText)) : null;\r\n        var signInLink = null;\r\n        if (!this.props.base.applicationBase.portal[\"credential\"] &&\r\n            this.props.base.applicationBaseResult.config.showSignInBtn) {\r\n            signInLink = (tsx(\"button\", { class: \"top-nav-btn\", key: \"sign-in-btn\", onclick: this.handleSignIn, style: \"color: \" + config.headerTextColor },\r\n                tsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"32\", height: \"32\", viewBox: \"0 0 32 32\", style: \"\\n                            fill: currentColor;\\n                            pointer-events: none;\\n                            display: inline-block;\\n                            width: 1em;\\n                            height: 1em;\\n                            vertical-align: -0.15em;\\n                            padding-right: .5em;\\n                        \" },\r\n                    tsx(\"path\", { d: \"M16.005 15.871a5.872 5.872 0 0 0 0-11.742 5.87 5.87 0 1 0 0 11.742zm11.567 7.188C27.27 19.036 20.023 18 16 18c-4.012 0-11.271 1.039-11.573 5.059C4.203 26.11 4.068 28.18 4.02 30h23.96c-.047-1.82-.184-3.891-.407-6.941z\" })),\r\n                this.props.base.i18n.header.signIn));\r\n        }\r\n        else if (this.props.base.applicationBaseResult.config.showSignInBtn &&\r\n            this.props.base.applicationBase.portal.user) {\r\n            signInLink = (tsx(\"button\", { class: \"top-nav-btn\", key: \"sign-out-btn\", onclick: this.handleSignOut, style: \"color: \" + config.headerTextColor },\r\n                tsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"32\", height: \"32\", viewBox: \"0 0 32 32\", style: \"\\n                            fill: currentColor;\\n                            pointer-events: none;\\n                            display: inline-block;\\n                            width: 1em;\\n                            height: 1em;\\n                            vertical-align: -0.15em;\\n                            padding-right: .5em;\\n                        \" },\r\n                    tsx(\"path\", { d: \"M16.005 15.871a5.872 5.872 0 0 0 0-11.742 5.87 5.87 0 1 0 0 11.742zm11.567 7.188C27.27 19.036 20.023 18 16 18c-4.012 0-11.271 1.039-11.573 5.059C4.203 26.11 4.068 28.18 4.02 30h23.96c-.047-1.82-.184-3.891-.407-6.941z\" })), this.props.base.i18n.header.signOut + \" (\" + this.props.base.applicationBase.portal.user.username + \")\"));\r\n        }\r\n        return (tsx(\"header\", { class: \"top-nav fade-in\", style: \"background-color: \" + config.headColor },\r\n            tsx(\"div\", { class: \"grid-container\" },\r\n                tsx(\"div\", { class: \"column-24\" },\r\n                    tsx(\"div\", { class: \"tablet-hide\" },\r\n                        tsx(\"a\", { href: appendProtocol(config.headerTextURL), target: \"_blank\" },\r\n                            headImage,\r\n                            tsx(\"a\", { class: \"top-nav-title\", style: \"color: \" + config.headerTextColor }, config.headerText)),\r\n                        headSearch,\r\n                        signInLink,\r\n                        agolLink),\r\n                    tsx(\"div\", { class: \"tablet-show top-nav-flex\" },\r\n                        tsx(\"header\", { class: \"top-nav-flex-title\" },\r\n                            tsx(\"a\", { href: appendProtocol(config.headerTextURL) },\r\n                                tsx(\"a\", { class: \"top-nav-title\", style: \"color: \" + config.headerTextColor }, config.headerText)),\r\n                            tabletHeadSearch))))));\r\n    };\r\n    Header.prototype.componentWillReceiveProps = function (nextProps) {\r\n        if (nextProps.filter !== this.state.searchTerm) {\r\n            this.setState({ searchTerm: nextProps.filter });\r\n        }\r\n    };\r\n    Header.prototype.handleSearch = function (e) {\r\n        if (e) {\r\n            e.preventDefault();\r\n        }\r\n        var query = this.state.searchTerm.length > 0 ? \"query=\" + this.state.searchTerm : \"\";\r\n        this.dispatch(_actions_1.push(\"\" + query));\r\n    };\r\n    Header.prototype.handleSearchChange = function (e) {\r\n        this.setState({\r\n            searchTerm: e.target.value\r\n        });\r\n        if (e.target.value === \"\") {\r\n            this.handleSearch();\r\n        }\r\n    };\r\n    Header.prototype.handleSignIn = function () {\r\n        this.dispatch(base_1.signIn());\r\n    };\r\n    Header.prototype.handleSignOut = function () {\r\n        this.dispatch(base_1.signOut());\r\n    };\r\n    return Header;\r\n}(Component_1.default));\r\nexports.default = Header;\r\nfunction appendProtocol(location) {\r\n    if (location.indexOf(\"http\") === 0) {\r\n        return location;\r\n    }\r\n    return \"http://\" + location;\r\n}\r\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar ioQuery = __webpack_require__(2);\r\nvar Component_1 = __webpack_require__(0);\r\nvar Panel_1 = __webpack_require__(32);\r\nvar _actions_1 = __webpack_require__(5);\r\nvar _actions_2 = __webpack_require__(1);\r\nvar supportedItemTypes_1 = __webpack_require__(4);\r\nvar addListener = Component_1.middlewares.addListener;\r\nvar Gallery = /** @class */ (function (_super) {\r\n    __extends(Gallery, _super);\r\n    function Gallery(store) {\r\n        var _this = _super.call(this, store) || this;\r\n        var itemsPerPage = _this.props.base.applicationBaseResult.config.itemsPerPage;\r\n        _this.state = {\r\n            itemPages: splitToPages(_this.props.items.filteredItems, itemsPerPage)\r\n        };\r\n        _this.mapItemsToChildren = _this.mapItemsToChildren.bind(_this);\r\n        _this.handleChildUpdate = _this.handleChildUpdate.bind(_this);\r\n        _this.showInViewer = _this.showInViewer.bind(_this);\r\n        return _this;\r\n    }\r\n    Gallery.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        if (this.props.viewer.fullscreen) {\r\n            return null;\r\n        }\r\n        return (tsx(\"div\", { class: \"grid-container leader-1\", style: \"background-color: \" + this.props.base.applicationBaseResult.config.bgColor + \";\" },\r\n            tsx(\"div\", { class: \"column-24\" },\r\n                tsx(\"div\", { class: \"padding-leader-1 block-group block-group-5-up tablet-block-group-3-up phone-block-group-1-up\" }, this.mapItemsToChildren()))));\r\n    };\r\n    Gallery.prototype.componentWillReceiveProps = function (nextProps) {\r\n        if (nextProps.items.displayKey !== this.props.items.displayKey) {\r\n            var itemsPerPage = this.props.base.applicationBaseResult.config.itemsPerPage;\r\n            this.setState({\r\n                itemPages: splitToPages(nextProps.items.filteredItems, itemsPerPage)\r\n            });\r\n        }\r\n        if (nextProps.router.hash !== this.props.router.hash) {\r\n            var currentViewer = ioQuery.queryToObject(this.props.router.hash).viewer;\r\n            var nextViewer = ioQuery.queryToObject(nextProps.router.hash).viewer;\r\n            if (currentViewer !== nextViewer) {\r\n                for (var child in this.childComponents) {\r\n                    if (this.childComponents.hasOwnProperty(child)) {\r\n                        this.childComponents[child].store.dispatch({\r\n                            type: _actions_1.VIEWER_CHANGE,\r\n                            payload: nextViewer\r\n                        });\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    };\r\n    Gallery.prototype.mapItemsToChildren = function () {\r\n        var _this = this;\r\n        var tsx = this.tsx;\r\n        var displayItems = this.state.itemPages[this.props.page - 1];\r\n        this.childComponents = displayItems.reduce(function (result, item) {\r\n            if (_this.childComponents[item.id]) {\r\n                result[item.id] = _this.childComponents[item.id];\r\n            }\r\n            return result;\r\n        }, {});\r\n        return displayItems.map(function (item) {\r\n            if (item.type === \"Dashboard\") {\r\n                item.url = item.portal.url + \"/apps/opsdashboard/index.html#/\" + item.id;\r\n            }\r\n            return (tsx(Panel_1.default, { key: item.id, store: {\r\n                    reducers: Panel_1.reducers,\r\n                    initialState: {\r\n                        applicationBaseResult: _this.props.base.applicationBaseResult,\r\n                        i18n: _this.props.base.i18n,\r\n                        item: item,\r\n                        itemType: supportedItemTypes_1.default[item.type],\r\n                        portal: _this.props.base.applicationBase.portal\r\n                    },\r\n                    middlewares: [addListener(_this.handleChildUpdate)]\r\n                } }));\r\n        });\r\n    };\r\n    Gallery.prototype.handleChildUpdate = function (action, childState) {\r\n        switch (action.type) {\r\n            case _actions_1.SHOW_IN_VIEWER:\r\n                this.showInViewer(childState.item.id);\r\n                break;\r\n            case _actions_1.SHOW_FULLSCREEN:\r\n                this.showFullscreen(childState.item.id);\r\n                break;\r\n            default: //\r\n        }\r\n    };\r\n    Gallery.prototype.showInViewer = function (itemId) {\r\n        var hash = this.props.router.hash;\r\n        var hashParams = ioQuery.queryToObject(hash);\r\n        hashParams.viewer = itemId;\r\n        this.dispatch(_actions_2.push(ioQuery.objectToQuery(hashParams)));\r\n    };\r\n    Gallery.prototype.showFullscreen = function (itemId) {\r\n        var hash = this.props.router.hash;\r\n        var hashParams = ioQuery.queryToObject(hash);\r\n        hashParams.viewer = itemId;\r\n        hashParams.fullscreen = true;\r\n        this.dispatch(_actions_2.push(ioQuery.objectToQuery(hashParams)));\r\n    };\r\n    return Gallery;\r\n}(Component_1.default));\r\nexports.default = Gallery;\r\nfunction splitToPages(items, perPage) {\r\n    return items.reduce(function (result, item) {\r\n        if (result[result.length - 1].length < perPage) {\r\n            result[result.length - 1].push(item);\r\n        }\r\n        else {\r\n            result.push([item]);\r\n        }\r\n        return result;\r\n    }, [[]]);\r\n}\r\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar Caption_1 = __webpack_require__(33);\r\nvar _actions_1 = __webpack_require__(5);\r\nvar _reducers_1 = __webpack_require__(34);\r\nexports.reducers = _reducers_1.reducers;\r\nvar Panel = /** @class */ (function (_super) {\r\n    __extends(Panel, _super);\r\n    function Panel(store) {\r\n        var _this = _super.call(this, store) || this;\r\n        _this.state = {\r\n            panelType: _this.props.getPanelType(_this.props.item.type),\r\n        };\r\n        _this.handleMouseOver = _this.handleMouseOver.bind(_this);\r\n        _this.handleMouseOut = _this.handleMouseOut.bind(_this);\r\n        _this.handleItemKeyPress = _this.handleItemKeyPress.bind(_this);\r\n        _this.handleItemClick = _this.handleItemClick.bind(_this);\r\n        _this.handleMaxClick = _this.handleMaxClick.bind(_this);\r\n        _this.registerItemLink = _this.registerItemLink.bind(_this);\r\n        return _this;\r\n    }\r\n    Panel.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        var i18n = this.props.i18n;\r\n        var config = this.props.applicationBaseResult.config;\r\n        var author = config.showAuthor ? (tsx(\"p\", { class: \"font-size--1 card-last hug-bottom author-text\", key: this.props.item.title + \"-author\" }, this.props.item.owner)) : null;\r\n        var tooltipSnippet;\r\n        if (config.showSummaryTooltip) {\r\n            tooltipSnippet = this.props.item.snippet ? this.props.item.snippet : null;\r\n            if (tooltipSnippet && tooltipSnippet.length > config.tooltipTruncLength) {\r\n                tooltipSnippet = tooltipSnippet.slice(0, config.tooltipTruncLength) + \"...\";\r\n            }\r\n        }\r\n        var cardSnippet;\r\n        var summaryElement;\r\n        if (config.showItemSummary) {\r\n            cardSnippet = this.props.item.snippet ? this.props.item.snippet : null;\r\n            if (cardSnippet && cardSnippet.length > config.summaryTruncLength) {\r\n                cardSnippet = cardSnippet.slice(0, config.summaryTruncLength) + \"...\";\r\n            }\r\n            summaryElement = tsx(\"p\", { class: \"item-description-text\" }, cardSnippet);\r\n        }\r\n        var itemPageLink;\r\n        if (config.showItemPageLink) {\r\n            itemPageLink = (tsx(\"a\", { class: \"open-out-icon btn btn-transparent toolbar-tooltip\", \"aria-label\": tooltipSnippet ? tooltipSnippet : i18n.ui.itemExtTip, href: this.props.applicationBaseResult.portal.url + \"/home/item.html?id=\" + this.props.item.id, style: \"color: \" + config.buttonBgColor, key: this.props.item.title + \"-info-icon\", tabindex: \"0\", target: this.props.applicationBaseResult.config.openItemDetailsSeparateTab ? \"_blank\" : \"\" },\r\n                tsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"32\", height: \"32\", viewBox: \"0 0 32 32\", style: \"\\n                            fill: #0079c1;\\n                            pointer-events: none;\\n                            display: inline-block;\\n                            width: 1em;\\n                            height: 1em;\\n                            vertical-align: -0.15em;\\n                            padding-right: .15em;\\n                        \" },\r\n                    tsx(\"path\", { d: \"M31.297 16.047c0 8.428-6.826 15.25-15.25 15.25S.797 24.475.797 16.047c0-8.424 6.826-15.25 15.25-15.25s15.25 6.826 15.25 15.25zM18 24V12h-4v12h-2v2h8v-2h-2zm0-18h-4v4h4V6z\" }))));\r\n        }\r\n        var maxLink;\r\n        if (this.props.itemType !== \"file\" && !config.alwaysOpenFullscreen) {\r\n            maxLink = (tsx(\"a\", { class: \"open-out-icon btn btn-transparent toolbar-tooltip\", \"aria-label\": i18n.ui[this.state.panelType + \"ExtTip\"], style: \"color: \" + config.buttonBgColor, key: this.props.item.title + \"-open-out-icon\", href: this.props.itemType === \"webapp\" ?\r\n                    this.props.item.url :\r\n                    \"\" + window.location.origin + window.location.pathname + window.location.search + \"#viewer=\" + this.props.item.id + \"&fullscreen=true\", target: this.props.applicationBaseResult.config.openFullscreenSeparateTab ? \"_blank\" : \"\", tabindex: \"0\" },\r\n                tsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"32\", height: \"32\", viewBox: \"0 0 32 32\", style: \"\\n                            fill: #0079c1;\\n                            pointer-events: none;\\n                            display: inline-block;\\n                            width: 1em;\\n                            height: 1em;\\n                            vertical-align: -0.15em;\\n                            padding-right: .15em;\\n                        \" },\r\n                    tsx(\"path\", { d: \"M2 4v24h28V4H2zm26 22H4V10h24v16z\" }))));\r\n        }\r\n        var mainTip = this.props.itemType === \"file\" ? i18n.ui.itemExtTip :\r\n            (config.alwaysOpenFullscreen ? i18n.ui[this.state.panelType + \"ExtTip\"] : i18n.ui.galleryTip);\r\n        if (this.props.item.type === \"PDF\") {\r\n            mainTip = i18n.ui.pdfTip;\r\n        }\r\n        else if (this.props.item.type === \"Document Link\" &&\r\n            this.props.applicationBaseResult.config.openDocumentLinksDirectly) {\r\n            mainTip = i18n.ui.documentTip;\r\n        }\r\n        var title;\r\n        if (config.showItemTitle) {\r\n            title = (tsx(\"a\", { title: mainTip, style: \"color: \" + config.linkColor, class: \"break-word\", onclick: this.handleItemClick, onkeypress: this.handleItemKeyPress },\r\n                tsx(\"h5\", { tabindex: \"0\", class: \"clickable\" }, this.props.item.title)));\r\n        }\r\n        return (tsx(\"div\", { class: \"card block trailer-1 animate-fade-in card-fade\", style: \"background-color: \" + config.cardColor + \"; z-index: 1\", key: this.props.item.id + \"-div\" },\r\n            tsx(\"figure\", { class: \"card-image-wrap\" },\r\n                tsx(\"a\", { title: mainTip, role: \"link\", tabindex: \"0\", onclick: this.handleItemClick, onkeypress: this.handleItemKeyPress, afterCreate: this.registerItemLink },\r\n                    tsx(\"img\", { key: this.props.item.id + \"-thumbnail\", class: \"card-image clickable thumbnail-min\", src: \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\", alt: this.props.item.title, onmouseover: this.handleMouseOver, onmouseout: this.handleMouseOut, style: \"\\n                                background-image: url(\" + this.props.item.thumbnailUrl + \");\\n                                background-repeat: no-repeat;\\n                                background-size: cover;\\n                            \" })),\r\n                tsx(Caption_1.default, { key: \"card-caption\" })),\r\n            tsx(\"div\", { class: \"card-content\", style: \"color: \" + config.fontColor },\r\n                title,\r\n                summaryElement,\r\n                author,\r\n                tsx(\"div\", { class: \"open-out-container\" },\r\n                    itemPageLink,\r\n                    maxLink))));\r\n    };\r\n    Panel.prototype.componentWillReceiveProps = function (nextProps) {\r\n        if (!nextProps.activeViewer &&\r\n            this.props.activeViewer &&\r\n            this.state.itemLink &&\r\n            this.props.activeViewer === this.props.item.id) {\r\n            this.state.itemLink.focus();\r\n        }\r\n    };\r\n    Panel.prototype.registerItemLink = function (itemLink) {\r\n        this.setState({ itemLink: itemLink });\r\n    };\r\n    Panel.prototype.handleMouseOver = function () {\r\n        this.dispatch(_actions_1.mouseOver());\r\n    };\r\n    Panel.prototype.handleMouseOut = function () {\r\n        this.dispatch(_actions_1.mouseOut());\r\n    };\r\n    Panel.prototype.handleItemKeyPress = function (e) {\r\n        if (e.key === \"Enter\") {\r\n            this.handleItemClick();\r\n        }\r\n    };\r\n    Panel.prototype.handleItemClick = function () {\r\n        if (this.props.item.type === \"Document Link\" &&\r\n            this.props.applicationBaseResult.config.openDocumentLinksDirectly) {\r\n            window.open(this.props.item.url);\r\n        }\r\n        else if (this.props.item.type === \"PDF\") {\r\n            window.open(this.props.item.itemUrl + \"/data\" + (this.props.portal[\"credential\"] ?\r\n                \"?token=\" + this.props.portal[\"credential\"].token : \"\"));\r\n        }\r\n        else if (this.props.itemType === \"file\") {\r\n            window.open(this.props.applicationBaseResult.portal.url + \"/home/item.html?id=\" + this.props.item.id, \"_blank\");\r\n        }\r\n        else {\r\n            if (this.props.applicationBaseResult.config.alwaysOpenFullscreen) {\r\n                this.handleMaxClick();\r\n            }\r\n            else {\r\n                this.dispatch(_actions_1.showInViewer());\r\n            }\r\n        }\r\n    };\r\n    Panel.prototype.handleMaxClick = function () {\r\n        if (this.props.applicationBaseResult.config.openFullscreenSeparateTab) {\r\n            if (this.props.itemType === \"webapp\") {\r\n                window.open(this.props.item.url, \"_blank\");\r\n            }\r\n            else {\r\n                window.open(\"\" + window.location.origin + window.location.pathname + window.location.search + \"#viewer=\" + this.props.item.id + \"&fullscreen=true\", \"_blank\");\r\n            }\r\n        }\r\n        else {\r\n            if (this.props.itemType === \"webapp\") {\r\n                window.location.href = this.props.item.url;\r\n            }\r\n            else {\r\n                this.dispatch(_actions_1.showFullscreen());\r\n            }\r\n        }\r\n    };\r\n    return Panel;\r\n}(Component_1.default));\r\nexports.default = Panel;\r\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar Caption = /** @class */ (function (_super) {\r\n    __extends(Caption, _super);\r\n    function Caption(store) {\r\n        var _this = _super.call(this, store) || this;\r\n        _this.state = {\r\n            captionBelowOpacity: 0.8,\r\n            captionOpacity: 1,\r\n            captionTransform: 0,\r\n            panelType: _this.props.getPanelType(_this.props.item.type)\r\n        };\r\n        return _this;\r\n    }\r\n    Caption.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        var config = this.props.applicationBaseResult.config;\r\n        if (config.showItemType) {\r\n            if (config.itemTypeBelowThumbnail) {\r\n                return (tsx(\"div\", { class: \"card-below-image-caption\", style: \"\\n                            opacity: \" + this.state.captionBelowOpacity + \";\\n                            background-color: \" + convertHex(config[this.state.panelType + \"CaptionColor\"], 80) + \";\\n                            color: \" + config.captionTextColor + \";\\n                        \" }, this.props.item.displayName));\r\n            }\r\n            else {\r\n                return (tsx(\"div\", { class: \"card-image-caption\", style: \"\\n                            opacity: \" + this.state.captionOpacity + \";\\n                            transform: translate(0, \" + this.state.captionTransform + \"%);\\n                            background-color: \" + convertHex(config[this.state.panelType + \"CaptionColor\"], 80) + \";\\n                            color: \" + config.captionTextColor + \";\\n                        \" }, this.props.item.displayName));\r\n            }\r\n        }\r\n        return null;\r\n    };\r\n    Caption.prototype.componentWillReceiveProps = function (nextProps) {\r\n        if (nextProps.hovering !== this.props.hovering) {\r\n            this.setState({\r\n                captionBelowOpacity: nextProps.hovering ? 1 : 0.8,\r\n                captionOpacity: nextProps.hovering ? 0 : 1,\r\n                captionTransform: nextProps.hovering ? 100 : 0\r\n            });\r\n        }\r\n    };\r\n    return Caption;\r\n}(Component_1.default));\r\nexports.default = Caption;\r\nfunction convertHex(hex, opacity) {\r\n    hex = hex.replace(\"#\", \"\");\r\n    var r = parseInt(hex.substring(0, 2), 16);\r\n    var g = parseInt(hex.substring(2, 4), 16);\r\n    var b = parseInt(hex.substring(4, 6), 16);\r\n    var result = \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + opacity / 100 + \")\";\r\n    return result;\r\n}\r\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar _actions_1 = __webpack_require__(5);\r\nvar applicationBaseResult = function (state) {\r\n    if (state === void 0) { state = {}; }\r\n    return state;\r\n};\r\nvar i18n = function (state) {\r\n    if (state === void 0) { state = {}; }\r\n    return state;\r\n};\r\nvar item = function (state) {\r\n    if (state === void 0) { state = {}; }\r\n    return state;\r\n};\r\nvar itemType = function (state) {\r\n    if (state === void 0) { state = \"file\"; }\r\n    return state;\r\n};\r\nvar portal = function (state) {\r\n    if (state === void 0) { state = {}; }\r\n    return state;\r\n};\r\nvar getPanelType = function (state) {\r\n    if (state === void 0) { state = function (type) {\r\n        var recognizedTypes = {\r\n            \"Web Mapping Application\": \"app\",\r\n            \"Web Map\": \"map\",\r\n            \"Web Scene\": \"scene\",\r\n            \"Dashboard\": \"app\",\r\n            \"Application\": \"app\"\r\n        };\r\n        if (recognizedTypes[type]) {\r\n            return recognizedTypes[type];\r\n        }\r\n        return \"file\";\r\n    }; }\r\n    return state;\r\n};\r\nvar hovering = function (state, action) {\r\n    if (state === void 0) { state = false; }\r\n    switch (action.type) {\r\n        case _actions_1.MOUSE_OVER:\r\n            return true;\r\n        case _actions_1.MOUSE_OUT:\r\n            return false;\r\n        default:\r\n            return state;\r\n    }\r\n};\r\nvar activeViewer = function (state, action) {\r\n    switch (action.type) {\r\n        case _actions_1.VIEWER_CHANGE:\r\n            return action.payload;\r\n        default:\r\n            return state;\r\n    }\r\n};\r\nexports.reducers = Component_1.combineReducers({\r\n    applicationBaseResult: applicationBaseResult,\r\n    i18n: i18n,\r\n    item: item,\r\n    hovering: hovering,\r\n    getPanelType: getPanelType,\r\n    itemType: itemType,\r\n    activeViewer: activeViewer,\r\n    portal: portal\r\n});\r\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar ioQuery = __webpack_require__(2);\r\nvar Component_1 = __webpack_require__(0);\r\nvar _actions_1 = __webpack_require__(1);\r\nvar View_1 = __webpack_require__(36);\r\nvar convertHex_1 = __webpack_require__(42);\r\nvar supportedItemTypes_1 = __webpack_require__(4);\r\nvar Viewer = /** @class */ (function (_super) {\r\n    __extends(Viewer, _super);\r\n    function Viewer(store) {\r\n        var _this = _super.call(this, store) || this;\r\n        _this.state = {\r\n            containerClasses: {\r\n                \"animate-fade-in\": true,\r\n                \"animate-fade-out\": false\r\n            },\r\n            scrollY: 0\r\n        };\r\n        _this.handleExitKeyPress = _this.handleExitKeyPress.bind(_this);\r\n        _this.handleExitClick = _this.handleExitClick.bind(_this);\r\n        _this.closeViewer = _this.closeViewer.bind(_this);\r\n        return _this;\r\n    }\r\n    Viewer.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        var i18n = this.props.base.i18n;\r\n        var config = this.props.base.applicationBaseResult.config;\r\n        var item = this.props.items.viewerItem;\r\n        if (this.props.viewer.visible && !!item.id) {\r\n            var viewType = supportedItemTypes_1.default[item.type];\r\n            var view = void 0;\r\n            if (viewType === \"webmap\") {\r\n                view = tsx(View_1.MapView, { key: item.id });\r\n            }\r\n            else if (viewType === \"webscene\") {\r\n                view = tsx(View_1.SceneView, { key: item.id });\r\n            }\r\n            else if (viewType === \"webapp\") {\r\n                view = tsx(View_1.AppView, { key: item.id });\r\n            }\r\n            else {\r\n                return null;\r\n            }\r\n            if (this.props.viewer.fullscreen) {\r\n                return (tsx(\"div\", { id: \"map-container\", class: \"map-container fullscreen\", key: \"map-container-fullscreen-\" + item.id }, view));\r\n            }\r\n            return (tsx(\"div\", { id: \"view-container\", key: \"view-container\", classes: this.state.containerClasses, style: \"background-color: \" + convertHex_1.default(config.bgColor, 85) + \";\" },\r\n                tsx(\"div\", { id: \"map-container\", class: \"map-container\", key: \"map-container-\" + item.id }, view),\r\n                tsx(\"button\", { class: \"btn btn-clear view-exit-button clickable\", onclick: this.handleExitClick, onkeypress: this.handleExitKeyPress, title: i18n.ui.close, afterCreate: this.focus },\r\n                    tsx(\"span\", { class: \"view-exit-icon\" },\r\n                        tsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" },\r\n                            tsx(\"path\", { d: \"M18.404 16l9.9 9.9-2.404 2.404-9.9-9.9-9.9 9.9L3.696 25.9l9.9-9.9-9.9-9.898L6.1 3.698l9.9 9.899 9.9-9.9 2.404 2.406-9.9 9.898z\" }))))));\r\n        }\r\n        return null;\r\n    };\r\n    Viewer.prototype.componentWillReceiveProps = function (nextProps) {\r\n        if (!this.props.viewer.visible && nextProps.viewer.visible) {\r\n            this.setState({ scrollY: window.scrollY });\r\n        }\r\n        if (this.props.viewer.visible && !nextProps.viewer.visible) {\r\n            this.childComponents = {};\r\n        }\r\n    };\r\n    Viewer.prototype.focus = function (el) {\r\n        setTimeout(function () {\r\n            el.focus();\r\n        }, 10);\r\n    };\r\n    Viewer.prototype.handleExitKeyPress = function (e) {\r\n        if (e.key === \"Enter\") {\r\n            this.handleExitClick();\r\n        }\r\n    };\r\n    Viewer.prototype.handleExitClick = function () {\r\n        var _this = this;\r\n        this.setState({\r\n            containerClasses: {\r\n                \"animate-fade-in\": false,\r\n                \"animate-fade-out\": true\r\n            }\r\n        });\r\n        setTimeout(function () {\r\n            _this.closeViewer();\r\n            _this.setState({\r\n                containerClasses: {\r\n                    \"animate-fade-in\": true,\r\n                    \"animate-fade-out\": false\r\n                }\r\n            });\r\n        }, 750);\r\n    };\r\n    Viewer.prototype.closeViewer = function () {\r\n        var hash = this.props.router.hash;\r\n        var hashParams = ioQuery.queryToObject(hash);\r\n        delete hashParams.viewer;\r\n        this.dispatch(_actions_1.push(ioQuery.objectToQuery(hashParams)));\r\n    };\r\n    return Viewer;\r\n}(Component_1.default));\r\nexports.default = Viewer;\r\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar MapView_1 = __webpack_require__(37);\r\nexports.MapView = MapView_1.MapView;\r\nvar AppView_1 = __webpack_require__(40);\r\nexports.AppView = AppView_1.AppView;\r\nvar SceneView_1 = __webpack_require__(41);\r\nexports.SceneView = SceneView_1.SceneView;\r\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar ViewBase_1 = __webpack_require__(10);\r\nvar MapView = /** @class */ (function (_super) {\r\n    __extends(MapView, _super);\r\n    function MapView(store) {\r\n        return _super.call(this, store) || this;\r\n    }\r\n    MapView.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        var config = this.props.base.applicationBaseResult.config;\r\n        return (tsx(ViewBase_1.default, { key: \"map-view\", store: {\r\n                reducers: ViewBase_1.reducers,\r\n                initialState: {\r\n                    config: config,\r\n                    i18n: this.props.base.i18n,\r\n                    id: this.props.items.viewerItem.id,\r\n                    widgets: Object.keys(config)\r\n                        .filter(function (key) { return key.indexOf(\"Widget\") !== -1; })\r\n                        .reduce(function (result, key) {\r\n                        return __assign({}, result, (_a = {}, _a[key] = config[key], _a));\r\n                        var _a;\r\n                    }, {}),\r\n                    viewModule: \"esri/views/MapView\",\r\n                    webModule: \"esri/WebMap\",\r\n                    containerId: \"map-container\"\r\n                }\r\n            } }));\r\n    };\r\n    return MapView;\r\n}(Component_1.default));\r\nexports.MapView = MapView;\r\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar initialState = {\r\n    config: {},\r\n    i18n: {},\r\n    id: \"\",\r\n    widgets: {},\r\n    viewModule: \"\",\r\n    webModule: \"\",\r\n    containerId: \"map-container\"\r\n};\r\nexports.reducers = function (state, action) {\r\n    if (state === void 0) { state = initialState; }\r\n    return state;\r\n};\r\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_39__;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar AppView = /** @class */ (function (_super) {\r\n    __extends(AppView, _super);\r\n    function AppView(store) {\r\n        return _super.call(this, store) || this;\r\n    }\r\n    AppView.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        return (tsx(\"iframe\", { src: this.props.items.viewerItem.url, class: \"app-frame\", id: \"embedded-mapping-application-iframe\", name: \"nested-iframe\" },\r\n            tsx(\"h3\", { class: \"center-style\" }, this.props.base.i18n.viewLoading.iframe)));\r\n    };\r\n    return AppView;\r\n}(Component_1.default));\r\nexports.AppView = AppView;\r\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar ViewBase_1 = __webpack_require__(10);\r\nvar SceneView = /** @class */ (function (_super) {\r\n    __extends(SceneView, _super);\r\n    function SceneView(store) {\r\n        return _super.call(this, store) || this;\r\n    }\r\n    SceneView.prototype.render = function () {\r\n        var tsx = this.tsx;\r\n        var config = this.props.base.applicationBaseResult.config;\r\n        return (tsx(ViewBase_1.default, { key: \"map-view\", store: {\r\n                reducers: ViewBase_1.reducers,\r\n                initialState: {\r\n                    config: config,\r\n                    i18n: this.props.base.i18n,\r\n                    id: this.props.items.viewerItem.id,\r\n                    widgets: Object.keys(config)\r\n                        .filter(function (key) { return key.indexOf(\"Widget\") !== -1; })\r\n                        .reduce(function (result, key) {\r\n                        return __assign({}, result, (_a = {}, _a[key] = config[key], _a));\r\n                        var _a;\r\n                    }, {}),\r\n                    viewModule: \"esri/views/SceneView\",\r\n                    webModule: \"esri/WebScene\",\r\n                    containerId: \"map-container\"\r\n                }\r\n            } }));\r\n    };\r\n    return SceneView;\r\n}(Component_1.default));\r\nexports.SceneView = SceneView;\r\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.default = function (hex, opacity) {\r\n    hex = hex.replace(\"#\", \"\");\r\n    var r = parseInt(hex.substring(0, 2), 16);\r\n    var g = parseInt(hex.substring(2, 4), 16);\r\n    var b = parseInt(hex.substring(4, 6), 16);\r\n    var result = \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + opacity / 100 + \")\";\r\n    return result;\r\n};\r\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar ioQuery = __webpack_require__(2);\r\nvar Component_1 = __webpack_require__(0);\r\nvar _actions_1 = __webpack_require__(1);\r\nvar Pager = /** @class */ (function (_super) {\r\n    __extends(Pager, _super);\r\n    function Pager(store) {\r\n        var _this = _super.call(this, store) || this;\r\n        _this.handleNext = _this.handleNext.bind(_this);\r\n        _this.handlePrevious = _this.handlePrevious.bind(_this);\r\n        _this.handlePageButton = _this.handlePageButton.bind(_this);\r\n        _this.handlePage = _this.handlePage.bind(_this);\r\n        return _this;\r\n    }\r\n    Pager.prototype.render = function () {\r\n        var _this = this;\r\n        var tsx = this.tsx;\r\n        var config = this.props.base.applicationBaseResult.config;\r\n        var displayItems = this.props.items.filteredItems;\r\n        var pages = Math.ceil(displayItems.length / config.itemsPerPage);\r\n        //No pager rendered if only a single page\r\n        if (pages <= 1) {\r\n            return;\r\n        }\r\n        var prevButtonClasses = {\r\n            \"btn\": true,\r\n            \"btn-disabled\": this.props.page <= 1,\r\n            \"btn-transparent\": true\r\n        };\r\n        var nextButtonClasses = {\r\n            \"btn\": true,\r\n            \"btn-arrow\": true,\r\n            \"btn-disabled\": this.props.page >= pages,\r\n            \"btn-transparent\": true\r\n        };\r\n        var pageButtons = Array.apply(null, Array(pages)).map(function (v, i) {\r\n            var isActive = _this.props.page === i + 1;\r\n            return (tsx(\"a\", { id: \"page-\" + (i + 1) + \"-button\", title: \"page-\" + (i + 1), class: \"btn\" + (!isActive ? \" btn-transparent\" : \"\"), onclick: _this.handlePageButton, role: \"link\", tabindex: \"0\", style: \"\\n                        color: \" + (isActive ? config.buttonTextColor : config.buttonBgColor) + \";\\n                        background-color: \" + (isActive ? config.buttonBgColor : null) + \";\\n                        border: \" + (isActive ? \"1px solid \" + config.buttonBgColor : \"none\") + \"\\n                    \", key: \"page-button-\" + (i + 1) + \"-\" + _this.props.items.displayKey }, i + 1));\r\n        });\r\n        return (tsx(\"div\", { class: \"text-center trailer-1 leader-1\", key: \"pager\" },\r\n            tsx(\"a\", { id: \"previous\", title: \"previous\", classes: prevButtonClasses, role: \"link\", tabindex: \"0\", style: \"color:\" + config.buttonBgColor + \";\", key: \"previous-button\", onclick: this.handlePrevious }, \"Previous\"),\r\n            pageButtons,\r\n            tsx(\"a\", { id: \"next\", title: \"next\", classes: nextButtonClasses, role: \"link\", tabindex: \"0\", style: \"color:\" + config.buttonBgColor + \";\", key: \"next-button\", onclick: this.handleNext }, \"Next\")));\r\n    };\r\n    Pager.prototype.handleNext = function () {\r\n        this.handlePage(this.props.page + 1);\r\n    };\r\n    Pager.prototype.handlePrevious = function () {\r\n        this.handlePage(this.props.page - 1);\r\n    };\r\n    Pager.prototype.handlePageButton = function (e) {\r\n        this.handlePage(e.target.text);\r\n    };\r\n    Pager.prototype.handlePage = function (page) {\r\n        var hash = this.props.router.hash;\r\n        var hashParams = ioQuery.queryToObject(hash);\r\n        if (page > 1) {\r\n            hashParams.page = page;\r\n        }\r\n        else {\r\n            if (hashParams.page) {\r\n                delete hashParams.page;\r\n            }\r\n        }\r\n        this.dispatch(_actions_1.push(ioQuery.objectToQuery(hashParams)));\r\n    };\r\n    return Pager;\r\n}(Component_1.default));\r\nexports.default = Pager;\r\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Component_1 = __webpack_require__(0);\r\nvar base_1 = __webpack_require__(45);\r\nvar items_1 = __webpack_require__(46);\r\nvar router_1 = __webpack_require__(47);\r\nvar filter_1 = __webpack_require__(48);\r\nvar page_1 = __webpack_require__(49);\r\nvar viewer_1 = __webpack_require__(50);\r\nexports.reducers = Component_1.combineReducers({\r\n    base: base_1.default,\r\n    items: items_1.default,\r\n    router: router_1.default,\r\n    filter: filter_1.default,\r\n    page: page_1.default,\r\n    viewer: viewer_1.default\r\n});\r\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar _actions_1 = __webpack_require__(1);\r\nvar base_1 = __webpack_require__(3);\r\nexports.default = function (state, action) {\r\n    switch (action.type) {\r\n        case _actions_1.SAVE_APP_BASE_RESULT:\r\n            var perPage = parseInt(action.payload.config.itemsPerPage, 10);\r\n            state.applicationBase.portal = action.payload.portal;\r\n            return __assign({}, state, { loadMessage: \"groupItems\", applicationBaseResult: __assign({}, action.payload, { config: __assign({}, action.payload.config, { itemsPerPage: !isNaN(perPage) && perPage > 0 ? perPage : 20 }) }) });\r\n        case _actions_1.LOAD_APP_FAIL:\r\n            return __assign({}, state, { status: \"failed\" });\r\n        case _actions_1.LOAD_APP_PROGRESS:\r\n            return __assign({}, state, { loadMessage: action.payload });\r\n        case _actions_1.LOAD_APP_SUCCESS:\r\n            return __assign({}, state, { status: \"success\" });\r\n        case base_1.AUTHENTICATION_FAILED:\r\n            return __assign({}, state, { status: \"noauth\" });\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar ioQuery = __webpack_require__(2);\r\nvar _actions_1 = __webpack_require__(1);\r\nvar initialState = {\r\n    allowedItemTypes: {},\r\n    allItems: [],\r\n    filteredItems: [],\r\n    displayKey: \"\",\r\n    viewerItem: {}\r\n};\r\nexports.default = function (state, action) {\r\n    if (state === void 0) { state = initialState; }\r\n    switch (action.type) {\r\n        case _actions_1.SAVE_APP_BASE_RESULT:\r\n            var itemTypes = !!action.payload.config.itemTypes && action.payload.config.itemTypes.length > 0 ?\r\n                action.payload.config.itemTypes :\r\n                \"WMS, Web Map, CityEngine Web Scene, Web Scene, 360 VR Experience, Pro Map, Feature Service, Map Service, Image Service, KML, KML Collection, WFS, WMTS, Feature Collection, Feature Collection Template, Vector Tile Service, Scene Service, Relational Database Connection, Web Mapping Application, Mobile Application, Code Attachment, Operations Dashboard Add In, Native Application, Native Application Template, Native Application Installer, Workforce Project, Form, Insights Workbook, Insights Model, Insights Page, Dashboard, Hub Initiative, Hub Site Application, Hub Page, AppBuilder Widget Package, Symbol Set, Color Set, Shapefile, File Geodatabase, CSV, CAD Drawing, Service Definition, Microsoft Word, Microsoft Powerpoint, Microsoft Excel, PDF, Image, Visio Document, iWork Keynote, iWork Pages, iWork Numbers, Report Template, Statistical Data Collection, Map Document, Map Package, Mobile Basemap Package, Mobile Map Package, Tile Package, Vector Tile Package, Project Package, Task File, ArcPad Package, Explorer Map, Globe Document, Scene Document, Published Map, Map Template, Windows Mobile Package, Pro Map, Layout, Project Template, Layer, Layer, Layer Package, Explorer Layer, Scene Package, Image Collection, Desktop Style, Geoprocessing Package, Geoprocessing Package (Pro version), Geoprocessing Sample, Locator Package, Rule Package, Raster function template, ArcGIS Pro Configuration, Workflow Manager Package, Desktop Application, Desktop Application Template, Code Sample, Desktop Add In, Explorer Add In, ArcGIS Pro Add In, Geometry Service, Geocoding Service, Network Analysis Service, Geoprocessing Service, Workflow Manager Service, Document Link\";\r\n            return __assign({}, state, { allowedItemTypes: itemTypes.split(\",\")\r\n                    .map(function (type) { return type.trim(); })\r\n                    .reduce(function (r, c) {\r\n                    r[c] = true;\r\n                    return r;\r\n                }, {}) });\r\n        case _actions_1.UPDATE_ITEMS:\r\n            return __assign({}, state, { allItems: action.payload });\r\n        case _actions_1.HASH_CHANGE:\r\n            var hashParams_1 = ioQuery.queryToObject(action.payload);\r\n            if (hashParams_1.viewer) {\r\n                var viewerItem = state.allItems.filter(function (item) { return item.id === hashParams_1.viewer; })[0];\r\n                return __assign({}, state, { viewerItem: viewerItem ? viewerItem : {}, filteredItems: filterItems(state.allItems, hashParams_1.query ? hashParams_1.query : \"\", state.allowedItemTypes), displayKey: Math.random().toString(36).substring(7) });\r\n            }\r\n            return __assign({}, state, { filteredItems: filterItems(state.allItems, hashParams_1.query ? hashParams_1.query : \"\", state.allowedItemTypes), displayKey: Math.random().toString(36).substring(7) });\r\n        default:\r\n            return state;\r\n    }\r\n};\r\nfunction filterItems(items, filter, allowedItemTypes) {\r\n    return items.filter(function (item) { return (allowedItemTypes[item.type] && (item.title.toLowerCase().indexOf(filter) !== -1 ||\r\n        item.type.toLowerCase().indexOf(filter) !== -1 ||\r\n        item.owner.toLowerCase().indexOf(filter) !== -1 ||\r\n        (item.tags && item.tags.map(function (tag) { return tag.toLowerCase(); }).indexOf(filter) !== -1) ||\r\n        (item.description && item.description.indexOf(filter) !== -1) ||\r\n        (item.snippet && item.snippet.indexOf(filter) !== -1))); });\r\n}\r\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar _actions_1 = __webpack_require__(1);\r\nvar initialState = {\r\n    hash: \"\"\r\n};\r\nexports.default = function (state, action) {\r\n    if (state === void 0) { state = initialState; }\r\n    switch (action.type) {\r\n        case _actions_1.HASH_CHANGE:\r\n            return __assign({}, state, { hash: action.payload });\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar ioQuery = __webpack_require__(2);\r\nvar _actions_1 = __webpack_require__(1);\r\nexports.default = function (state, action) {\r\n    if (state === void 0) { state = \"\"; }\r\n    switch (action.type) {\r\n        case _actions_1.HASH_CHANGE:\r\n            var hashParams = ioQuery.queryToObject(action.payload);\r\n            return (hashParams.query ? hashParams.query : \"\");\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar ioQuery = __webpack_require__(2);\r\nvar _actions_1 = __webpack_require__(1);\r\nexports.default = function (state, action) {\r\n    if (state === void 0) { state = 1; }\r\n    switch (action.type) {\r\n        case _actions_1.HASH_CHANGE:\r\n            var hashParams = ioQuery.queryToObject(action.payload);\r\n            if (hashParams.page) {\r\n                return parseInt(hashParams.page, 10);\r\n            }\r\n            return 1;\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar ioQuery = __webpack_require__(2);\r\nvar _actions_1 = __webpack_require__(1);\r\nvar initialState = {\r\n    visible: false,\r\n    fullscreen: false\r\n};\r\nexports.default = function (state, action) {\r\n    if (state === void 0) { state = initialState; }\r\n    switch (action.type) {\r\n        case _actions_1.HASH_CHANGE:\r\n            var hashParams = ioQuery.queryToObject(action.payload);\r\n            if (hashParams.viewer) {\r\n                return __assign({}, state, { visible: true, fullscreen: !!hashParams.fullscreen });\r\n            }\r\n            return __assign({}, state, { visible: false, fullscreen: false });\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar _actions_1 = __webpack_require__(1);\r\nexports.router = function () { return function (next) { return function (action) {\r\n    switch (action.type) {\r\n        case _actions_1.PUSH:\r\n            window.location.hash = action.payload;\r\n            break;\r\n        default:\r\n            return next(action);\r\n    }\r\n}; }; };\r\nfunction startHistoryListener(store) {\r\n    store.dispatch(_actions_1.hashChange(window.location.hash.slice(1)));\r\n    window.onhashchange = function (event) {\r\n        store.dispatch(_actions_1.hashChange(window.location.hash.slice(1)));\r\n    };\r\n}\r\nexports.startHistoryListener = startHistoryListener;\r\n\n\n/***/ })\n/******/ ])});;\n\n\n// WEBPACK FOOTER //\n// application.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 83b5182227f20a10426e","import { tsx as h } from \"esri/widgets/support/widget\";\r\n\r\ninterface StoreParams {\r\n    reducers: any;\r\n    parentWidget: __esri.Widget;\r\n    initialState?: __Component.Pojo;\r\n    middlewares?: any[];\r\n}\r\n\r\nexport default abstract class Component<ApplicationState extends __Component.Pojo, ComponentState extends __Component.Pojo = {}> {\r\n    /** Child components defined in this component's render function */\r\n    public childComponents: {\r\n        [childKey: string]: Component<__Component.Pojo, __Component.Pojo>;\r\n    } = {};\r\n\r\n    /** Internal component state */\r\n    public state: ComponentState;\r\n\r\n    /** The full state tree for the current scope */\r\n    public props: ApplicationState;\r\n\r\n    /** Indicates whether a component needs to re-render, or can simply return precalculated vdom */\r\n    public dirty: Boolean = true;\r\n\r\n    /** The previous result of rendering the component */\r\n    public renderResult: any;\r\n\r\n    /** Injectable hyperscript or custom components */\r\n    public children: any;\r\n\r\n    /** The component's store, which is shared by all components in the scope */\r\n    public store: __Component.Store;\r\n\r\n    constructor(store: __Component.Store) {\r\n        this.store = store;\r\n        this.props = store.getState();\r\n\r\n        this.tsx = this.tsx.bind(this);\r\n        this.updateProps = this.updateProps.bind(this);\r\n\r\n        store.subscribe(this.updateProps);\r\n    }\r\n\r\n    /** tsx function required to render child components */\r\n    public tsx(element: string | any, properties?: any, children?: any) {\r\n        if (typeof element === \"string\") { // Rendering ordinary hyperscript\r\n            return h.apply(this, arguments);\r\n        } else { // Rendering a custom component\r\n            if (properties && properties.key) { // Make sure the component has a unique key\r\n                let child = this.childComponents[properties.key];\r\n                if (child) {\r\n                    if (child.dirty) { // Need to re-render\r\n                        child.renderResult = child.render();\r\n                    }\r\n                    return child.renderResult;\r\n                } else {\r\n                    this.childComponents[properties.key] = new element(\r\n                        properties.store ? newStore({ ...properties.store, parentWidget: this.store.parentWidget }) :\r\n                        this.store,\r\n                        properties.key\r\n                    );\r\n                    this.childComponents[properties.key].renderResult = this.childComponents[properties.key].render();\r\n                    return this.childComponents[properties.key].renderResult;\r\n                }\r\n            } else {\r\n                throw new Error(\"Custom components must each have a unique key property.\");\r\n            }\r\n        }\r\n    }\r\n    \r\n    /** Returns a VNode, needs to be implemented by component creator */\r\n    public render() {}\r\n    \r\n    /** Called before a component's props are updated. */\r\n    public componentWillReceiveProps(nextProps: ApplicationState) {}\r\n    \r\n    /** Returns true by default. If false returned component will not re-render */\r\n    public shouldComponentUpdate(nextProps: ApplicationState) {\r\n        return true;\r\n    }\r\n    \r\n    /** Updates the private state of the component */\r\n    public setState(newState: Partial<ComponentState>) {\r\n        this.state = {...this.state as any, ...newState as any};\r\n        this.store.parentWidget.scheduleRender();\r\n    }\r\n    \r\n    /** Dispatches an action to the component's store */\r\n    public dispatch(action: any) {\r\n        this.store.dispatch(action);\r\n    }\r\n\r\n    /** Used behind the scenes to sync a component's props with the current application state */\r\n    private updateProps(nextProps: ApplicationState) {\r\n        this.componentWillReceiveProps(nextProps);\r\n        this.dirty = this.shouldComponentUpdate(nextProps);\r\n        this.props = nextProps;\r\n    }\r\n}\r\n\r\n/** Creates a new store of application state */\r\nexport function newStore(storeParams: StoreParams) {\r\n    if (storeParams.middlewares) {\r\n        return applyMiddleware(...storeParams.middlewares)(createStore)(\r\n            storeParams.reducers, storeParams.parentWidget, storeParams.initialState\r\n        );\r\n    }\r\n    return createStore(storeParams.reducers, storeParams.parentWidget, storeParams.initialState);\r\n}\r\n\r\n/** Combines reducers to allow composition */\r\nexport function combineReducers(reducers: any) {\r\n    var finalReducers = pick(reducers, (val: any) => typeof val === 'function');\r\n    return (state = {}, action: any) => mapValues(finalReducers,\r\n        (reducer: any, key: any) => reducer(state[key], action)\r\n    );\r\n}\r\n\r\nfunction createStore(reducers: any, parentWidget: __esri.Widget, initialState?: __Component.Pojo): __Component.Store {\r\n    let state: __Component.Pojo;\r\n    if (initialState) {\r\n        state = initialState;\r\n    }\r\n    const subscribers: ((state: __Component.Pojo) => void)[] = [];\r\n    const store = {\r\n        parentWidget,\r\n        dispatch: (action: any) => {\r\n            state = reducers(state, action);\r\n            subscribers.forEach(handler => handler(state));\r\n            parentWidget.scheduleRender();\r\n        },\r\n        subscribe: (handler: (state: __Component.Pojo) => void) => {\r\n            subscribers.push(handler);\r\n            return function unsubscribe() {\r\n                const index = subscribers.indexOf(handler);\r\n                subscribers.splice(index, 1);\r\n            };\r\n        },\r\n        getState() {\r\n            return state;\r\n        }\r\n    };\r\n    store.dispatch({ type: \"INITIALIZE\" });\r\n    return store;\r\n}\r\n\r\nfunction applyMiddleware(...middlewares: any[]) {\r\n    return (next: any) => (reducer: any, parentWidget: any, initialState: any) => {\r\n      var store = next(reducer, parentWidget, initialState);\r\n      var dispatch = store.dispatch;\r\n      var chain = [];\r\n  \r\n      chain = middlewares.map(middleware => middleware({\r\n        getState: store.getState,\r\n        dispatch: (action: any) => dispatch(action)\r\n      }));\r\n      dispatch = compose(...chain)(store.dispatch);\r\n  \r\n      return { ...store, dispatch };\r\n    };\r\n  }\r\n\r\nfunction compose(...funcs: any[]) {\r\n    return (arg: any) => funcs.reduceRight((composed, f) => f(composed), arg);\r\n}\r\n    \r\nfunction mapValues(obj: __Component.Pojo, fn: any) {\r\n    return Object.keys(obj).reduce((result, key) => {\r\n        result[key] = fn(obj[key], key);\r\n        return result;\r\n    }, {});\r\n}\r\n\r\nfunction pick(obj: __Component.Pojo, fn: any) {\r\n    return Object.keys(obj).reduce((result, key) => {\r\n        if (fn(obj[key])) {\r\n            result[key] = obj[key];\r\n        }\r\n        return result;\r\n    }, {});\r\n}\r\n\r\n/** Available Redux middlewares */\r\nexport const middlewares = {\r\n    /** Asynchronous control flow using thunks */\r\n    thunk: (params: { dispatch: any, getState: any }) => (next: any) => (action: any) => {\r\n        if (typeof action === \"function\") {\r\n            return action(params.dispatch, params.getState);\r\n        }\r\n        return next(action);\r\n    },\r\n    /** Log dispatch and next state to the console */\r\n    debug:  (params: { dispatch: any, getState: any }) => (next: any) => (action: any) => {\r\n        console.log(action.type, action);\r\n        let result = next(action);\r\n        console.log('next state', params.getState());\r\n        return result;\r\n    },\r\n    /** Send actions and resulting state to a listener */\r\n    addListener: (listener: (action: any, nextState: __Component.Pojo) => any) =>\r\n        (params: { dispatch: any, getState: any }) => (next: any) => (action: any) => {\r\n            let result = next(action);\r\n            listener(action, params.getState());\r\n            return result;\r\n    }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/Component.ts","export {\r\n    SAVE_APP_BASE_RESULT,\r\n    LOAD_APP_FAIL,\r\n    LOAD_APP_PROGRESS,\r\n    LOAD_APP_SUCCESS,\r\n    loadApplicationBase\r\n} from \"./base\";\r\n\r\nexport {\r\n    UPDATE_ITEMS,\r\n    FILTER_ITEMS,\r\n    filterItems,\r\n    updateItems\r\n} from \"./items\";\r\n\r\nexport {\r\n    PUSH,\r\n    HASH_CHANGE,\r\n    push,\r\n    hashChange\r\n} from \"./router\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_actions/index.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"dojo/io-query\"\n// module id = 2\n// module chunks = 0","export const SAVE_APP_BASE_RESULT = \"SAVE_APP_BASE_RESULT\";\r\nexport const LOAD_APP_FAIL = \"LOAD_APP_FAIL\";\r\nexport const LOAD_APP_PROGRESS = \"LOAD_APP_PROGRESS\";\r\nexport const LOAD_APP_SUCCESS = \"LOAD_APP_FINISH\";\r\nexport const AUTHENTICATION_FAILED = \"AUTHENTICATION_FAILED\";\r\n\r\nimport * as all from \"dojo/promise/all\";\r\nimport * as Deferred from \"dojo/Deferred\";\r\nimport * as IdentityManager from \"esri/identity/IdentityManager\";\r\nimport * as Portal from \"esri/portal/Portal\";\r\nimport * as cookie from \"dojo/cookie\";\r\nimport { updateItems, hashChange } from \".\";\r\nimport { MinimalGalleryState } from \"..\";\r\nimport supportedItemTypes from \"../_utilities/supportedItemTypes\";\r\n\r\nexport const loadApplicationBase = () => (dispatch: any, getState: () => MinimalGalleryState) => {\r\n    const { base } = getState();\r\n    base.applicationBase.load().then(\r\n        (result: __esriApplicationBase.ApplicationConfig) => dispatch(queryGroupItems(result)),\r\n        (err: Error) => {\r\n            if (err === \"identity-manager:not-authorized\" as any as Error) {\r\n                dispatch(loadAppNoAuth(err));\r\n            } else {\r\n                dispatch(loadAppFail(err));\r\n            }\r\n        },\r\n        (progress: __Component.Pojo) => dispatch(loadAppProgress(progress))\r\n    );\r\n};\r\n\r\nexport const updateApplicationBase = (applicationBaseResult: __esriApplicationBase.ApplicationConfig) =>\r\n    (dispatch: any) => {\r\n        dispatch({ type: SAVE_APP_BASE_RESULT, payload: applicationBaseResult });\r\n        dispatch(queryGroupItems(applicationBaseResult));\r\n    };\r\n\r\nexport const queryGroupItems = (applicationBaseResult: __esriApplicationBase.ApplicationConfig) =>\r\n    (dispatch: any, getState: () => MinimalGalleryState) => {\r\n\r\n        // Boilerplate loaded properly so save it\r\n        dispatch(saveAppBaseResult(applicationBaseResult));\r\n        const state = getState();\r\n        const applicationBase = state.base.applicationBase;\r\n        const config = applicationBaseResult.config;\r\n\r\n        // Inject custom stylesheet if provided\r\n        if (config.customCSS && config.customCSS !== \"\") {\r\n            const customStyle = document.createElement(\"style\");\r\n            customStyle.innerHTML = config.customCSS;\r\n            document.body.appendChild(customStyle);\r\n        }\r\n\r\n        fetchAllGroupItems(applicationBase, config).then(\r\n            (response: any) => {\r\n                const promises = response.results.map((item: any) => item.load());\r\n                all(promises).then(\r\n                    (items: __Component.Pojo[]) => {\r\n                        const { hash } = state.router;\r\n\r\n                        dispatch(updateItems(items.filter((item: __Component.Pojo) => supportedItemTypes[item.type])));\r\n                        dispatch(hashChange(window.location.hash.slice(1)));\r\n                        dispatch(loadAppSuccess());\r\n                    },\r\n                    (err: any) => dispatch(loadAppFail(err))\r\n                );\r\n            },\r\n            (err: any) => dispatch(loadAppFail(err))\r\n        );\r\n    };\r\n\r\nconst fetchAllGroupItemsById = (applicationBase: MinimalGalleryState[\"base\"][\"applicationBase\"], config: any, groupId: string) => {\r\n    const dfd = new Deferred;\r\n\r\n    applicationBase.queryGroupItems(\r\n        groupId,\r\n        {\r\n            num: 100,\r\n            sortField: (config.sortField ? config.sortField : \"numviews\"),\r\n            sortOrder: (config.sortOrder ? config.sortOrder : \"desc\"),\r\n            start: 0\r\n        } as __esri.PortalQueryParams\r\n    ).then((response: any) => {\r\n        if (response.total > response.results.length) { // This group is more than 100 items, fetch them all!\r\n            const mappableArr = Array.apply(null, { length: Math.floor(response.total / 100) });\r\n            const promises = mappableArr.map((c: any, i: number) => (\r\n                applicationBase.queryGroupItems(\r\n                    groupId,\r\n                    {\r\n                        num: 100,\r\n                        sortField: (config.sortField ? config.sortField : \"numviews\"),\r\n                        sortOrder: (config.sortOrder ? config.sortOrder : \"desc\"),\r\n                        start: 100 + (i * 100)\r\n                    } as __esri.PortalQueryParams\r\n                )\r\n            ));\r\n            all(promises).then((responses: any) => {\r\n                const allItems = responses.reduce((p: any, c: any) => {\r\n                    p.results = p.results.concat(c.results);\r\n                    return p;\r\n                }, { results: response.results });\r\n                dfd.resolve(allItems);\r\n            },                 (err: Error) => {\r\n                dfd.reject(err);\r\n            });\r\n        } else {\r\n            dfd.resolve(response);\r\n        }\r\n    },     (err: Error) => {\r\n        dfd.reject(err);\r\n    });\r\n\r\n    return dfd;\r\n};\r\n\r\nconst fetchAllGroupItems = (applicationBase: MinimalGalleryState[\"base\"][\"applicationBase\"], config: any) => {\r\n    const dfd = new Deferred;\r\n\r\n    if ( !Array.isArray(config.group)) {\r\n        /* group is string */\r\n        return fetchAllGroupItemsById(applicationBase, config, config.group);\r\n    } \r\n    /* group is array */\r\n    const promises = config.group.map((group: string) => (\r\n        fetchAllGroupItemsById(applicationBase, config, group)\r\n    ));\r\n    all(promises).then((responses: any) => {\r\n        const allItems = responses.reduce((p: any, c: any) => {\r\n            p.results = p.results.concat(c.results);\r\n            return p;\r\n        });\r\n        dfd.resolve(allItems);\r\n    },                 (err: Error) => {\r\n        dfd.reject(err);\r\n    });\r\n\r\n    return dfd;\r\n};\r\n\r\nexport const signIn = () => (dispatch: any, getState: () => MinimalGalleryState) => {\r\n    const state = getState();\r\n    const portal = new Portal({ url: state.base.applicationBase.portal.url });\r\n    portal.authMode = \"immediate\";\r\n    portal.load().then(() => {\r\n        dispatch(updateApplicationBase({\r\n            ...state.base.applicationBaseResult,\r\n            portal\r\n        }));\r\n    });\r\n};\r\n\r\nexport const signOut = () => (dispatch: any, getState: () => MinimalGalleryState) => {\r\n    IdentityManager.destroyCredentials();\r\n\r\n    cookie(\"esri_auth\", undefined, {\r\n        path: \"/\",\r\n        domain: \".arcgis.com\",\r\n        expires: -1\r\n    });\r\n    cookie(\"esri_auth\", undefined, {\r\n        path: \"/\",\r\n        domain: `.${document.domain}`,\r\n        expires: -1\r\n    });\r\n\r\n    const state = getState();\r\n    const portal = new Portal({ url: state.base.applicationBase.portal.url });\r\n    portal.authMode = \"auto\";\r\n    portal.load().then(() => {\r\n        portal.user = null as any;\r\n        dispatch(updateApplicationBase({\r\n            ...state.base.applicationBaseResult,\r\n            portal\r\n        }));\r\n    });\r\n};\r\n\r\nconst saveAppBaseResult = (applicationBaseResult: __esriApplicationBase.ApplicationConfig) => ({\r\n    type: SAVE_APP_BASE_RESULT,\r\n    payload: applicationBaseResult\r\n});\r\n\r\nconst loadAppFail = (err: any) => ({\r\n    type: LOAD_APP_FAIL,\r\n    payload: err\r\n});\r\n\r\nconst loadAppNoAuth = (err: any) => ({\r\n    type: AUTHENTICATION_FAILED,\r\n    payload: err\r\n});\r\n\r\nconst loadAppProgress = (progress: __Component.Pojo) => ({\r\n    type: LOAD_APP_PROGRESS,\r\n    payload: progress.status\r\n});\r\n\r\nconst loadAppSuccess = () => ({\r\n    type: LOAD_APP_SUCCESS\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_actions/base.ts","const fileTypes = {\r\n  \"360 VR Experience\": \"file\",\r\n  \"App Builder Extension\": \"file\",\r\n  \"ArcGIS Pro Add In\": \"file\",\r\n  \"ArcGIS Pro Configuration\": \"file\",\r\n  \"ArcPad Package\": \"file\",\r\n  \"CAD Drawing\": \"file\",\r\n  \"CSV\": \"file\",\r\n  \"CSV Collection\": \"file\",\r\n  \"CityEngine Web Scene\": \"file\",\r\n  \"Code Sample\": \"file\",\r\n  \"Dashboard\": \"file\",\r\n  \"Desktop Add In\": \"file\",\r\n  \"Desktop Application\": \"file\",\r\n  \"Desktop Application Template\": \"file\",\r\n  \"Desktop Style\": \"file\",\r\n  \"Document Link\": \"file\",\r\n  \"Explorer Add In\": \"file\",\r\n  \"Explorer Layer\": \"file\",\r\n  \"Explorer Map\": \"file\",\r\n  \"Feature Collection\": \"file\",\r\n  \"Feature Service\": \"file\",\r\n  \"File Geodatabase\": \"file\",\r\n  \"GeoJson\": \"file\",\r\n  \"Geocoding Service\": \"file\",\r\n  \"Geodata Service\": \"file\",\r\n  \"Geometry Service\": \"file\",\r\n  \"Geoprocessing Package\": \"file\",\r\n  \"Geoprocessing Sample\": \"file\",\r\n  \"Geoprocessing Service\": \"file\",\r\n  \"Globe Document\": \"file\",\r\n  \"Globe Service\": \"file\",\r\n  \"Image\": \"file\",\r\n  \"Image Collection\": \"file\",\r\n  \"Image Service\": \"file\",\r\n  \"Insights Workbook\": \"file\",\r\n  \"KML\": \"file\",\r\n  \"KML Collection\": \"file\",\r\n  \"Layer\": \"file\",\r\n  \"Layer Package\": \"file\",\r\n  \"Layout\": \"file\",\r\n  \"Locator Package\": \"file\",\r\n  \"Map Document\": \"file\",\r\n  \"Map Package\": \"file\",\r\n  \"Map Service\": \"file\",\r\n  \"Map Template\": \"file\",\r\n  \"Microsoft Excel\": \"file\",\r\n  \"Microsoft Powerpoint\": \"file\",\r\n  \"Microsoft Word\": \"file\",\r\n  \"Mobile Application\": \"file\",\r\n  \"Mobile Basemap Package\": \"file\",\r\n  \"Mobile Map Package\": \"file\",\r\n  \"Network Analysis Service\": \"file\",\r\n  \"Operations Dashboard Add In\": \"file\",\r\n  \"Operations Dashboard Extension\": \"file\",\r\n  \"PDF\": \"file\",\r\n  \"Pro Map\": \"file\",\r\n  \"Project Package\": \"file\",\r\n  \"Project Template\": \"file\",\r\n  \"Published Map\": \"file\",\r\n  \"Raster function template\": \"file\",\r\n  \"Rule Package\": \"file\",\r\n  \"Scene Document\": \"file\",\r\n  \"Scene Package\": \"file\",\r\n  \"Scene Service\": \"file\",\r\n  \"Service Definition\": \"file\",\r\n  \"Shapefile\": \"file\",\r\n  \"Stream Service\": \"file\",\r\n  \"Task File\": \"file\",\r\n  \"Visio Document\": \"file\",\r\n  \"WFS\": \"file\",\r\n  \"WMS\": \"file\",\r\n  \"WMTS\": \"file\",\r\n  \"Windows Mobile Package\": \"file\",\r\n  \"Windows Viewer Add In\": \"file\",\r\n  \"Workflow Manager Service\": \"file\",\r\n  \"iWork Keynote\": \"file\",\r\n  \"iWork Numbers\": \"file\",\r\n  \"iWork Pages\": \"file\",\r\n  \"Form\": \"file\",\r\n  \"Workforce Project\": \"file\"\r\n};\r\n\r\nexport default {\r\n  ...fileTypes,\r\n  \"Web Map\": \"webmap\",\r\n  \"Web Mapping Application\": \"webapp\",\r\n  \"Web Scene\": \"webscene\",\r\n  \"Dashboard\": \"webapp\",\r\n  \"Application\": \"webapp\",\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_utilities/supportedItemTypes.ts","export const SHOW_IN_VIEWER = \"SHOW_IN_VIEWER\";\r\nexport const SHOW_FULLSCREEN = \"SHOW_FULLSCREEN\";\r\nexport const MOUSE_OVER = \"MOUSE_OVER\";\r\nexport const MOUSE_OUT = \"MOUSE_OUT\";\r\nexport const VIEWER_CHANGE = \"VIEWER_CHANGE\";\r\n\r\nexport const showInViewer = () => ({\r\n    type: SHOW_IN_VIEWER\r\n});\r\n\r\nexport const showFullscreen = () => ({\r\n    type: SHOW_FULLSCREEN\r\n});\r\n\r\nexport const mouseOver = () => ({\r\n    type: MOUSE_OVER\r\n});\r\n\r\nexport const mouseOut = () => ({\r\n    type: MOUSE_OUT\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Gallery/Panel/_actions/index.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_6__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/core/promiseUtils\"\n// module id = 6\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/identity/IdentityManager\"\n// module id = 7\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/portal/Portal\"\n// module id = 8\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_9__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"dojo/promise/all\"\n// module id = 9\n// module chunks = 0","import Component from \"../../../../../Component\";\r\nimport { ViewState } from \"./_reducers\";\r\n\r\nexport { reducers } from \"./_reducers\";\r\n\r\nimport * as all from \"dojo/promise/all\";\r\nimport * as promiseUtils from \"esri/core/promiseUtils\";\r\nimport * as requireUtils from \"esri/core/requireUtils\";\r\n\r\ninterface ComponentState {\r\n    status: string;\r\n    loadText: string;\r\n}\r\n\r\nconst widgetKey = {\r\n    compassWidget: \"esri/widgets/Compass\",\r\n    homeWidget: \"esri/widgets/Home\",\r\n    legendWidget: \"esri/widgets/Legend\",\r\n    locateWidget: \"esri/widgets/Locate\",\r\n    searchWidget: \"esri/widgets/Search\"\r\n};\r\n\r\nexport default class ViewBase extends Component<ViewState, ComponentState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n\r\n        this.state = {\r\n            status: \"loading\",\r\n            loadText: \"scripts\"\r\n        };\r\n\r\n        this.loadScripts = this.loadScripts.bind(this);\r\n        this.loadMap = this.loadMap.bind(this);\r\n        this.loadWidgets = this.loadWidgets.bind(this);\r\n\r\n        this.loadScripts.bind(this)();\r\n    }\r\n\r\n    public render() {\r\n        const tsx = this.tsx;\r\n\r\n        if (this.state.status === \"loaded\") {\r\n            return <div />;\r\n        } else if (this.state.status === \"loading\") {\r\n            return (\r\n                <div>\r\n                    <div class=\"loader is-active padding-leader-3 padding-trailer-3 center-style\">\r\n                        <div class=\"loader-bars\" />\r\n                        <div class=\"loader-text\">{this.props.i18n.viewLoading[this.state.loadText]}</div>\r\n                    </div>\r\n                </div>\r\n            );\r\n        }\r\n        return (\r\n            <div>\r\n                <h3 class=\"center-style\">{this.props.i18n.viewLoading.failed}</h3>\r\n            </div>\r\n        );\r\n    }\r\n\r\n    private loadScripts() {\r\n        requireUtils.when(window[\"require\"], [this.props.webModule, this.props.viewModule])\r\n            .then(\r\n                ([WebConstructor, ViewConstructor]) => {\r\n                    this.setState({ loadText: \"map\" });\r\n                    this.loadMap(WebConstructor, ViewConstructor);\r\n                },\r\n                (err) => {\r\n                    this.setState({ status: \"failed\" });\r\n                }\r\n            );\r\n    }\r\n\r\n    private loadMap(\r\n        WebConstructor: __esri.WebMapConstructor,\r\n        ViewConstructor: __esri.MapViewConstructor\r\n    ) {\r\n        let view: any;\r\n        const map: __esri.WebMap | __esri.WebScene = new WebConstructor({\r\n            portalItem: {\r\n                id: this.props.id\r\n            }\r\n        });\r\n        map.load().then(() => {\r\n            this.setState({ loadText: \"basemap\" });\r\n            return map.basemap.load();\r\n        }).then(() => {\r\n            this.setState({ loadText: \"layers\" });\r\n            const allLayers = map.allLayers;\r\n            const promises = allLayers.map((layer) => layer.load());\r\n            return all(promises.toArray());\r\n        }).then((layers) => {\r\n            this.setState({ loadText: \"widgets\" });\r\n            view = new ViewConstructor({\r\n                container: this.props.containerId,\r\n                map\r\n            });\r\n            return this.loadWidgets(view);\r\n        }).then(() => {\r\n            view.container = this.props.containerId;\r\n            this.setState({ status: \"loaded\" });\r\n        }).otherwise((err) => {\r\n            this.setState({ status: \"failed\" });\r\n        });\r\n    }\r\n\r\n    private loadWidgets(view: __esri.MapView) {\r\n        const positions = {\r\n            \"bottom-left\": true,\r\n            \"bottom-right\": true,\r\n            \"top-left\": true,\r\n            \"top-right\": true\r\n        };\r\n        const modules = Object.keys(this.props.widgets).reduce((p, c, i) => {\r\n            if (positions[this.props.widgets[c]]) {\r\n                p.push({\r\n                    module: widgetKey[c],\r\n                    position: this.props.widgets[c]\r\n                } as never); // typescript is weird\r\n            }\r\n            return p;\r\n        }, []);\r\n        return requireUtils.when(window[\"require\"], modules.map((item) => item[\"module\"]))\r\n            .then((constructors) => {\r\n                constructors.forEach((Constructor: any, i: number) => {\r\n                    const widget = new Constructor({ view });\r\n                    if (widget.activeLayerInfos) {\r\n                        widget.watch(\"activeLayerInfos.length\", () => {\r\n                            view.ui.add(widget, modules[i][\"position\"]);\r\n                        });\r\n                        return;\r\n                    }\r\n                    view.ui.add(widget, modules[i][\"position\"]);\r\n                });\r\n                return promiseUtils.resolve();\r\n            });\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Viewer/View/ViewBase/index.tsx","import * as ApplicationBase from \"../applicationBase/ApplicationBase\";\n\nimport MainApp from \"./Widget\";\n\nexport = (applicationConfigJSON: string, boilerplateConfigJSON: string, i18n: any) => {\n    const config = JSON.parse(applicationConfigJSON);\n    const settings = JSON.parse(boilerplateConfigJSON);\n\n    const boilerplate = new ApplicationBase({ config, settings });\n    const MainComponent = new MainApp({ boilerplate, i18n });\n    MainComponent.container = \"viewDiv\";\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/index.ts","/*\n  Copyright 2017 Esri\n\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n\n  you may not use this file except in compliance with the License.\n\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\n  See the License for the specific language governing permissions and\n\n  limitations under the License.​\n*/\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\n        s = arguments[i];\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n            t[p] = s[p];\n    }\n    return t;\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\ndefine([\"require\", \"exports\", \"dojo/_base/kernel\", \"esri/config\", \"esri/core/promiseUtils\", \"esri/identity/IdentityManager\", \"esri/identity/OAuthInfo\", \"esri/portal/Portal\", \"esri/portal/PortalItem\", \"esri/portal/PortalQueryParams\", \"./declareDecorator\"], function (require, exports, kernel, esriConfig, promiseUtils, IdentityManager, OAuthInfo, Portal, PortalItem, PortalQueryParams, declareDecorator_1) {\n    \"use strict\";\n    var defaultConfig = {\n        portalUrl: \"https://www.arcgis.com\",\n        helperServices: {\n            geometry: {},\n            printTask: {},\n            elevationSync: {},\n            geocode: []\n        }\n    };\n    var defaultSettings = {\n        environment: {},\n        group: {},\n        localStorage: {},\n        portal: {},\n        rightToLeftLocales: [\"ar\", \"he\"],\n        urlParams: [],\n        webMap: {},\n        webScene: {}\n    };\n    var ApplicationBase = /** @class */ (function () {\n        //--------------------------------------------------------------------------\n        //\n        //  Lifecycle\n        //\n        //--------------------------------------------------------------------------\n        function ApplicationBase(options) {\n            //--------------------------------------------------------------------------\n            //\n            //  Properties\n            //\n            //--------------------------------------------------------------------------\n            //----------------------------------\n            //  settings\n            //----------------------------------\n            this.settings = defaultSettings;\n            //----------------------------------\n            //  config\n            //----------------------------------\n            this.config = defaultConfig;\n            //----------------------------------\n            //  results\n            //----------------------------------\n            this.results = {};\n            //----------------------------------\n            //  portal\n            //----------------------------------\n            this.portal = null;\n            //----------------------------------\n            //  direction\n            //----------------------------------\n            this.direction = null;\n            //----------------------------------\n            //  locale\n            //----------------------------------\n            this.locale = kernel.locale;\n            //----------------------------------\n            //  units\n            //----------------------------------\n            this.units = null;\n            var config = options.config, settings = options.settings;\n            var applicationConfig = typeof config === \"string\"\n                ? JSON.parse(config)\n                : config;\n            var applicationBaseSettings = typeof settings === \"string\"\n                ? JSON.parse(settings)\n                : settings;\n            var configMixin = __assign({}, defaultConfig, applicationConfig);\n            var settingsMixin = __assign({}, defaultSettings, applicationBaseSettings);\n            this._mixinSettingsDefaults(settingsMixin);\n            this.config = configMixin;\n            this.settings = settingsMixin;\n        }\n        //--------------------------------------------------------------------------\n        //\n        //  Public Methods\n        //\n        //--------------------------------------------------------------------------\n        ApplicationBase.prototype.queryGroupItems = function (groupId, itemParams, portal) {\n            if (!portal || !groupId) {\n                portal = this.portal;\n            }\n            var defaultGroup = this.settings.group.default;\n            groupId = this._getDefaultId(groupId, defaultGroup);\n            var paramOptions = __assign({ query: \"group:\\\"\" + groupId + \"\\\" AND -type:\\\"Code Attachment\\\"\", sortField: \"modified\", sortOrder: \"desc\", num: 9, start: 1 }, itemParams);\n            var params = new PortalQueryParams(paramOptions);\n            return portal.queryItems(params);\n        };\n        ApplicationBase.prototype.load = function () {\n            var _this = this;\n            var settings = this.settings;\n            var environmentSettings = settings.environment, groupSettings = settings.group, localStorageSettings = settings.localStorage, portalSettings = settings.portal, webMapSettings = settings.webMap, websceneSettings = settings.webScene, urlParamsSettings = settings.urlParams;\n            var isEsri = environmentSettings.isEsri;\n            var urlParams = this._getUrlParamValues(urlParamsSettings);\n            this.results.urlParams = urlParams;\n            this.config = this._mixinAllConfigs({\n                config: this.config,\n                url: urlParams\n            });\n            if (isEsri) {\n                var esriPortalUrl = this._getEsriEnvironmentPortalUrl();\n                this.config.portalUrl = esriPortalUrl;\n                this.config.proxyUrl = this._getEsriEnvironmentProxyUrl(esriPortalUrl);\n            }\n            var _a = this.config, portalUrl = _a.portalUrl, proxyUrl = _a.proxyUrl, oauthappid = _a.oauthappid, appid = _a.appid;\n            this._setPortalUrl(portalUrl);\n            this._setProxyUrl(proxyUrl);\n            var rtlLocales = this.settings.rightToLeftLocales;\n            this.direction = this._getLanguageDirection(rtlLocales);\n            this._registerOauthInfos(oauthappid, portalUrl);\n            var sharingUrl = portalUrl + \"/sharing\";\n            var loadApplicationItem = appid\n                ? this._loadItem(appid)\n                : promiseUtils.resolve();\n            var checkAppAccess = IdentityManager.checkAppAccess(sharingUrl, oauthappid).always(function (response) { return response; });\n            var fetchApplicationData = appid\n                ? loadApplicationItem.then(function (itemInfo) {\n                    return itemInfo instanceof PortalItem\n                        ? itemInfo.fetchData()\n                        : undefined;\n                })\n                : promiseUtils.resolve();\n            var loadPortal = portalSettings.fetch\n                ? new Portal().load()\n                : promiseUtils.resolve();\n            return promiseUtils\n                .eachAlways([loadApplicationItem, fetchApplicationData, loadPortal, checkAppAccess])\n                .always(function (applicationArgs) {\n                var applicationItemResponse = applicationArgs[0], applicationDataResponse = applicationArgs[1], portalResponse = applicationArgs[2], checkAppAccessResponse = applicationArgs[3];\n                var applicationItem = applicationItemResponse\n                    ? applicationItemResponse.value\n                    : null;\n                var applicationData = applicationDataResponse\n                    ? applicationDataResponse.value\n                    : null;\n                var localStorage = localStorageSettings.fetch\n                    ? _this._getLocalConfig(appid)\n                    : null;\n                var appAccess = checkAppAccessResponse ? checkAppAccessResponse.value : null;\n                if (applicationItem && applicationItem.access && applicationItem.access !== \"public\") {\n                    // do we have permission to access app\n                    if (appAccess && appAccess.name && appAccess.name === \"identity-manager:not-authorized\") {\n                        //identity-manager:not-authorized, identity-manager:not-authenticated, identity-manager:invalid-request\n                        return promiseUtils.reject(appAccess.name);\n                    }\n                }\n                else if (applicationItemResponse.error) {\n                    return promiseUtils.reject(applicationItemResponse.error);\n                }\n                _this.results.localStorage = localStorage;\n                _this.results.applicationItem = applicationItemResponse;\n                _this.results.applicationData = applicationDataResponse;\n                var applicationConfig = applicationData\n                    ? applicationData.values\n                    : null;\n                var portal = portalResponse ? portalResponse.value : null;\n                _this.portal = portal;\n                _this.units = _this._getUnits(portal);\n                _this.config = _this._mixinAllConfigs({\n                    config: _this.config,\n                    url: urlParams,\n                    local: localStorage,\n                    application: applicationConfig\n                });\n                _this._setGeometryService(_this.config, portal);\n                var _a = _this.config, webmap = _a.webmap, webscene = _a.webscene, group = _a.group;\n                var webMapPromises = [];\n                var webScenePromises = [];\n                var groupInfoPromises = [];\n                var groupItemsPromises = [];\n                var isWebMapEnabled = webMapSettings.fetch && webmap;\n                var isWebSceneEnabled = websceneSettings.fetch && webscene;\n                var isGroupInfoEnabled = groupSettings.fetchInfo && group;\n                var isGroupItemsEnabled = groupSettings.fetchItems && group;\n                var itemParams = groupSettings.itemParams;\n                var defaultWebMap = webMapSettings.default;\n                var defaultWebScene = websceneSettings.default;\n                var defaultGroup = groupSettings.default;\n                var fetchMultipleWebmaps = webMapSettings.fetchMultiple;\n                var fetchMultipleWebscenes = websceneSettings.fetchMultiple;\n                var fetchMultipleGroups = groupSettings.fetchMultiple;\n                if (isWebMapEnabled) {\n                    var webMaps = _this._getPropertyArray(webmap);\n                    var allowedWebmaps = _this._limitItemSize(webMaps, fetchMultipleWebmaps);\n                    allowedWebmaps.forEach(function (id) {\n                        var webMapId = _this._getDefaultId(id, defaultWebMap);\n                        webMapPromises.push(_this._loadItem(webMapId));\n                    });\n                }\n                if (isWebSceneEnabled) {\n                    var webScenes = _this._getPropertyArray(webscene);\n                    var allowedWebsenes = _this._limitItemSize(webScenes, fetchMultipleWebscenes);\n                    allowedWebsenes.forEach(function (id) {\n                        var webSceneId = _this._getDefaultId(id, defaultWebScene);\n                        webScenePromises.push(_this._loadItem(webSceneId));\n                    });\n                }\n                if (isGroupInfoEnabled) {\n                    var groups = _this._getPropertyArray(group);\n                    var allowedGroups = _this._limitItemSize(groups, fetchMultipleGroups);\n                    allowedGroups.forEach(function (id) {\n                        var groupId = _this._getDefaultId(id, defaultGroup);\n                        groupInfoPromises.push(_this._queryGroupInfo(groupId, portal));\n                    });\n                }\n                if (isGroupItemsEnabled) {\n                    var groups = _this._getPropertyArray(group);\n                    groups.forEach(function (id) {\n                        groupItemsPromises.push(_this.queryGroupItems(id, itemParams, portal));\n                    });\n                }\n                var promises = {\n                    webMap: webMapPromises\n                        ? promiseUtils.eachAlways(webMapPromises)\n                        : promiseUtils.resolve(),\n                    webScene: webScenePromises\n                        ? promiseUtils.eachAlways(webScenePromises)\n                        : promiseUtils.resolve(),\n                    groupInfo: groupInfoPromises\n                        ? promiseUtils.eachAlways(groupInfoPromises)\n                        : promiseUtils.resolve(),\n                    groupItems: groupItemsPromises\n                        ? promiseUtils.eachAlways(groupItemsPromises)\n                        : promiseUtils.resolve()\n                };\n                return promiseUtils.eachAlways(promises).always(function (itemArgs) {\n                    var webMapResponses = itemArgs.webMap.value;\n                    var webSceneResponses = itemArgs.webScene.value;\n                    var groupInfoResponses = itemArgs.groupInfo.value;\n                    var groupItemsResponses = itemArgs.groupItems.value;\n                    var itemInfo = applicationItem ? applicationItem.itemInfo : null;\n                    _this._overwriteItemsExtent(webMapResponses, itemInfo);\n                    _this._overwriteItemsExtent(webSceneResponses, itemInfo);\n                    _this.results.webMapItems = webMapResponses;\n                    _this.results.webSceneItems = webSceneResponses;\n                    _this.results.groupInfos = groupInfoResponses;\n                    _this.results.groupItems = groupItemsResponses;\n                    return _this;\n                });\n            });\n        };\n        //--------------------------------------------------------------------------\n        //\n        //  Private Methods\n        //\n        //--------------------------------------------------------------------------\n        ApplicationBase.prototype._mixinSettingsDefaults = function (settings) {\n            var userEnvironmentSettings = settings.environment;\n            var userLocalStorageSettings = settings.localStorage;\n            var userGroupSettings = settings.group;\n            var userPortalSettings = settings.portal;\n            var userWebmapSettings = settings.webMap;\n            var userWebsceneSettings = settings.webScene;\n            settings.environment = __assign({ isEsri: false, webTierSecurity: false }, userEnvironmentSettings);\n            settings.localStorage = __assign({ fetch: true }, userLocalStorageSettings);\n            var itemParams = {\n                sortField: \"modified\",\n                sortOrder: \"desc\",\n                num: 9,\n                start: 0\n            };\n            settings.group = __assign({ default: \"908dd46e749d4565a17d2b646ace7b1a\", fetchInfo: true, fetchItems: true, fetchMultiple: true, itemParams: itemParams }, userGroupSettings);\n            settings.portal = __assign({ fetch: true }, userPortalSettings);\n            settings.webMap = __assign({ default: \"1970c1995b8f44749f4b9b6e81b5ba45\", fetch: true, fetchMultiple: true }, userWebmapSettings);\n            settings.webScene = __assign({ default: \"e8f078ba0c1546b6a6e0727f877742a5\", fetch: true, fetchMultiple: true }, userWebsceneSettings);\n        };\n        ApplicationBase.prototype._limitItemSize = function (items, allowMultiple) {\n            var firstItem = items[0];\n            return allowMultiple ? items : firstItem ? [firstItem] : [];\n        };\n        ApplicationBase.prototype._getPropertyArray = function (property) {\n            if (typeof property === \"string\") {\n                return property.split(\",\");\n            }\n            if (Array.isArray(property)) {\n                return property;\n            }\n            return [];\n        };\n        ApplicationBase.prototype._getEsriEnvironmentPortalUrl = function () {\n            var pathname = location.pathname;\n            var esriAppsPath = \"/apps/\";\n            var esriHomePath = \"/home/\";\n            var esriAppsPathIndex = pathname.indexOf(esriAppsPath);\n            var esriHomePathIndex = pathname.indexOf(esriHomePath);\n            var isEsriAppsPath = esriAppsPathIndex !== -1;\n            var isEsriHomePath = esriHomePathIndex !== -1;\n            var appLocationIndex = isEsriAppsPath\n                ? esriAppsPathIndex\n                : isEsriHomePath\n                    ? esriHomePathIndex\n                    : undefined;\n            if (appLocationIndex === undefined) {\n                return;\n            }\n            var portalInstance = pathname.substr(0, appLocationIndex);\n            var host = location.host;\n            return \"https://\" + host + portalInstance;\n        };\n        ApplicationBase.prototype._getEsriEnvironmentProxyUrl = function (portalUrl) {\n            if (!portalUrl) {\n                return;\n            }\n            return portalUrl + \"/sharing/proxy\";\n        };\n        ApplicationBase.prototype._getUnits = function (portal) {\n            var USRegion = \"US\";\n            var USLocale = \"en-us\";\n            var user = portal.user;\n            var userRegion = user && user.region;\n            var userUnits = user && user.units;\n            var responseUnits = portal.units;\n            var responseRegion = portal.region;\n            var ipCountryCode = portal.ipCntryCode;\n            var isEnglishUnits = userRegion === USRegion ||\n                (userRegion && responseRegion === USRegion) ||\n                (userRegion && !responseRegion) ||\n                (!user && ipCountryCode === USRegion) ||\n                (!user && !ipCountryCode && kernel.locale === USLocale);\n            var units = userUnits\n                ? userUnits\n                : responseUnits\n                    ? responseUnits\n                    : isEnglishUnits\n                        ? \"english\"\n                        : \"metric\";\n            return units;\n        };\n        ApplicationBase.prototype._queryGroupInfo = function (groupId, portal) {\n            var params = new PortalQueryParams({\n                query: \"id:\\\"\" + groupId + \"\\\"\"\n            });\n            return portal.queryGroups(params);\n        };\n        ApplicationBase.prototype._loadItem = function (id) {\n            var item = new PortalItem({\n                id: id\n            });\n            return item.load();\n        };\n        ApplicationBase.prototype._getLocalConfig = function (appid) {\n            if (!window.localStorage || !appid) {\n                return;\n            }\n            var lsItemId = \"application_base_config_\" + appid;\n            var lsItem = localStorage.getItem(lsItemId);\n            var localConfig = lsItem && JSON.parse(lsItem);\n            return localConfig;\n        };\n        ApplicationBase.prototype._overwriteItemsExtent = function (responses, applicationItem) {\n            var _this = this;\n            if (!responses) {\n                return;\n            }\n            responses.forEach(function (response) {\n                var value = response.value;\n                if (value) {\n                    _this._overwriteItemExtent(value, applicationItem);\n                }\n            });\n        };\n        ApplicationBase.prototype._overwriteItemExtent = function (item, applicationItem) {\n            if (!item || !applicationItem) {\n                return;\n            }\n            var applicationExtent = applicationItem.extent;\n            item.extent = applicationExtent ? applicationExtent : item.extent;\n        };\n        ApplicationBase.prototype._getDefaultId = function (id, defaultId) {\n            var defaultUrlParam = \"default\";\n            var trimmedId = id ? id.trim() : \"\";\n            var useDefaultId = (!trimmedId || trimmedId === defaultUrlParam) && defaultId;\n            return useDefaultId ? defaultId : id;\n        };\n        ApplicationBase.prototype._getLanguageDirection = function (rtlLocales) {\n            if (rtlLocales === void 0) { rtlLocales = [\"ar\", \"he\"]; }\n            var isRTL = rtlLocales.some(function (language) {\n                return kernel.locale.indexOf(language) !== -1;\n            });\n            return isRTL ? \"rtl\" : \"ltr\";\n        };\n        ApplicationBase.prototype._mixinAllConfigs = function (params) {\n            var config = params.config || null;\n            var appConfig = params.application || null;\n            var localConfig = params.local || null;\n            var urlConfig = params.url || null;\n            return __assign({}, config, appConfig, localConfig, urlConfig);\n        };\n        ApplicationBase.prototype._setGeometryService = function (config, portal) {\n            var configHelperServices = config.helperServices;\n            var anyPortal = portal;\n            var portalHelperServices = anyPortal && anyPortal.helperServices;\n            var configGeometryUrl = configHelperServices &&\n                configHelperServices.geometry &&\n                configHelperServices.geometry.url;\n            var portalGeometryUrl = portalHelperServices &&\n                portalHelperServices.geometry &&\n                portalHelperServices.geometry.url;\n            var geometryServiceUrl = portalGeometryUrl || configGeometryUrl;\n            if (!geometryServiceUrl) {\n                return;\n            }\n            esriConfig.geometryServiceUrl = geometryServiceUrl;\n        };\n        ApplicationBase.prototype._setPortalUrl = function (portalUrl) {\n            if (!portalUrl) {\n                return;\n            }\n            esriConfig.portalUrl = portalUrl;\n        };\n        ApplicationBase.prototype._setProxyUrl = function (proxyUrl) {\n            if (!proxyUrl) {\n                return;\n            }\n            esriConfig.request.proxyUrl = proxyUrl;\n        };\n        ApplicationBase.prototype._registerOauthInfos = function (appId, portalUrl) {\n            if (!appId) {\n                return;\n            }\n            var info = new OAuthInfo({\n                appId: appId,\n                portalUrl: portalUrl,\n                popup: true\n            });\n            if (!info) {\n                return;\n            }\n            IdentityManager.registerOAuthInfos([info]);\n        };\n        ApplicationBase.prototype._getUrlParamValues = function (urlParams) {\n            var _this = this;\n            var urlObject = this._urlToObject();\n            var formattedUrlObject = {};\n            if (!urlObject || !urlParams || !urlParams.length) {\n                return;\n            }\n            urlParams.forEach(function (param) {\n                var urlParamValue = urlObject[param];\n                if (urlParamValue) {\n                    formattedUrlObject[param] = _this._formatUrlParamValue(urlParamValue);\n                }\n            });\n            return formattedUrlObject;\n        };\n        ApplicationBase.prototype._urlToObject = function () {\n            var _this = this;\n            var query = (window.location.search || \"?\").substr(1), map = {};\n            var urlRE = /([^&=]+)=?([^&]*)(?:&+|$)/g;\n            query.replace(urlRE, function (match, key, value) {\n                map[key] = _this._stripStringTags(decodeURIComponent(value));\n                return \"\";\n            });\n            return map;\n        };\n        ApplicationBase.prototype._formatUrlParamValue = function (urlParamValue) {\n            if (typeof urlParamValue !== \"string\") {\n                return urlParamValue;\n            }\n            var lowerCaseValue = urlParamValue.toLowerCase();\n            if (lowerCaseValue === \"true\") {\n                return true;\n            }\n            if (lowerCaseValue === \"false\") {\n                return false;\n            }\n            return urlParamValue;\n        };\n        ApplicationBase.prototype._stripStringTags = function (value) {\n            var tagsRE = /<\\/?[^>]+>/g;\n            return value.replace(tagsRE, \"\");\n        };\n        ApplicationBase = __decorate([\n            declareDecorator_1.default()\n        ], ApplicationBase);\n        return ApplicationBase;\n    }());\n    return ApplicationBase;\n});\n//# sourceMappingURL=ApplicationBase.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/applicationBase/ApplicationBase.js\n// module id = 13\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_14__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/identity/OAuthInfo\"\n// module id = 14\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_15__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"dojo/_base/kernel\"\n// module id = 15\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_16__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/config\"\n// module id = 16\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_17__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/portal/PortalItem\"\n// module id = 17\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_18__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/portal/PortalQueryParams\"\n// module id = 18\n// module chunks = 0","define([\"require\", \"exports\", \"dojo/_base/declare\"], function (require, exports, declare) {\n    \"use strict\";\n    Object.defineProperty(exports, \"__esModule\", { value: true });\n    /**\n     * A decorator that converts a TypeScript class into a declare constructor.\n     * This allows declare constructors to be defined as classes, which nicely\n     * hides away the `declare([], {})` boilerplate.\n     */\n    function default_1() {\n        var mixins = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            mixins[_i] = arguments[_i];\n        }\n        return function (target) {\n            return declare(mixins, target.prototype);\n        };\n    }\n    exports.default = default_1;\n});\n//# sourceMappingURL=declareDecorator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/applicationBase/declareDecorator.js\n// module id = 19\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_20__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"dojo/_base/declare\"\n// module id = 20\n// module chunks = 0","/// <amd-dependency path=\"esri/core/tsSupport/declareExtendsHelper\" name=\"__extends\" />\r\n/// <amd-dependency path=\"esri/core/tsSupport/decorateHelper\" name=\"__decorate\" />\r\n\r\nimport { subclass, declared, property } from \"esri/core/accessorSupport/decorators\";\r\nimport * as Widget from \"esri/widgets/Widget\";\r\nimport { renderable } from \"esri/widgets/support/widget\";\r\n\r\nimport MinimalGallery, { MinimalGalleryState, reducers } from \"./MinimalGallery\";\r\nimport { router, startHistoryListener } from \"./MinimalGallery/_utilities/router\";\r\nimport { newStore, middlewares } from \"../Component\";\r\n\r\ninterface MainAppProps {\r\n    boilerplate: __Component.Pojo;\r\n    i18n: __Component.Pojo;\r\n}\r\n\r\nconst { thunk, debug } = middlewares;\r\n\r\n@subclass(\"esri.widgets.MinimalGallery\")\r\nexport default class MainApp extends declared(Widget) {\r\n    minimalGallery: MinimalGallery;\r\n\r\n    constructor(props: MainAppProps) {\r\n        super();\r\n\r\n        this.minimalGallery = new MinimalGallery(\r\n            newStore({\r\n                reducers,\r\n                parentWidget: this,\r\n                initialState: {\r\n                    base: {\r\n                        applicationBase: props.boilerplate,\r\n                        applicationBaseResult: null,\r\n                        i18n: props.i18n,\r\n                        status: \"loading\",\r\n                        loadMessage: \"init\"\r\n                    }\r\n                },\r\n                middlewares: [ thunk, router ]\r\n            })\r\n        );\r\n\r\n        startHistoryListener(this.minimalGallery.store);\r\n    }\r\n\r\n    render() {\r\n        return this.minimalGallery.render();\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/Widget.tsx","module.exports = __WEBPACK_EXTERNAL_MODULE_22__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/core/accessorSupport/decorators\"\n// module id = 22\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_23__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/widgets/Widget\"\n// module id = 23\n// module chunks = 0","import Component from \"../../Component\";\r\n\r\nimport { MinimalGalleryState } from \"./_reducers\";\r\nimport { loadApplicationBase } from \"./_actions\";\r\n\r\nimport Header from \"./Header\";\r\nimport Gallery from \"./Gallery\";\r\nimport Viewer from \"./Viewer\";\r\nimport Pager from \"./Pager\";\r\n\r\nexport { MinimalGalleryState, reducers } from \"./_reducers\";\r\n\r\ninterface ComponentState {\r\n    status: \"loading\" | \"loaded\" | \"failed\";\r\n    loadMessage: string;\r\n}\r\n\r\nexport default class MinimalGallery extends Component<MinimalGalleryState, ComponentState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n\r\n        this.state = {\r\n            status: \"loading\",\r\n            loadMessage: \"init\"\r\n        };\r\n\r\n        this.dispatch(loadApplicationBase());\r\n    }\r\n\r\n    public render() {\r\n        const tsx = this.tsx;\r\n        const i18n = this.props.base.i18n;\r\n        const status = this.props.base.status;\r\n\r\n        if (status === \"loading\") {\r\n            return (\r\n                <div>\r\n                    <div class=\"loader is-active padding-leader-3 padding-trailer-3 center-style\" key={\"loader\"}>\r\n                        <div class=\"loader-bars\" />\r\n                        <div bind={this} class=\"loader-text\">{i18n.appLoading[this.state.loadMessage]}</div>\r\n                    </div>\r\n                </div>\r\n            );\r\n        } else if (status === \"success\") {\r\n            return (\r\n                <div>\r\n                    {\r\n                        this.props.base.applicationBaseResult.config.showHeader ?\r\n                            <Header key=\"minimal-gallery-header\" /> :\r\n                            null\r\n                    }\r\n                    <Gallery key=\"minimal-gallery\" />\r\n                    <Viewer key=\"minimal-gallery-viewer\" />\r\n                    <Pager key=\"minimal-gallery-pager\" />\r\n                </div>\r\n            );\r\n        } else if (status === \"noauth\") {\r\n            return (\r\n                <div>\r\n                    <div key=\"no-auth-container\" class=\"center-style\" style=\"padding: 1rem;\">\r\n                        <h3 key=\"no-license\">{i18n.appLoading.notLicensed}</h3>\r\n                        <p key=\"no-auth\">{i18n.appLoading.noauth}</p>\r\n                    </div>\r\n                </div>\r\n            );\r\n        }\r\n        return (\r\n            <div>\r\n                <h3 class=\"center-style\">{i18n.appLoading.failed}</h3>\r\n            </div>\r\n        );\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/index.tsx","module.exports = __WEBPACK_EXTERNAL_MODULE_25__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/widgets/support/widget\"\n// module id = 25\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_26__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"dojo/Deferred\"\n// module id = 26\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_27__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"dojo/cookie\"\n// module id = 27\n// module chunks = 0","export const UPDATE_ITEMS = \"UPDATE_ITEMS\";\r\nexport const FILTER_ITEMS = \"FILTER_ITEMS\";\r\n\r\nexport const updateItems = (items: __Component.Pojo[]) => ({\r\n    type: UPDATE_ITEMS,\r\n    payload: items\r\n});\r\n\r\nexport const filterItems = (filter: string) => ({\r\n    type: FILTER_ITEMS,\r\n    payload: filter\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_actions/items.ts","export const PUSH = \"ROUTER/PUSH\";\r\nexport const LOCATION_CHANGE = \"ROUTER/LOCATION_CHANGE\";\r\nexport const HASH_CHANGE = \"ROUTER/HASH_CHANGE\";\r\n\r\nimport { MinimalGalleryState } from \"..\";\r\n\r\nexport const push = (hash: string) => ({\r\n    type: PUSH,\r\n    payload: hash,\r\n});\r\n\r\nexport const hashChange = (hash: string) => ({\r\n    type: HASH_CHANGE,\r\n    payload: hash\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_actions/router.ts","import Component from \"../../Component\";\r\nimport { MinimalGalleryState } from \".\";\r\nimport { push } from \"./_actions\";\r\nimport { updateApplicationBase, signOut, signIn } from \"./_actions/base\";\r\n\r\ninterface ComponentState {\r\n    searchTerm: string;\r\n}\r\n\r\nexport default class Header extends Component<MinimalGalleryState, ComponentState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n\r\n        this.state = {\r\n            searchTerm: this.props.filter\r\n        };\r\n\r\n        this.handleSearch = this.handleSearch.bind(this);\r\n        this.handleSearchChange = this.handleSearchChange.bind(this);\r\n        this.handleSignIn = this.handleSignIn.bind(this);\r\n        this.handleSignOut = this.handleSignOut.bind(this);\r\n    }\r\n\r\n    public render() {\r\n        const tsx = this.tsx;\r\n        const config = this.props.base.applicationBaseResult.config;\r\n\r\n        const headSearch = config.headerSearch ? (\r\n            <nav\r\n                class=\"class-top-nav-list right\"\r\n                role=\"navigation\"\r\n                title=\"usernav\"\r\n            >\r\n                <form class=\"inline-block padding-leader-half\" role=\"search\" onsubmit={this.handleSearch}>\r\n                    <input\r\n                        title={config.searchPlaceholder}\r\n                        type=\"search\"\r\n                        placeholder={config.searchPlaceholder}\r\n                        name=\"q\"\r\n                        value={this.state.searchTerm}\r\n                        style=\"margin-top: -1px;\"\r\n                        oninput={this.handleSearchChange}\r\n                    />\r\n                    <button type=\"submit\" class=\"hide\">{config.searchPlaceholder}</button>\r\n                </form>\r\n            </nav>\r\n        ) : null;\r\n\r\n        const tabletHeadSearch = config.headerSearch ? (\r\n            <nav class=\"class-top-nav-list right\" role=\"navigation\" title=\"usernav\">\r\n                <form class=\"inline-block padding-leader-half\" role=\"search\" onsubmit={this.handleSearch}>\r\n                    <input\r\n                        title={config.searchPlaceholder}\r\n                        type=\"search\"\r\n                        placeholder={config.searchPlaceholder}\r\n                        name=\"q\"\r\n                        value={this.state.searchTerm}\r\n                        style=\"margin-top: -1px;\"\r\n                        oninput={this.handleSearchChange}\r\n                    />\r\n                    <button type=\"submit\" class=\"hide\">{config.searchPlaceholder}</button>\r\n                </form>\r\n            </nav>\r\n        ) : null;\r\n\r\n        const headImage = config.headerImage ? (\r\n            <img src={config.headerImageLocation} class=\"header-image\" alt={config.headerText} />\r\n        ) : null;\r\n\r\n        const agolLink = config.showAgolLink ? (\r\n            <a\r\n                class=\"top-nav-link\"\r\n                href={appendProtocol(config.agolLinkLocation.replace(\"${GROUP_ID}\", config.group))}\r\n                style={`color: ${config.headerTextColor}`}\r\n                title={config.agolLinkText}\r\n                target=\"_blank\"\r\n            >\r\n                {config.agolLinkText}\r\n            </a>\r\n        ) : null;\r\n\r\n        let signInLink = null;\r\n        if (\r\n            !this.props.base.applicationBase.portal[\"credential\"] &&\r\n            this.props.base.applicationBaseResult.config.showSignInBtn\r\n        ) {\r\n            signInLink = (\r\n                <button\r\n                    class=\"top-nav-btn\"\r\n                    key=\"sign-in-btn\"\r\n                    onclick={this.handleSignIn}\r\n                    style={`color: ${config.headerTextColor}`}\r\n                >\r\n                    <svg\r\n                        xmlns=\"http://www.w3.org/2000/svg\"\r\n                        width=\"32\"\r\n                        height=\"32\"\r\n                        viewBox=\"0 0 32 32\"\r\n                        style={`\r\n                            fill: currentColor;\r\n                            pointer-events: none;\r\n                            display: inline-block;\r\n                            width: 1em;\r\n                            height: 1em;\r\n                            vertical-align: -0.15em;\r\n                            padding-right: .5em;\r\n                        `}\r\n                    >\r\n                        <path d=\"M16.005 15.871a5.872 5.872 0 0 0 0-11.742 5.87 5.87 0 1 0 0 11.742zm11.567 7.188C27.27 19.036 20.023 18 16 18c-4.012 0-11.271 1.039-11.573 5.059C4.203 26.11 4.068 28.18 4.02 30h23.96c-.047-1.82-.184-3.891-.407-6.941z\" />\r\n                    </svg>\r\n                    {this.props.base.i18n.header.signIn}\r\n                </button>\r\n            );\r\n        } else if (\r\n            this.props.base.applicationBaseResult.config.showSignInBtn &&\r\n            this.props.base.applicationBase.portal.user\r\n        ) {\r\n            signInLink = (\r\n                <button\r\n                    class=\"top-nav-btn\"\r\n                    key=\"sign-out-btn\"\r\n                    onclick={this.handleSignOut}\r\n                    style={`color: ${config.headerTextColor}`}\r\n                >\r\n                    <svg\r\n                        xmlns=\"http://www.w3.org/2000/svg\"\r\n                        width=\"32\"\r\n                        height=\"32\"\r\n                        viewBox=\"0 0 32 32\"\r\n                        style={`\r\n                            fill: currentColor;\r\n                            pointer-events: none;\r\n                            display: inline-block;\r\n                            width: 1em;\r\n                            height: 1em;\r\n                            vertical-align: -0.15em;\r\n                            padding-right: .5em;\r\n                        `}\r\n                    >\r\n                        <path d=\"M16.005 15.871a5.872 5.872 0 0 0 0-11.742 5.87 5.87 0 1 0 0 11.742zm11.567 7.188C27.27 19.036 20.023 18 16 18c-4.012 0-11.271 1.039-11.573 5.059C4.203 26.11 4.068 28.18 4.02 30h23.96c-.047-1.82-.184-3.891-.407-6.941z\" />\r\n                    </svg>\r\n                    {`${this.props.base.i18n.header.signOut} (${this.props.base.applicationBase.portal.user.username})`}\r\n                </button>\r\n            );\r\n        }\r\n\r\n        return (\r\n            <header class=\"top-nav fade-in\" style={`background-color: ${config.headColor}`}>\r\n                <div class=\"grid-container\">\r\n                    <div class=\"column-24\">\r\n                        <div class=\"tablet-hide\">\r\n                            <a href={appendProtocol(config.headerTextURL)} target=\"_blank\">\r\n                                {headImage}\r\n                                <a class=\"top-nav-title\" style={`color: ${config.headerTextColor}`}>\r\n                                    {config.headerText}\r\n                                </a>\r\n                            </a>\r\n                            {headSearch}\r\n                            {signInLink}\r\n                            {agolLink}\r\n                        </div>\r\n\r\n                        <div class=\"tablet-show top-nav-flex\">\r\n                            <header class=\"top-nav-flex-title\">\r\n                                <a href={appendProtocol(config.headerTextURL)}>\r\n                                    <a class=\"top-nav-title\" style={`color: ${config.headerTextColor}`}>\r\n                                        {config.headerText}\r\n                                    </a>\r\n                                </a>\r\n                                {tabletHeadSearch}\r\n                            </header>\r\n                        </div>\r\n                    </div>\r\n\r\n                </div>\r\n            </header>\r\n        );\r\n    }\r\n\r\n    public componentWillReceiveProps(nextProps: MinimalGalleryState) {\r\n        if (nextProps.filter !== this.state.searchTerm) {   // Set search term based on URL param\r\n            this.setState({ searchTerm: nextProps.filter });\r\n        }\r\n    }\r\n\r\n    private handleSearch(e?: Event) {\r\n        if (e) {\r\n            e.preventDefault();\r\n        }\r\n        const query = this.state.searchTerm.length > 0 ? `query=${this.state.searchTerm}` : \"\";\r\n        this.dispatch(push(`${query}`));\r\n    }\r\n\r\n    private handleSearchChange(e: any) {\r\n        this.setState({\r\n            searchTerm: e.target.value\r\n        });\r\n        if (e.target.value === \"\") {\r\n            this.handleSearch();\r\n        }\r\n    }\r\n\r\n    private handleSignIn() {\r\n        this.dispatch(signIn());\r\n    }\r\n\r\n    private handleSignOut() {\r\n        this.dispatch(signOut());\r\n    }\r\n}\r\n\r\nfunction appendProtocol(location: string) {\r\n    if (location.indexOf(\"http\") === 0) {\r\n        return location;\r\n    }\r\n    return `http://${location}`;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Header.tsx","import * as ioQuery from \"dojo/io-query\";\r\nimport Component, { middlewares } from \"../../../Component\";\r\nimport Panel, { PanelState, reducers } from \"./Panel\";\r\nimport { SHOW_IN_VIEWER, SHOW_FULLSCREEN, VIEWER_CHANGE } from \"./Panel/_actions\";\r\nimport { push } from \"../_actions\";\r\nimport { MinimalGalleryState } from \"..\";\r\nimport supportedItemTypes from \"../_utilities/supportedItemTypes\";\r\n\r\nconst { addListener } = middlewares;\r\n\r\ninterface ComponentState {\r\n    itemPages: __Component.Pojo[][];\r\n}\r\n\r\nexport default class Gallery extends Component<MinimalGalleryState, ComponentState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n\r\n        const itemsPerPage = this.props.base.applicationBaseResult.config.itemsPerPage;\r\n        this.state = {\r\n            itemPages: splitToPages(this.props.items.filteredItems, itemsPerPage)\r\n        };\r\n\r\n        this.mapItemsToChildren = this.mapItemsToChildren.bind(this);\r\n        this.handleChildUpdate = this.handleChildUpdate.bind(this);\r\n        this.showInViewer = this.showInViewer.bind(this);\r\n    }\r\n\r\n    public render() {\r\n        const tsx = this.tsx;\r\n\r\n        if (this.props.viewer.fullscreen) {\r\n            return null;\r\n        }\r\n\r\n        return (\r\n            <div\r\n                class=\"grid-container leader-1\"\r\n                style={`background-color: ${this.props.base.applicationBaseResult.config.bgColor};`}\r\n            >\r\n                <div class=\"column-24\">\r\n                    <div class=\"padding-leader-1 block-group block-group-5-up tablet-block-group-3-up phone-block-group-1-up\">\r\n                        {this.mapItemsToChildren()}\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        );\r\n    }\r\n\r\n    public componentWillReceiveProps(nextProps: MinimalGalleryState) {\r\n        if (nextProps.items.displayKey !== this.props.items.displayKey) {\r\n            const itemsPerPage = this.props.base.applicationBaseResult.config.itemsPerPage;\r\n            this.setState({\r\n                itemPages: splitToPages(nextProps.items.filteredItems, itemsPerPage)\r\n            });\r\n        }\r\n\r\n        if (nextProps.router.hash !== this.props.router.hash) {\r\n            const currentViewer = ioQuery.queryToObject(this.props.router.hash).viewer;\r\n            const nextViewer = ioQuery.queryToObject(nextProps.router.hash).viewer;\r\n            if (currentViewer !== nextViewer) {\r\n                for (let child in this.childComponents) {\r\n                    if (this.childComponents.hasOwnProperty(child)) {\r\n                        this.childComponents[child].store.dispatch({\r\n                            type: VIEWER_CHANGE,\r\n                            payload: nextViewer\r\n                        });\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    private mapItemsToChildren() {\r\n        const tsx = this.tsx;\r\n\r\n        const displayItems = this.state.itemPages[this.props.page - 1];\r\n\r\n        this.childComponents = displayItems.reduce((result: __Component.Pojo, item: __Component.Pojo) => {\r\n            if (this.childComponents[item.id]) {\r\n                result[item.id] = this.childComponents[item.id];\r\n            }\r\n            return result;\r\n        }, {});\r\n\r\n        return displayItems.map(\r\n            (item) => {\r\n                if (item.type === \"Dashboard\") {\r\n                    item.url = `${item.portal.url}/apps/opsdashboard/index.html#/${item.id}`;\r\n                }\r\n                return (\r\n                    <Panel\r\n                        key={item.id}\r\n                        store={{\r\n                            reducers,\r\n                            initialState: {\r\n                                applicationBaseResult: this.props.base.applicationBaseResult,\r\n                                i18n: this.props.base.i18n,\r\n                                item,\r\n                                itemType: supportedItemTypes[item.type],\r\n                                portal: this.props.base.applicationBase.portal\r\n                            },\r\n                            middlewares: [ addListener(this.handleChildUpdate) ]\r\n                        }}\r\n                    />\r\n                );\r\n            }\r\n        );\r\n    }\r\n\r\n    private handleChildUpdate(action: { type: string, payload?: any }, childState: PanelState) {\r\n        switch (action.type) {\r\n            case SHOW_IN_VIEWER:\r\n                this.showInViewer(childState.item.id);\r\n                break;\r\n            case SHOW_FULLSCREEN:\r\n                this.showFullscreen(childState.item.id);\r\n                break;\r\n            default: //\r\n        }\r\n    }\r\n\r\n    private showInViewer(itemId: string) {\r\n        const { hash } = this.props.router;\r\n        const hashParams = ioQuery.queryToObject(hash);\r\n        hashParams.viewer = itemId;\r\n        this.dispatch(push(ioQuery.objectToQuery(hashParams)));\r\n    }\r\n\r\n    private showFullscreen(itemId: string) {\r\n        const { hash } = this.props.router;\r\n        const hashParams = ioQuery.queryToObject(hash);\r\n        hashParams.viewer = itemId;\r\n        hashParams.fullscreen = true;\r\n        this.dispatch(push(ioQuery.objectToQuery(hashParams)));\r\n    }\r\n}\r\n\r\nfunction splitToPages(items: __Component.Pojo, perPage: number) {\r\n    return items.reduce((result: __Component.Pojo[][], item: __Component.Pojo) => {\r\n        if (result[result.length - 1].length < perPage) {\r\n            result[result.length - 1].push(item);\r\n        } else {\r\n            result.push([item]);\r\n        }\r\n        return result;\r\n    }, [[]]);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Gallery/index.tsx","import Component from \"../../../../Component\";\r\nimport Caption from \"./Caption\";\r\n\r\nimport { showInViewer, showFullscreen, mouseOver, mouseOut } from \"./_actions\";\r\n\r\nimport { PanelState } from \"./_reducers\";\r\nexport { PanelState, reducers } from \"./_reducers\";\r\n\r\ninterface ComponentState {\r\n  panelType: string;\r\n  itemLink?: HTMLElement;\r\n}\r\n\r\nexport default class Panel extends Component<PanelState, ComponentState> {\r\n  constructor(store: __Component.Store) {\r\n    super(store);\r\n\r\n    this.state = {\r\n      panelType: this.props.getPanelType(this.props.item.type),\r\n    };\r\n\r\n    this.handleMouseOver = this.handleMouseOver.bind(this);\r\n    this.handleMouseOut = this.handleMouseOut.bind(this);\r\n    this.handleItemKeyPress = this.handleItemKeyPress.bind(this);\r\n    this.handleItemClick = this.handleItemClick.bind(this);\r\n    this.handleMaxClick = this.handleMaxClick.bind(this);\r\n    this.registerItemLink = this.registerItemLink.bind(this);\r\n  }\r\n\r\n  public render() {\r\n    const tsx = this.tsx;\r\n    const i18n = this.props.i18n;\r\n    const config = this.props.applicationBaseResult.config;\r\n\r\n    const author = config.showAuthor ? (\r\n      <p class=\"font-size--1 card-last hug-bottom author-text\" key={`${this.props.item.title}-author`}>\r\n        {this.props.item.owner}\r\n      </p>\r\n    ) : null;\r\n\r\n    let tooltipSnippet;\r\n    if (config.showSummaryTooltip) {\r\n      tooltipSnippet = this.props.item.snippet ? this.props.item.snippet : null;\r\n      if (tooltipSnippet && tooltipSnippet.length > config.tooltipTruncLength) {\r\n        tooltipSnippet = tooltipSnippet.slice(0, config.tooltipTruncLength) + \"...\";\r\n      }\r\n    }\r\n\r\n    let cardSnippet;\r\n    let summaryElement;\r\n    if (config.showItemSummary) {\r\n      cardSnippet = this.props.item.snippet ? this.props.item.snippet : null;\r\n      if (cardSnippet && cardSnippet.length > config.summaryTruncLength) {\r\n        cardSnippet = cardSnippet.slice(0, config.summaryTruncLength) + \"...\";\r\n      }\r\n      summaryElement = <p class=\"item-description-text\">{cardSnippet}</p>;\r\n    }\r\n\r\n    let itemPageLink;\r\n    if (config.showItemPageLink) {\r\n      itemPageLink = (\r\n        <a\r\n          class=\"open-out-icon btn btn-transparent toolbar-tooltip\"\r\n          aria-label={tooltipSnippet ? tooltipSnippet : i18n.ui.itemExtTip}\r\n          href={`${this.props.applicationBaseResult.portal.url}/home/item.html?id=${this.props.item.id}`}\r\n          style={`color: ${config.buttonBgColor}`}\r\n          key={`${this.props.item.title}-info-icon`}\r\n          tabindex=\"0\"\r\n          target={this.props.applicationBaseResult.config.openItemDetailsSeparateTab ? \"_blank\" : \"\"}\r\n        >\r\n          <svg\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            width=\"32\"\r\n            height=\"32\"\r\n            viewBox=\"0 0 32 32\"\r\n            style={`\r\n                            fill: #0079c1;\r\n                            pointer-events: none;\r\n                            display: inline-block;\r\n                            width: 1em;\r\n                            height: 1em;\r\n                            vertical-align: -0.15em;\r\n                            padding-right: .15em;\r\n                        `}\r\n          >\r\n            <path\r\n              d=\"M31.297 16.047c0 8.428-6.826 15.25-15.25 15.25S.797 24.475.797 16.047c0-8.424 6.826-15.25 15.25-15.25s15.25 6.826 15.25 15.25zM18 24V12h-4v12h-2v2h8v-2h-2zm0-18h-4v4h4V6z\"\r\n            />\r\n          </svg>\r\n        </a>\r\n      );\r\n    }\r\n\r\n    let maxLink;\r\n\r\n    if (this.props.itemType !== \"file\" && !config.alwaysOpenFullscreen) {\r\n      maxLink = (\r\n        <a\r\n          class=\"open-out-icon btn btn-transparent toolbar-tooltip\"\r\n          aria-label={i18n.ui[`${this.state.panelType}ExtTip`]}\r\n          style={`color: ${config.buttonBgColor}`}\r\n          key={`${this.props.item.title}-open-out-icon`}\r\n          href={\r\n            this.props.itemType === \"webapp\" ?\r\n              this.props.item.url :\r\n              `${window.location.origin}${window.location.pathname}${window.location.search}#viewer=${this.props.item.id}&fullscreen=true`\r\n\r\n          }\r\n          target={this.props.applicationBaseResult.config.openFullscreenSeparateTab ? \"_blank\" : \"\"}\r\n          tabindex=\"0\"\r\n        >\r\n          <svg\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            width=\"32\"\r\n            height=\"32\"\r\n            viewBox=\"0 0 32 32\"\r\n            style={`\r\n                            fill: #0079c1;\r\n                            pointer-events: none;\r\n                            display: inline-block;\r\n                            width: 1em;\r\n                            height: 1em;\r\n                            vertical-align: -0.15em;\r\n                            padding-right: .15em;\r\n                        `}\r\n          >\r\n            <path d=\"M2 4v24h28V4H2zm26 22H4V10h24v16z\" />\r\n          </svg>\r\n        </a>\r\n      );\r\n    }\r\n\r\n    let mainTip = this.props.itemType === \"file\" ? i18n.ui.itemExtTip :\r\n      (config.alwaysOpenFullscreen ? i18n.ui[`${this.state.panelType}ExtTip`] : i18n.ui.galleryTip);\r\n    if (this.props.item.type === \"PDF\") {\r\n      mainTip = i18n.ui.pdfTip;\r\n    } else if (\r\n      this.props.item.type === \"Document Link\" &&\r\n      this.props.applicationBaseResult.config.openDocumentLinksDirectly\r\n    ) {\r\n      mainTip = i18n.ui.documentTip;\r\n    }\r\n\r\n    let title;\r\n    if (config.showItemTitle) {\r\n      title = (\r\n        <a\r\n          title={mainTip}\r\n          style={`color: ${config.linkColor}`}\r\n          class=\"break-word\"\r\n          onclick={this.handleItemClick}\r\n          onkeypress={this.handleItemKeyPress}\r\n        >\r\n          <h5 tabindex=\"0\" class=\"clickable\">\r\n            {this.props.item.title}\r\n          </h5>\r\n        </a>\r\n      );\r\n    }\r\n\r\n    return (\r\n      <div\r\n        class=\"card block trailer-1 animate-fade-in card-fade\"\r\n        style={`background-color: ${config.cardColor}; z-index: 1`}\r\n        key={`${this.props.item.id}-div`}\r\n      >\r\n        <figure class=\"card-image-wrap\">\r\n          <a\r\n            title={mainTip}\r\n            role=\"link\"\r\n            tabindex=\"0\"\r\n            onclick={this.handleItemClick}\r\n            onkeypress={this.handleItemKeyPress}\r\n            afterCreate={this.registerItemLink}\r\n          >\r\n            <img\r\n              key={`${this.props.item.id}-thumbnail`}\r\n              class=\"card-image clickable thumbnail-min\"\r\n              src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"\r\n              alt={this.props.item.title}\r\n              onmouseover={this.handleMouseOver}\r\n              onmouseout={this.handleMouseOut}\r\n              style={`\r\n                                background-image: url(${this.props.item.thumbnailUrl});\r\n                                background-repeat: no-repeat;\r\n                                background-size: cover;\r\n                            `}\r\n            />\r\n          </a>\r\n          <Caption key=\"card-caption\" />\r\n        </figure>\r\n        <div class=\"card-content\" style={`color: ${config.fontColor}`}>\r\n          {title}\r\n          {summaryElement}\r\n          {author}\r\n          <div class=\"open-out-container\">\r\n            {itemPageLink}\r\n            {maxLink}\r\n          </div>\r\n        </div>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  public componentWillReceiveProps(nextProps: PanelState) {\r\n    if (\r\n      !nextProps.activeViewer &&\r\n      this.props.activeViewer &&\r\n      this.state.itemLink &&\r\n      this.props.activeViewer === this.props.item.id\r\n    ) {\r\n      this.state.itemLink.focus();\r\n    }\r\n  }\r\n\r\n  private registerItemLink(itemLink: HTMLElement) {\r\n    this.setState({ itemLink });\r\n  }\r\n\r\n  private handleMouseOver() {\r\n    this.dispatch(mouseOver());\r\n  }\r\n\r\n  private handleMouseOut() {\r\n    this.dispatch(mouseOut());\r\n  }\r\n\r\n  private handleItemKeyPress(e: KeyboardEvent) {\r\n    if (e.key === \"Enter\") {\r\n      this.handleItemClick();\r\n    }\r\n  }\r\n\r\n  private handleItemClick() {\r\n    if (\r\n      this.props.item.type === \"Document Link\" &&\r\n      this.props.applicationBaseResult.config.openDocumentLinksDirectly\r\n    ) {\r\n      window.open(this.props.item.url);\r\n    } else if (this.props.item.type === \"PDF\") {\r\n      window.open(\r\n        `${this.props.item.itemUrl}/data${\r\n        this.props.portal[\"credential\"] ?\r\n          `?token=${this.props.portal[\"credential\"].token}` : \"\"\r\n        }`\r\n      );\r\n    } else if (this.props.itemType === \"file\") {\r\n      window.open(\r\n        `${this.props.applicationBaseResult.portal.url}/home/item.html?id=${this.props.item.id}`,\r\n        \"_blank\"\r\n      );\r\n    } else {\r\n      if (this.props.applicationBaseResult.config.alwaysOpenFullscreen) {\r\n        this.handleMaxClick();\r\n      } else {\r\n        this.dispatch(showInViewer());\r\n      }\r\n    }\r\n  }\r\n\r\n  private handleMaxClick() {\r\n    if (this.props.applicationBaseResult.config.openFullscreenSeparateTab) {\r\n      if (this.props.itemType === \"webapp\") {\r\n        window.open(this.props.item.url, \"_blank\");\r\n      } else {\r\n        window.open(\r\n          `${window.location.origin}${window.location.pathname}${window.location.search}#viewer=${this.props.item.id}&fullscreen=true`,\r\n          \"_blank\"\r\n        );\r\n      }\r\n    } else {\r\n      if (this.props.itemType === \"webapp\") {\r\n        window.location.href = this.props.item.url;\r\n      } else {\r\n        this.dispatch(showFullscreen());\r\n      }\r\n    }\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Gallery/Panel/index.tsx","import Component from \"../../../../Component\";\r\nimport { PanelState } from \".\";\r\n\r\ninterface ComponentState {\r\n    captionBelowOpacity: number;\r\n    captionOpacity: number;\r\n    captionTransform: number;\r\n    panelType: string;\r\n}\r\n\r\nexport default class Caption extends Component<PanelState, ComponentState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n\r\n        this.state = {\r\n            captionBelowOpacity: 0.8,\r\n            captionOpacity: 1,\r\n            captionTransform: 0,\r\n            panelType: this.props.getPanelType(this.props.item.type)\r\n        };\r\n    }\r\n\r\n    public render() {\r\n        const tsx = this.tsx;\r\n        const config = this.props.applicationBaseResult.config;\r\n\r\n        if (config.showItemType) {\r\n            if (config.itemTypeBelowThumbnail) {\r\n                return (\r\n                    <div\r\n                        class=\"card-below-image-caption\"\r\n                        style={`\r\n                            opacity: ${this.state.captionBelowOpacity};\r\n                            background-color: ${convertHex(config[`${this.state.panelType}CaptionColor`], 80)};\r\n                            color: ${config.captionTextColor};\r\n                        `}\r\n                    >\r\n                        {this.props.item.displayName}\r\n                    </div>\r\n                );\r\n            } else {\r\n                return (\r\n                    <div\r\n                        class=\"card-image-caption\"\r\n                        style={`\r\n                            opacity: ${this.state.captionOpacity};\r\n                            transform: translate(0, ${this.state.captionTransform}%);\r\n                            background-color: ${convertHex(config[`${this.state.panelType}CaptionColor`], 80)};\r\n                            color: ${config.captionTextColor};\r\n                        `}\r\n                    >\r\n                        {this.props.item.displayName}\r\n                    </div>\r\n                );\r\n            }\r\n        }\r\n\r\n        return null;\r\n    }\r\n\r\n    public componentWillReceiveProps(nextProps: PanelState) {\r\n        if (nextProps.hovering !== this.props.hovering) {\r\n            this.setState({\r\n                captionBelowOpacity: nextProps.hovering ? 1 : 0.8,\r\n                captionOpacity: nextProps.hovering ? 0 : 1,\r\n                captionTransform: nextProps.hovering ? 100 : 0\r\n            });\r\n        }\r\n    }\r\n}\r\n\r\nfunction convertHex( hex: string, opacity: number ) {\r\n    hex = hex.replace(\"#\", \"\");\r\n    const r = parseInt(hex.substring(0, 2), 16);\r\n    const g = parseInt(hex.substring(2, 4), 16);\r\n    const b = parseInt(hex.substring(4, 6), 16);\r\n    const result = `rgba(${r},${g},${b},${opacity / 100})`;\r\n    return result;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Gallery/Panel/Caption.tsx","import { combineReducers } from \"../../../../../Component\";\r\nimport { MOUSE_OVER, MOUSE_OUT, VIEWER_CHANGE } from \"../_actions\";\r\n\r\nexport interface PanelState {\r\n  applicationBaseResult: __esriApplicationBase.ApplicationConfig;\r\n  i18n: __Component.Pojo;\r\n  item: __Component.Pojo;\r\n  hovering: boolean;\r\n  getPanelType: (itemType: string) => string;\r\n  itemType: string;\r\n  portal: __esri.Portal;\r\n  activeViewer?: string;\r\n}\r\n\r\nconst applicationBaseResult = (state: __esriApplicationBase.ApplicationConfig = {}) => state;\r\nconst i18n = (state: __Component.Pojo = {}) => state;\r\nconst item = (state: __Component.Pojo = {}) => state;\r\nconst itemType = (state: string = \"file\") => state;\r\nconst portal = (state: __Component.Pojo = {}) => state;\r\n\r\nconst getPanelType = (\r\n  state: (itemType: string) => string = (type: string) => {\r\n    const recognizedTypes = {\r\n      \"Web Mapping Application\": \"app\",\r\n      \"Web Map\": \"map\",\r\n      \"Web Scene\": \"scene\",\r\n      \"Dashboard\": \"app\",\r\n      \"Application\": \"app\"\r\n    };\r\n    if (recognizedTypes[type]) { return recognizedTypes[type]; }\r\n    return \"file\";\r\n  }\r\n) => state;\r\n\r\nconst hovering = (state: boolean = false, action: { type: string, payload: any }) => {\r\n  switch (action.type) {\r\n    case MOUSE_OVER:\r\n      return true;\r\n    case MOUSE_OUT:\r\n      return false;\r\n    default:\r\n      return state;\r\n  }\r\n};\r\n\r\nconst activeViewer = (state: string, action: { type: string, payload: any }) => {\r\n  switch (action.type) {\r\n    case VIEWER_CHANGE:\r\n      return action.payload;\r\n    default:\r\n      return state;\r\n  }\r\n};\r\n\r\nexport const reducers = combineReducers({\r\n  applicationBaseResult,\r\n  i18n,\r\n  item,\r\n  hovering,\r\n  getPanelType,\r\n  itemType,\r\n  activeViewer,\r\n  portal\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Gallery/Panel/_reducers/index.ts","import * as ioQuery from \"dojo/io-query\";\r\nimport Component from \"../../../Component\";\r\nimport { push } from \"../_actions\";\r\n\r\nimport { MinimalGalleryState } from \"..\";\r\nimport { AppView, MapView, SceneView } from \"./View\";\r\nimport convertHex from \"../_utilities/convertHex\";\r\nimport supportedItemTypes from \"../_utilities/supportedItemTypes\";\r\n\r\ninterface ComponentState {\r\n    containerClasses: {\r\n        \"animate-fade-in\": boolean;\r\n        \"animate-fade-out\": boolean;\r\n    };\r\n    scrollY: number;\r\n}\r\n\r\nexport default class Viewer extends Component<MinimalGalleryState, ComponentState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n\r\n        this.state = {\r\n            containerClasses: {\r\n                \"animate-fade-in\": true,\r\n                \"animate-fade-out\": false\r\n            },\r\n            scrollY: 0\r\n        };\r\n\r\n        this.handleExitKeyPress = this.handleExitKeyPress.bind(this);\r\n        this.handleExitClick = this.handleExitClick.bind(this);\r\n        this.closeViewer = this.closeViewer.bind(this);\r\n    }\r\n\r\n    public render() {\r\n        const tsx = this.tsx;\r\n        const i18n = this.props.base.i18n;\r\n        const config = this.props.base.applicationBaseResult.config;\r\n        const item = this.props.items.viewerItem;\r\n\r\n        if (this.props.viewer.visible && !!item.id) {\r\n            const viewType = supportedItemTypes[item.type];\r\n            let view;\r\n            if (viewType === \"webmap\") {\r\n                view = <MapView key={item.id} />;\r\n            } else if (viewType === \"webscene\") {\r\n                view = <SceneView key={item.id} />;\r\n            } else if (viewType === \"webapp\") {\r\n                view = <AppView key={item.id} />;\r\n            } else {\r\n                return null;\r\n            }\r\n\r\n            if (this.props.viewer.fullscreen) {\r\n                return (\r\n                    <div id=\"map-container\" class=\"map-container fullscreen\" key={`map-container-fullscreen-${item.id}`}>\r\n                        {view}\r\n                    </div>\r\n                );\r\n            }\r\n            return (\r\n                <div\r\n                    id=\"view-container\"\r\n                    key=\"view-container\"\r\n                    classes={this.state.containerClasses}\r\n                    style={`background-color: ${convertHex(config.bgColor, 85)};`}\r\n                >\r\n                    <div id=\"map-container\" class=\"map-container\" key={`map-container-${item.id}`}>\r\n                        {view}\r\n                    </div>\r\n                    <button\r\n                        class=\"btn btn-clear view-exit-button clickable\"\r\n                        onclick={this.handleExitClick}\r\n                        onkeypress={this.handleExitKeyPress}\r\n                        title={i18n.ui.close}\r\n                        afterCreate={this.focus}\r\n                    >\r\n                        <span class=\"view-exit-icon\">\r\n                            <svg\r\n                                xmlns=\"http://www.w3.org/2000/svg\"\r\n                                width=\"32\"\r\n                                height=\"32\"\r\n                                viewBox=\"0 0 32 32\"\r\n                            >\r\n                                <path\r\n                                    d=\"M18.404 16l9.9 9.9-2.404 2.404-9.9-9.9-9.9 9.9L3.696 25.9l9.9-9.9-9.9-9.898L6.1 3.698l9.9 9.899 9.9-9.9 2.404 2.406-9.9 9.898z\"\r\n                                />\r\n                            </svg>\r\n                        </span>\r\n                    </button>\r\n                </div>\r\n            );\r\n        }\r\n        return null;\r\n    }\r\n\r\n    public componentWillReceiveProps(nextProps: MinimalGalleryState) {\r\n        if (!this.props.viewer.visible && nextProps.viewer.visible) {\r\n            this.setState({ scrollY: window.scrollY });\r\n        }\r\n        if (this.props.viewer.visible && !nextProps.viewer.visible) {\r\n            this.childComponents = {};\r\n        }\r\n    }\r\n\r\n    private focus(el: HTMLElement) {\r\n        setTimeout(() => {\r\n            el.focus();\r\n        }, 10);\r\n    }\r\n\r\n    private handleExitKeyPress(e: KeyboardEvent) {\r\n        if (e.key === \"Enter\") {\r\n            this.handleExitClick();\r\n        }\r\n    }\r\n\r\n    private handleExitClick() {\r\n        this.setState({\r\n            containerClasses: {\r\n                \"animate-fade-in\": false,\r\n                \"animate-fade-out\": true\r\n            }\r\n        });\r\n        setTimeout(() => {\r\n            this.closeViewer();\r\n            this.setState({\r\n                containerClasses: {\r\n                    \"animate-fade-in\": true,\r\n                    \"animate-fade-out\": false\r\n                }\r\n            });\r\n        }, 750);\r\n    }\r\n\r\n    private closeViewer() {\r\n        const { hash } = this.props.router;\r\n        const hashParams = ioQuery.queryToObject(hash);\r\n        delete hashParams.viewer;\r\n        this.dispatch(push(ioQuery.objectToQuery(hashParams)));\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Viewer/index.tsx","export { MapView } from \"./MapView\";\r\nexport { AppView } from \"./AppView\";\r\nexport { SceneView } from \"./SceneView\";\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Viewer/View/index.tsx","import Component from \"../../../../Component\";\r\nimport { MinimalGalleryState } from \"../..\";\r\n\r\nimport ViewBase, { reducers } from \"./ViewBase\";\r\n\r\nexport class MapView extends Component<MinimalGalleryState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n    }\r\n\r\n    render() {\r\n        const tsx = this.tsx;\r\n        const config = this.props.base.applicationBaseResult.config;\r\n\r\n        return (\r\n            <ViewBase\r\n                key=\"map-view\"\r\n                store={{\r\n                    reducers,\r\n                    initialState: {\r\n                        config,\r\n                        i18n: this.props.base.i18n,\r\n                        id: this.props.items.viewerItem.id,\r\n                        widgets: Object.keys(config)\r\n                            .filter((key: string) => key.indexOf(\"Widget\") !== -1)\r\n                            .reduce((result: __Component.Pojo, key: string) => {\r\n                                return { ...result, [key]: config[key] };\r\n                            }, {}),\r\n                        viewModule: \"esri/views/MapView\",\r\n                        webModule: \"esri/WebMap\",\r\n                        containerId: \"map-container\"\r\n                    }\r\n                }}\r\n            />\r\n        );\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Viewer/View/MapView.tsx","/** All state params must be provided to view */\r\nexport interface ViewState {\r\n    config: __Component.Pojo;\r\n    i18n: __Component.Pojo;\r\n    id: string;\r\n    widgets: {\r\n        [propName: string]: string;\r\n    };\r\n    viewModule: string;\r\n    webModule: string;\r\n    containerId: string;\r\n}\r\n\r\nconst initialState = {\r\n    config: {},\r\n    i18n: {},\r\n    id: \"\",\r\n    widgets: {},\r\n    viewModule: \"\",\r\n    webModule: \"\",\r\n    containerId: \"map-container\"\r\n};\r\n\r\nexport const reducers = (state: ViewState = initialState, action: __Component.Action) => state;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Viewer/View/ViewBase/_reducers/index.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_39__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"esri/core/requireUtils\"\n// module id = 39\n// module chunks = 0","import Component from \"../../../../Component\";\r\nimport { MinimalGalleryState } from \"../..\";\r\n\r\nexport class AppView extends Component<MinimalGalleryState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n    }\r\n\r\n    render() {\r\n        const tsx = this.tsx;\r\n\r\n        return (\r\n            <iframe\r\n                src={this.props.items.viewerItem.url}\r\n                class=\"app-frame\"\r\n                id=\"embedded-mapping-application-iframe\"\r\n                name=\"nested-iframe\"\r\n            >\r\n                <h3 class=\"center-style\">{this.props.base.i18n.viewLoading.iframe}</h3>\r\n            </iframe>\r\n        );\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Viewer/View/AppView.tsx","import Component from \"../../../../Component\";\r\nimport { MinimalGalleryState } from \"../..\";\r\n\r\nimport ViewBase, { reducers } from \"./ViewBase\";\r\n\r\nexport class SceneView extends Component<MinimalGalleryState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n    }\r\n\r\n    render() {\r\n        const tsx = this.tsx;\r\n        const config = this.props.base.applicationBaseResult.config;\r\n\r\n        return (\r\n            <ViewBase\r\n                key=\"map-view\"\r\n                store={{\r\n                    reducers,\r\n                    initialState: {\r\n                        config,\r\n                        i18n: this.props.base.i18n,\r\n                        id: this.props.items.viewerItem.id,\r\n                        widgets: Object.keys(config)\r\n                            .filter((key: string) => key.indexOf(\"Widget\") !== -1)\r\n                            .reduce((result: __Component.Pojo, key: string) => {\r\n                                return { ...result, [key]: config[key] };\r\n                            }, {}),\r\n                        viewModule: \"esri/views/SceneView\",\r\n                        webModule: \"esri/WebScene\",\r\n                        containerId: \"map-container\"\r\n                    }\r\n                }}\r\n            />\r\n        );\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Viewer/View/SceneView.tsx","export default (hex: string, opacity: number) => {\r\n    hex = hex.replace(\"#\", \"\");\r\n    const r = parseInt(hex.substring(0, 2), 16);\r\n    const g = parseInt(hex.substring(2, 4), 16);\r\n    const b = parseInt(hex.substring(4, 6), 16);\r\n    const result = `rgba(${r},${g},${b},${opacity / 100})`;\r\n    return result;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_utilities/convertHex.ts","import * as ioQuery from \"dojo/io-query\";\r\nimport Component from \"../../Component\";\r\nimport { MinimalGalleryState } from \".\";\r\nimport { push } from \"./_actions\";\r\n\r\nexport default class Pager extends Component<MinimalGalleryState> {\r\n    constructor(store: __Component.Store) {\r\n        super(store);\r\n\r\n        this.handleNext = this.handleNext.bind(this);\r\n        this.handlePrevious = this.handlePrevious.bind(this);\r\n        this.handlePageButton = this.handlePageButton.bind(this);\r\n        this.handlePage = this.handlePage.bind(this);\r\n    }\r\n\r\n    public render() {\r\n        const tsx = this.tsx;\r\n        const config = this.props.base.applicationBaseResult.config;\r\n        const displayItems = this.props.items.filteredItems;\r\n\r\n        const pages = Math.ceil(displayItems.length / config.itemsPerPage);\r\n        //No pager rendered if only a single page\r\n        if (pages <= 1) {\r\n            return;\r\n        }\r\n\r\n        const prevButtonClasses = {\r\n            \"btn\": true,\r\n            \"btn-disabled\": this.props.page <= 1,\r\n            \"btn-transparent\": true\r\n        };\r\n\r\n        const nextButtonClasses = {\r\n            \"btn\": true,\r\n            \"btn-arrow\": true,\r\n            \"btn-disabled\": this.props.page >= pages,\r\n            \"btn-transparent\": true\r\n        };\r\n\r\n        const pageButtons = Array.apply(null, Array(pages)).map((v: any, i: number) => {\r\n            const isActive = this.props.page === i + 1;\r\n            return (\r\n                <a\r\n                    id={`page-${i + 1}-button`}\r\n                    title={`page-${i + 1}`}\r\n                    class={`btn${!isActive ? \" btn-transparent\" : \"\"}`}\r\n                    onclick={this.handlePageButton}\r\n                    role=\"link\"\r\n                    tabindex=\"0\"\r\n                    style={`\r\n                        color: ${isActive ? config.buttonTextColor : config.buttonBgColor};\r\n                        background-color: ${isActive ? config.buttonBgColor : null};\r\n                        border: ${isActive ? `1px solid ${config.buttonBgColor}` : \"none\"}\r\n                    `}\r\n                    key={`page-button-${i + 1}-${this.props.items.displayKey}`}\r\n                >\r\n                    {i + 1}\r\n                </a>\r\n            );\r\n        });\r\n\r\n        return (\r\n            <div class=\"text-center trailer-1 leader-1\" key=\"pager\">\r\n                <a\r\n                    id=\"previous\"\r\n                    title=\"previous\"\r\n                    classes={prevButtonClasses}\r\n                    role=\"link\"\r\n                    tabindex=\"0\"\r\n                    style={`color:${config.buttonBgColor};`}\r\n                    key=\"previous-button\"\r\n                    onclick={this.handlePrevious}\r\n                >\r\n                    Previous\r\n                </a>\r\n                    {pageButtons}\r\n                <a\r\n                    id=\"next\"\r\n                    title=\"next\"\r\n                    classes={nextButtonClasses}\r\n                    role=\"link\"\r\n                    tabindex=\"0\"\r\n                    style={`color:${config.buttonBgColor};`}\r\n                    key=\"next-button\"\r\n                    onclick={this.handleNext}\r\n                >\r\n                    Next\r\n                </a>\r\n            </div>\r\n        );\r\n    }\r\n\r\n    private handleNext() {\r\n        this.handlePage(this.props.page + 1);\r\n    }\r\n\r\n    private handlePrevious() {\r\n        this.handlePage(this.props.page - 1);\r\n    }\r\n\r\n    private handlePageButton(e: any) {\r\n        this.handlePage(e.target.text);\r\n    }\r\n\r\n    private handlePage(page: number) {\r\n        const { hash } = this.props.router;\r\n        const hashParams = ioQuery.queryToObject(hash);\r\n        if (page > 1) {\r\n            hashParams.page = page;\r\n        } else {\r\n            if (hashParams.page) {\r\n                delete hashParams.page;\r\n            }\r\n        }\r\n        this.dispatch(push(ioQuery.objectToQuery(hashParams)));\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/Pager.tsx","import { combineReducers } from \"../../../Component\";\r\n\r\nimport base, { BaseState } from \"./base\";\r\nimport items, { ItemsState } from \"./items\";\r\nimport router, { RouterState } from \"./router\";\r\nimport filter, { FilterState } from \"./filter\";\r\nimport page, { PageState } from \"./page\";\r\nimport viewer, { ViewerState } from \"./viewer\";\r\n\r\nexport interface MinimalGalleryState {\r\n    base: BaseState;\r\n    items: ItemsState;\r\n    router: RouterState;\r\n    filter: FilterState;\r\n    page: PageState;\r\n    viewer: ViewerState;\r\n}\r\n\r\nexport const reducers = combineReducers({\r\n    base,\r\n    items,\r\n    router,\r\n    filter,\r\n    page,\r\n    viewer\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_reducers/index.ts","import { MinimalGalleryState } from \".\";\r\nimport { SAVE_APP_BASE_RESULT, LOAD_APP_FAIL, LOAD_APP_PROGRESS, LOAD_APP_SUCCESS } from \"../_actions\";\r\nimport { AUTHENTICATION_FAILED } from \"../_actions/base\";\r\n\r\nexport interface BaseState {\r\n    applicationBase: __esriApplicationBase.ApplicationBase;\r\n    applicationBaseResult: __esriApplicationBase.ApplicationConfig;\r\n    i18n: __Component.Pojo;\r\n    status: string;\r\n    loadMessage: string;\r\n}\r\n\r\nexport default (state: MinimalGalleryState[\"base\"], action: { type: string, payload: any }): MinimalGalleryState[\"base\"] => {\r\n    switch (action.type) {\r\n        case SAVE_APP_BASE_RESULT:\r\n            const perPage = parseInt(action.payload.config.itemsPerPage, 10);\r\n            state.applicationBase.portal = action.payload.portal;\r\n            return {\r\n                ...state,\r\n                loadMessage: \"groupItems\",\r\n                applicationBaseResult: {\r\n                    ...action.payload,\r\n                    config: {\r\n                        ...action.payload.config,\r\n                        itemsPerPage: !isNaN(perPage) && perPage > 0 ? perPage : 20\r\n                    }\r\n                }\r\n            };\r\n        case LOAD_APP_FAIL:\r\n            return {\r\n                ...state,\r\n                status: \"failed\"\r\n            };\r\n        case LOAD_APP_PROGRESS:\r\n            return {\r\n                ...state,\r\n                loadMessage: action.payload\r\n            };\r\n        case LOAD_APP_SUCCESS:\r\n            return {\r\n                ...state,\r\n                status: \"success\"\r\n            };\r\n        case AUTHENTICATION_FAILED:\r\n            return {\r\n                ...state,\r\n                status: \"noauth\"\r\n            };\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_reducers/base.ts","import * as ioQuery from \"dojo/io-query\";\r\nimport { UPDATE_ITEMS, FILTER_ITEMS, HASH_CHANGE, SAVE_APP_BASE_RESULT } from \"../_actions\";\r\n\r\nexport interface ItemsState {\r\n    allowedItemTypes: { [type: string]: boolean };\r\n    allItems: __Component.Pojo[];\r\n    filteredItems: __Component.Pojo[];\r\n    displayKey: string;\r\n    viewerItem: __Component.Pojo;\r\n} \r\n\r\nconst initialState: ItemsState = {\r\n    allowedItemTypes: {},\r\n    allItems: [],\r\n    filteredItems: [],\r\n    displayKey: \"\",\r\n    viewerItem: {}\r\n};\r\n\r\nexport default (state: ItemsState = initialState, action: { type: string, payload: any }): ItemsState => {\r\n    switch (action.type) {\r\n        case SAVE_APP_BASE_RESULT:\r\n            const itemTypes = !!action.payload.config.itemTypes && action.payload.config.itemTypes.length > 0 ?\r\n                action.payload.config.itemTypes :\r\n                \"WMS, Web Map, CityEngine Web Scene, Web Scene, 360 VR Experience, Pro Map, Feature Service, Map Service, Image Service, KML, KML Collection, WFS, WMTS, Feature Collection, Feature Collection Template, Vector Tile Service, Scene Service, Relational Database Connection, Web Mapping Application, Mobile Application, Code Attachment, Operations Dashboard Add In, Native Application, Native Application Template, Native Application Installer, Workforce Project, Form, Insights Workbook, Insights Model, Insights Page, Dashboard, Hub Initiative, Hub Site Application, Hub Page, AppBuilder Widget Package, Symbol Set, Color Set, Shapefile, File Geodatabase, CSV, CAD Drawing, Service Definition, Microsoft Word, Microsoft Powerpoint, Microsoft Excel, PDF, Image, Visio Document, iWork Keynote, iWork Pages, iWork Numbers, Report Template, Statistical Data Collection, Map Document, Map Package, Mobile Basemap Package, Mobile Map Package, Tile Package, Vector Tile Package, Project Package, Task File, ArcPad Package, Explorer Map, Globe Document, Scene Document, Published Map, Map Template, Windows Mobile Package, Pro Map, Layout, Project Template, Layer, Layer, Layer Package, Explorer Layer, Scene Package, Image Collection, Desktop Style, Geoprocessing Package, Geoprocessing Package (Pro version), Geoprocessing Sample, Locator Package, Rule Package, Raster function template, ArcGIS Pro Configuration, Workflow Manager Package, Desktop Application, Desktop Application Template, Code Sample, Desktop Add In, Explorer Add In, ArcGIS Pro Add In, Geometry Service, Geocoding Service, Network Analysis Service, Geoprocessing Service, Workflow Manager Service, Document Link\";\r\n            return {\r\n                ...state,\r\n                allowedItemTypes: itemTypes.split(\",\")\r\n                    .map((type: string) => type.trim())\r\n                    .reduce((r: ItemsState[\"allowedItemTypes\"], c: string) => {\r\n                        r[c] = true;\r\n                        return r;\r\n                    }, {})\r\n            };\r\n        case UPDATE_ITEMS:\r\n            return {\r\n                ...state,\r\n                allItems: action.payload\r\n            };\r\n        case HASH_CHANGE:\r\n            const hashParams = ioQuery.queryToObject(action.payload);\r\n            if (hashParams.viewer) {\r\n                const viewerItem = state.allItems.filter((item) => item.id === hashParams.viewer)[0];\r\n                return {\r\n                    ...state,\r\n                    viewerItem: viewerItem ? viewerItem : {},\r\n                    filteredItems: filterItems(\r\n                        state.allItems,\r\n                        hashParams.query ? hashParams.query : \"\",\r\n                        state.allowedItemTypes\r\n                    ),\r\n                    displayKey: Math.random().toString(36).substring(7)\r\n                };\r\n            }\r\n            return {\r\n                ...state,\r\n                filteredItems: filterItems(\r\n                    state.allItems,\r\n                    hashParams.query ? hashParams.query : \"\",\r\n                    state.allowedItemTypes\r\n                ),\r\n                displayKey: Math.random().toString(36).substring(7)\r\n            };\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\r\nfunction filterItems(items: __Component.Pojo[], filter: string, allowedItemTypes: ItemsState[\"allowedItemTypes\"]) {\r\n    return items.filter((item: __Component.Pojo) => (\r\n        allowedItemTypes[item.type] && (\r\n            item.title.toLowerCase().indexOf(filter) !== -1 ||\r\n            item.type.toLowerCase().indexOf(filter) !== -1 ||\r\n            item.owner.toLowerCase().indexOf(filter) !== -1 ||\r\n            (item.tags && item.tags.map((tag: string) => tag.toLowerCase()).indexOf(filter) !== -1) ||\r\n            (item.description && item.description.indexOf(filter) !== -1) ||\r\n            (item.snippet && item.snippet.indexOf(filter) !== -1)\r\n        )\r\n    ));\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_reducers/items.ts","import { HASH_CHANGE } from \"../_actions\";\r\n\r\nexport interface RouterState {\r\n    hash: string;\r\n}\r\n\r\nconst initialState = {\r\n    hash: \"\"\r\n};\r\n\r\nexport default (state: RouterState = initialState, action: __Component.Action) => {\r\n    switch (action.type) {\r\n        case HASH_CHANGE:\r\n            return {\r\n                ...state,\r\n                hash: action.payload\r\n            };\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_reducers/router.ts","import * as ioQuery from \"dojo/io-query\";\r\nimport { HASH_CHANGE } from \"../_actions\";\r\n\r\nexport type FilterState = string;\r\n\r\nexport default (state: FilterState = \"\", action: __Component.Action): FilterState => {\r\n    switch (action.type) {\r\n        case HASH_CHANGE:\r\n            const hashParams = ioQuery.queryToObject(action.payload);\r\n            return (hashParams.query ? hashParams.query : \"\");\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_reducers/filter.ts","import * as ioQuery from \"dojo/io-query\";\r\nimport { HASH_CHANGE } from \"../_actions\";\r\n\r\nexport type PageState = number;\r\n\r\nexport default (state: PageState = 1, action: __Component.Action): PageState => {\r\n    switch (action.type) {\r\n        case HASH_CHANGE:\r\n            const hashParams = ioQuery.queryToObject(action.payload);\r\n            if (hashParams.page) {\r\n                return parseInt(hashParams.page, 10);\r\n            }\r\n            return 1;\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_reducers/page.ts","import * as ioQuery from \"dojo/io-query\";\r\nimport { HASH_CHANGE } from \"../_actions\";\r\n\r\nexport interface ViewerState {\r\n    visible: boolean;\r\n    fullscreen: boolean; \r\n}\r\n\r\nconst initialState: ViewerState = {\r\n    visible: false,\r\n    fullscreen: false\r\n};\r\n\r\nexport default (state: ViewerState = initialState, action: __Component.Action) => {\r\n    switch (action.type) {\r\n        case HASH_CHANGE:\r\n            const hashParams = ioQuery.queryToObject(action.payload);\r\n            if (hashParams.viewer) {\r\n                return {\r\n                    ...state,\r\n                    visible: true,\r\n                    fullscreen: !!hashParams.fullscreen\r\n                };\r\n            }\r\n            return {\r\n                ...state,\r\n                visible: false,\r\n                fullscreen: false\r\n            };\r\n        default:\r\n            return state;\r\n    }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_reducers/viewer.ts","import { PUSH, hashChange } from \"../_actions\";\r\n\r\nexport const router = () => (next: any) => (action: any) => {\r\n    switch (action.type) {\r\n        case PUSH:\r\n            window.location.hash = action.payload;\r\n            break;\r\n        default:\r\n            return next(action);\r\n    }\r\n};\r\n\r\nexport function startHistoryListener(store: __Component.Store) {\r\n    store.dispatch(hashChange(window.location.hash.slice(1)));\r\n\r\n    window.onhashchange = (event: any) => {\r\n        store.dispatch(hashChange(window.location.hash.slice(1)));\r\n    };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mainApp/MinimalGallery/_utilities/router.ts"],"sourceRoot":""}